From 81deac33d8ae5f8fc9d87e9f353cd88d567b640b Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 4 Apr 2019 11:18:00 -0700 Subject: [PATCH 1/7] Initial commit of `project_stage` for 11.0 --- project_stage/__init__.py | 1 + project_stage/__manifest__.py | 20 +++++ project_stage/models/__init__.py | 1 + project_stage/models/project.py | 25 ++++++ project_stage/views/project_views.xml | 114 ++++++++++++++++++++++++++ 5 files changed, 161 insertions(+) create mode 100644 project_stage/__init__.py create mode 100644 project_stage/__manifest__.py create mode 100644 project_stage/models/__init__.py create mode 100644 project_stage/models/project.py create mode 100644 project_stage/views/project_views.xml diff --git a/project_stage/__init__.py b/project_stage/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/project_stage/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/project_stage/__manifest__.py b/project_stage/__manifest__.py new file mode 100644 index 00000000..4f2b62ec --- /dev/null +++ b/project_stage/__manifest__.py @@ -0,0 +1,20 @@ +{ + 'name': 'Project Stages', + 'version': '11.0.1.0.0', + 'author': 'Hibou Corp. ', + 'website': 'https://hibou.io/', + 'license': 'AGPL-3', + 'category': 'Tools', + 'complexity': 'easy', + 'description': """ +Adds stages to Projects themselves. + """, + 'depends': [ + 'project', + ], + 'data': [ + 'views/project_views.xml', + ], + 'installable': True, + 'auto_install': False, +} diff --git a/project_stage/models/__init__.py b/project_stage/models/__init__.py new file mode 100644 index 00000000..351a3ad3 --- /dev/null +++ b/project_stage/models/__init__.py @@ -0,0 +1 @@ +from . import project diff --git a/project_stage/models/project.py b/project_stage/models/project.py new file mode 100644 index 00000000..e9b9c5ea --- /dev/null +++ b/project_stage/models/project.py @@ -0,0 +1,25 @@ +from odoo import api, fields, models, SUPERUSER_ID + + +class ProjectType(models.Model): + _name = 'project.type' + _description = 'Project Stage' + _order = 'sequence, id' + + name = fields.Char(string='Stage Name', required=True, translate=True) + description = fields.Text(translate=True) + sequence = fields.Integer(default=1) + fold = fields.Boolean(string='Folded in Kanban', + help='This stage is folded in the kanban view when there are no records in that stage to display.') + + +class Project(models.Model): + _inherit = 'project.project' + + stage_id = fields.Many2one('project.type', string='Stage', + group_expand='_read_group_stage_ids', track_visibility='onchange', index=True) + + @api.model + def _read_group_stage_ids(self, stages, domain, order): + stage_ids = stages._search([], order=order, access_rights_uid=SUPERUSER_ID) + return stages.browse(stage_ids) diff --git a/project_stage/views/project_views.xml b/project_stage/views/project_views.xml new file mode 100644 index 00000000..0c00bf1e --- /dev/null +++ b/project_stage/views/project_views.xml @@ -0,0 +1,114 @@ + + + + Project Stages + project.type + form + tree,kanban,form + +

+ Click to add a stage in the project pipeline. +

+ Define the steps that will be used by projects. +

+
+
+ + + + + project.type.kanban + project.type + + + + + + + +
+
+
+ +
+
+ +
+ + +
+
+
+
+
+
+ + + project.type.tree + project.type + + + + + + + + + + + + project.type.search + project.type + + + + + + + + + project.type.form + project.type + +
+ + + + + + + + + + + +

+ You can also add a description to help your coworkers understand the meaning and purpose of the stage. +

