From 2c29168307c433a114af7c3a947615bd507a8631 Mon Sep 17 00:00:00 2001 From: Ravi Gohil Date: Thu, 9 Jun 2016 17:01:36 +0530 Subject: [PATCH] [MOV] project: split and restructured files according to new API guidelines - created report/project_cumulative.py for model project.task.history.cumulative that was in project.py - moved project.project kanban view from project_dashboard.xml to project_views.xml, which required moving some menuitems as well so they are available while refering them in other files --- addons/project/__openerp__.py | 5 +- addons/project/models/project.py | 39 ------ addons/project/report/__init__.py | 1 + addons/project/report/project_cumulative.py | 46 +++++++ .../report/project_cumulative_views.xml | 3 - .../project/report/project_report_views.xml | 6 - addons/project/views/project_dashboard.xml | 111 --------------- addons/project/views/project_views.xml | 127 +++++++++++++++++- 8 files changed, 173 insertions(+), 165 deletions(-) create mode 100644 addons/project/report/project_cumulative.py delete mode 100644 addons/project/views/project_dashboard.xml diff --git a/addons/project/__openerp__.py b/addons/project/__openerp__.py index a1aa33ae70d..d9a26448063 100644 --- a/addons/project/__openerp__.py +++ b/addons/project/__openerp__.py @@ -38,13 +38,12 @@ Dashboard / Reports for Project Management will include: 'security/project_security.xml', 'security/ir.model.access.csv', 'data/project_data.xml', - 'views/project_views.xml', - 'views/res_partner_views.xml', 'report/project_report_views.xml', 'report/project_cumulative_views.xml', + 'views/project_views.xml', + 'views/res_partner_views.xml', 'views/res_config_views.xml', 'views/project_templates.xml', - 'views/project_dashboard.xml', 'views/tour_views.xml', 'data/web_planner_data.xml', 'data/project_mail_template_data.xml', diff --git a/addons/project/models/project.py b/addons/project/models/project.py index b87915a3ae5..d852d383241 100644 --- a/addons/project/models/project.py +++ b/addons/project/models/project.py @@ -913,45 +913,6 @@ class project_task_history(osv.osv): 'date': fields.date.context_today, } -class project_task_history_cumulative(osv.osv): - _name = 'project.task.history.cumulative' - _table = 'project_task_history_cumulative' - _inherit = 'project.task.history' - _auto = False - - _columns = { - 'end_date': fields.date('End Date'), - 'nbr_tasks': fields.integer('# of Tasks', readonly=True), - 'project_id': fields.many2one('project.project', 'Project'), - } - - def init(self, cr): - tools.drop_view_if_exists(cr, 'project_task_history_cumulative') - - cr.execute(""" CREATE VIEW project_task_history_cumulative AS ( - SELECT - history.date::varchar||'-'||history.history_id::varchar AS id, - history.date AS end_date, - * - FROM ( - SELECT - h.id AS history_id, - h.date+generate_series(0, CAST((coalesce(h.end_date, DATE 'tomorrow')::date - h.date) AS integer)-1) AS date, - h.task_id, h.type_id, h.user_id, h.kanban_state, - count(h.task_id) as nbr_tasks, - greatest(h.remaining_hours, 1) AS remaining_hours, greatest(h.planned_hours, 1) AS planned_hours, - t.project_id - FROM - project_task_history AS h - JOIN project_task AS t ON (h.task_id = t.id) - GROUP BY - h.id, - h.task_id, - t.project_id - - ) AS history - ) - """) class project_tags(osv.Model): """ Tags of project's tasks (or issues) """ diff --git a/addons/project/report/__init__.py b/addons/project/report/__init__.py index 8d6f3204295..da053e69717 100644 --- a/addons/project/report/__init__.py +++ b/addons/project/report/__init__.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +import project_cumulative import project_report diff --git a/addons/project/report/project_cumulative.py b/addons/project/report/project_cumulative.py new file mode 100644 index 00000000000..14003a235c7 --- /dev/null +++ b/addons/project/report/project_cumulative.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from openerp import tools +from openerp.osv import fields, osv + + +class project_task_history_cumulative(osv.osv): + _name = 'project.task.history.cumulative' + _table = 'project_task_history_cumulative' + _inherit = 'project.task.history' + _auto = False + + _columns = { + 'end_date': fields.date('End Date'), + 'nbr_tasks': fields.integer('# of Tasks', readonly=True), + 'project_id': fields.many2one('project.project', 'Project'), + } + + def init(self, cr): + tools.drop_view_if_exists(cr, 'project_task_history_cumulative') + + cr.execute(""" CREATE VIEW project_task_history_cumulative AS ( + SELECT + history.date::varchar||'-'||history.history_id::varchar AS id, + history.date AS end_date, + * + FROM ( + SELECT + h.id AS history_id, + h.date+generate_series(0, CAST((coalesce(h.end_date, DATE 'tomorrow')::date - h.date) AS integer)-1) AS date, + h.task_id, h.type_id, h.user_id, h.kanban_state, + count(h.task_id) as nbr_tasks, + greatest(h.remaining_hours, 1) AS remaining_hours, greatest(h.planned_hours, 1) AS planned_hours, + t.project_id + FROM + project_task_history AS h + JOIN project_task AS t ON (h.task_id = t.id) + GROUP BY + h.id, + h.task_id, + t.project_id + + ) AS history + ) + """) diff --git a/addons/project/report/project_cumulative_views.xml b/addons/project/report/project_cumulative_views.xml index 5cabe21ec73..cd119881d92 100644 --- a/addons/project/report/project_cumulative_views.xml +++ b/addons/project/report/project_cumulative_views.xml @@ -82,9 +82,6 @@ - diff --git a/addons/project/report/project_report_views.xml b/addons/project/report/project_report_views.xml index 6e0eff34a2d..33425bf1e00 100644 --- a/addons/project/report/project_report_views.xml +++ b/addons/project/report/project_report_views.xml @@ -2,10 +2,6 @@ - - report.project.task.user.pivot report.project.task.user @@ -107,7 +103,5 @@ This report allows you to analyse the performance of your projects and users. You can analyse the quantities of tasks, the hours spent compared to the planned hours, the average number of days to open or close a task, etc. - - diff --git a/addons/project/views/project_dashboard.xml b/addons/project/views/project_dashboard.xml deleted file mode 100644 index d6f7355d144..00000000000 --- a/addons/project/views/project_dashboard.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - project.project.form.popup - project.project - -
- - - - -
-
- -
-
-
-
- - - Create a Project - project.project - form - form - - new - - - - project.project.kanban - project.project - - - - - - - - - - - - - - - - - -
-
-
-
-
- -
-
- -
-
-
-
-
- Settings -
-
- Tasks -
- -
-
-
    -
- -
-
- More -
-
- - -
-
-
-
-
-
-
diff --git a/addons/project/views/project_views.xml b/addons/project/views/project_views.xml index d00d7ef8719..f7f4485523b 100644 --- a/addons/project/views/project_views.xml +++ b/addons/project/views/project_views.xml @@ -182,6 +182,116 @@ + + project.project.form.popup + project.project + +
+ + + + +
+
+ +
+
+
+
+ + + Create a Project + project.project + form + form + + new + + + + project.project.kanban + project.project + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+ +
+
+
+
+
+ Settings +
+
+ Tasks +
+ +
+
+
    +
+ +
+
+ More +
+
+ + +
+
+
+
+
+
+ Activate Sample Project @@ -251,7 +361,7 @@ - + - @@ -637,8 +747,19 @@ - + + + + +