From cd6a63e8b65a23c58f0d01387d0e4a30db43a3a3 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 4 Apr 2019 11:18:00 -0700 Subject: [PATCH 1/8] 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 c3f458897b8ed8b7943cab3e318538ed5e275151 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 4 Apr 2019 14:24:49 -0700 Subject: [PATCH 2/8] 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 24974d2183a5e5c047d221211f8ec3a34aa2d46f Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 4 Apr 2019 15:51:08 -0700 Subject: [PATCH 3/8] 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 7ae73d810ea9dd827f317c3f33a24c73861e4be5 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Tue, 23 Jul 2019 15:12:31 -0700 Subject: [PATCH 4/8] 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 1395e8afc50d8e1fb8f57939d66df7e395d2b962 Mon Sep 17 00:00:00 2001 From: Bhoomi Date: Mon, 23 Sep 2019 17:47:31 -0400 Subject: [PATCH 5/8] 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 dc396f3b126489146101a482f9cad55fddcf833d Mon Sep 17 00:00:00 2001 From: Bhoomi Date: Fri, 4 Oct 2019 12:21:54 -0400 Subject: [PATCH 6/8] 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 b5d6992e72935993de8ea8621cd5b9c9dcd58645 Mon Sep 17 00:00:00 2001 From: Connor Christian Date: Mon, 16 Nov 2020 18:32:07 -0500 Subject: [PATCH 7/8] [IMP] project_stage: changed default context for group by stage Also added the ability to create new stages in the project.project kanban view H4496 --- project_stage/views/project_views.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/project_stage/views/project_views.xml b/project_stage/views/project_views.xml index dad3f806..14a89fbe 100644 --- a/project_stage/views/project_views.xml +++ b/project_stage/views/project_views.xml @@ -105,6 +105,7 @@ o_kanban_small_column oe_background_grey o_kanban_dashboard o_project_kanban o_emphasize_colors + true @@ -121,6 +122,10 @@ + + {"search_default_group_stage":1} + + project.project.form.inherit project.project From 7354ac58dc82e421a81e263cc15a893332d42c9c Mon Sep 17 00:00:00 2001 From: Connor Christian Date: Tue, 17 Nov 2020 11:54:46 -0500 Subject: [PATCH 8/8] [MIG] project_stage: for Odoo 14.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 8582c36d..ad1ccbbe 100644 --- a/project_stage/__manifest__.py +++ b/project_stage/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Project Stages', - 'version': '13.0.1.0.1', + 'version': '14.0.1.0.0', 'author': 'Hibou Corp. ', 'website': 'https://hibou.io/', 'license': 'AGPL-3',