+ +
+
+
+
+
+ + + + project.project.kanban.inherit + project.project + + + + stage_id + quick_create + + + + + + +
\ No newline at end of file From 683ec11c91a640d99f208b3298ece0d309e679bd Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 4 Apr 2019 14:24:49 -0700 Subject: [PATCH 2/7] IMP `project_stage` Add color to Project Stage, and allow changing stage on Project form view. Additionally, added group by "Stage" to the search view. --- project_stage/__manifest__.py | 2 +- project_stage/models/project.py | 2 ++ project_stage/views/project_views.xml | 41 +++++++++++++++++++++++++-- 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/project_stage/__manifest__.py b/project_stage/__manifest__.py index 4f2b62ec..312d9064 100644 --- a/project_stage/__manifest__.py +++ b/project_stage/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Project Stages', - 'version': '11.0.1.0.0', + 'version': '11.0.1.0.1', 'author': 'Hibou Corp. ', 'website': 'https://hibou.io/', 'license': 'AGPL-3', diff --git a/project_stage/models/project.py b/project_stage/models/project.py index e9b9c5ea..82ad9f15 100644 --- a/project_stage/models/project.py +++ b/project_stage/models/project.py @@ -9,6 +9,7 @@ class ProjectType(models.Model): name = fields.Char(string='Stage Name', required=True, translate=True) description = fields.Text(translate=True) sequence = fields.Integer(default=1) + color = fields.Integer('Color Index') fold = fields.Boolean(string='Folded in Kanban', help='This stage is folded in the kanban view when there are no records in that stage to display.') @@ -18,6 +19,7 @@ class Project(models.Model): stage_id = fields.Many2one('project.type', string='Stage', group_expand='_read_group_stage_ids', track_visibility='onchange', index=True) + stage_color = fields.Integer(related='stage_id.color') @api.model def _read_group_stage_ids(self, stages, domain, order): diff --git a/project_stage/views/project_views.xml b/project_stage/views/project_views.xml index 0c00bf1e..5e8f53ad 100644 --- a/project_stage/views/project_views.xml +++ b/project_stage/views/project_views.xml @@ -83,6 +83,7 @@ + @@ -102,12 +103,48 @@ project.project + - stage_id - quick_create + o_kanban_small_column oe_background_grey o_kanban_dashboard o_project_kanban o_emphasize_colors + + + +
+ + + + +
+
+
+ + + + project.project.form.inherit + project.project + + + +
+ +
+
+ + + +
+
+ + + project.project.select.inherit + project.project + + + + From ca086fe7527975a45ab8204e37e4d6d10edd522a Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 4 Apr 2019 15:51:08 -0700 Subject: [PATCH 3/7] FIX `project_stage` Added ACL allowing Employees to read project stages, and Project Managers to do all. --- project_stage/__manifest__.py | 1 + project_stage/security/ir.model.access.csv | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 project_stage/security/ir.model.access.csv diff --git a/project_stage/__manifest__.py b/project_stage/__manifest__.py index 312d9064..140c8fa5 100644 --- a/project_stage/__manifest__.py +++ b/project_stage/__manifest__.py @@ -13,6 +13,7 @@ Adds stages to Projects themselves. 'project', ], 'data': [ + 'security/ir.model.access.csv', 'views/project_views.xml', ], 'installable': True, diff --git a/project_stage/security/ir.model.access.csv b/project_stage/security/ir.model.access.csv new file mode 100644 index 00000000..ebea85b2 --- /dev/null +++ b/project_stage/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_project_type,access_project_type,model_project_type,base.group_user,1,0,0,0 +manage_project_type,manage_project_type,model_project_type,project.group_project_manager,1,1,1,1 \ No newline at end of file From ff6b7c74f1c740023b191ffebc749f11d603c34d Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Tue, 23 Jul 2019 15:12:31 -0700 Subject: [PATCH 4/7] MIG `project_stage` to 12.0 --- project_stage/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_stage/__manifest__.py b/project_stage/__manifest__.py index 140c8fa5..cc6e4a6a 100644 --- a/project_stage/__manifest__.py +++ b/project_stage/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Project Stages', - 'version': '11.0.1.0.1', + 'version': '12.0.1.0.1', 'author': 'Hibou Corp. ', 'website': 'https://hibou.io/', 'license': 'AGPL-3', From 74034de0641e40cfdaf18ef67105972b0ab2cb9a Mon Sep 17 00:00:00 2001 From: Bhoomi Date: Mon, 23 Sep 2019 17:47:31 -0400 Subject: [PATCH 5/7] MIG `project_stage` For Odoo 13.0 --- project_stage/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_stage/__manifest__.py b/project_stage/__manifest__.py index cc6e4a6a..8582c36d 100644 --- a/project_stage/__manifest__.py +++ b/project_stage/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Project Stages', - 'version': '12.0.1.0.1', + 'version': '13.0.1.0.1', 'author': 'Hibou Corp. ', 'website': 'https://hibou.io/', 'license': 'AGPL-3', From e4c187963a582064000b5e956ad535d67944a6b3 Mon Sep 17 00:00:00 2001 From: Bhoomi Date: Fri, 4 Oct 2019 12:21:54 -0400 Subject: [PATCH 6/7] FIX `project_stage' Resolve `view_type` error. --- project_stage/views/project_views.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/project_stage/views/project_views.xml b/project_stage/views/project_views.xml index 5e8f53ad..dad3f806 100644 --- a/project_stage/views/project_views.xml +++ b/project_stage/views/project_views.xml @@ -3,7 +3,6 @@ Project Stages project.type - form tree,kanban,form

From 7fa76392e15688de2c3d78e045bf805f218e7f9b Mon Sep 17 00:00:00 2001 From: Bhoomi Date: Fri, 4 Oct 2019 12:21:54 -0400 Subject: [PATCH 7/7] FIX `project_stage' Resolve view_type error. --- project_stage/views/project_views.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/project_stage/views/project_views.xml b/project_stage/views/project_views.xml index 5e8f53ad..dad3f806 100644 --- a/project_stage/views/project_views.xml +++ b/project_stage/views/project_views.xml @@ -3,7 +3,6 @@ Project Stages project.type - form tree,kanban,form