diff --git a/projects_task_checklists/__init__.py b/projects_task_checklists/__init__.py index a39b8388a..fb7b4fced 100644 --- a/projects_task_checklists/__init__.py +++ b/projects_task_checklists/__init__.py @@ -4,7 +4,6 @@ # Cybrosys Technologies Pvt. Ltd. # # Copyright (C) 2022-TODAY Cybrosys Technologies(). -# Author: LINTO C T() # you can modify it under the terms of the GNU LESSER # GENERAL PUBLIC LICENSE (LGPL v3), Version 3. # @@ -18,5 +17,4 @@ # If not, see . # ############################################################################## - from . import models diff --git a/projects_task_checklists/__manifest__.py b/projects_task_checklists/__manifest__.py index 6641899ed..2e1179c22 100644 --- a/projects_task_checklists/__manifest__.py +++ b/projects_task_checklists/__manifest__.py @@ -4,7 +4,6 @@ # Cybrosys Technologies Pvt. Ltd. # # Copyright (C) 2022-TODAY Cybrosys Technologies(). -# Author: LINTO C T() # you can modify it under the terms of the GNU LESSER # GENERAL PUBLIC LICENSE (LGPL v3), Version 3. # @@ -22,8 +21,8 @@ 'name': 'Project Task Checklist', 'version': '15.0.1.0.1', 'category': 'Project/Project', - 'summary': "To Manage the Project's tasks, subtasks checklists", - 'description': "To Manage the Project's tasks, subtasks checklists", + 'summary': "To Manage the Task and Subtask Checklists", + 'description': "To Manage the Task and Subtask Checklists", 'author': 'Cybrosys Techno Solutions', 'company': 'Cybrosys Techno Solutions', 'maintainer': 'Cybrosys Techno Solutions', diff --git a/projects_task_checklists/doc/RELEASE_NOTES.md b/projects_task_checklists/doc/RELEASE_NOTES.md index f33190d1c..4c8494f00 100644 --- a/projects_task_checklists/doc/RELEASE_NOTES.md +++ b/projects_task_checklists/doc/RELEASE_NOTES.md @@ -5,3 +5,8 @@ #### ADD - Initial commit for projects_task_checklists +#### 06.10.2023 +#### Version 15.0.1.0.1 +#### FIX +- Bug fix on checklist status + diff --git a/projects_task_checklists/models/checklist.py b/projects_task_checklists/models/checklist.py index a0169d31b..085bc18b9 100644 --- a/projects_task_checklists/models/checklist.py +++ b/projects_task_checklists/models/checklist.py @@ -27,19 +27,28 @@ class TaskChecklist(models.Model): name = fields.Char(string='Name') description = fields.Char(string='Description') - project_id = fields.Many2one('project.project', string='Project') task_ids = fields.Many2one('project.task', string='Task') + project_id = fields.Many2one('project.project', string='Project') checklist_ids = fields.One2many('checklist.item', 'checklist_id', string='CheckList Items', required=True) -class ChecklistItem(models.Model): +class CheckListItem(models.Model): _name = 'checklist.item' - _description = 'Checklist Item' + _description = "Checklist Item" name = fields.Char(required=True) sequence = fields.Integer(default=1) description = fields.Char() + checklist_id = fields.Many2one('task.checklist') + + +class ChecklistItemLine(models.Model): + _name = 'checklist.item.line' + _description = 'Checklist Item Line' + + check_list_item_id = fields.Many2one('checklist.item', required=True) + description = fields.Char() projects_id = fields.Many2one('project.task') checklist_id = fields.Many2one('task.checklist') state = fields.Selection(string='Status', required=True, readonly=True, copy=False, tracking=True, selection=[ @@ -47,7 +56,7 @@ class ChecklistItem(models.Model): ('in_progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancelled'), - ], default='todo',) + ], default='todo', ) def approve_and_next(self): self.state = 'in_progress' @@ -68,31 +77,32 @@ class ChecklistProgress(models.Model): start_date = fields.Datetime(string='Start Date') end_date = fields.Datetime(string='End Date') progress = fields.Float(compute='_compute_progress', string='Progress in %') + checklist_ids = fields.Many2many('task.checklist', compute='_compute_checklist_ids') checklist_id = fields.Many2one('task.checklist') - checklists = fields.One2many('checklist.item', 'projects_id', string='CheckList Items', required=True) + checklists = fields.One2many('checklist.item.line', 'projects_id', string='CheckList Items', required=True) @api.onchange('checklist_id') def _onchange_project_id(self): - self.checklists = [] checklist = self.env['task.checklist'].search([('name', '=', self.checklist_id.name)]) - print('task', checklist) - for rec in checklist: - print('rec', rec.checklist_ids) - self.checklists += rec.checklist_ids + self.checklists = False + self.checklists = [(0, 0, { + 'check_list_item_id': rec.id, + 'state': 'todo', + 'checklist_id': self.checklist_id.id, + }) for rec in checklist.checklist_ids] + + def _compute_checklist_ids(self): + for rec in self: + self.checklist_ids = self.env['task.checklist'].search([('task_ids', '=', rec.id)]) def _compute_progress(self): for rec in self: - print('recccc', rec) total_completed = 0 for activity in rec.checklists: - print('activity', activity) if activity.state in ['cancel', 'done', 'in_progress']: - print('stage', activity.state) total_completed += 1 if total_completed: - print('completed', total_completed) rec.progress = float(total_completed) / len(rec.checklists) * 100 else: rec.progress = 0.0 - diff --git a/projects_task_checklists/security/ir.model.access.csv b/projects_task_checklists/security/ir.model.access.csv index fc4c677d9..90e9fb6ec 100644 --- a/projects_task_checklists/security/ir.model.access.csv +++ b/projects_task_checklists/security/ir.model.access.csv @@ -3,3 +3,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_checklist_activity_stages,access.checklist.activity.stages,model_checklist_activity_stages,,1,1,1,1 access_task_checklist,access.task.checklist,model_task_checklist,,1,1,1,1 access_checklist_item,access.checklist.item,model_checklist_item,,1,1,1,1 +access_checklist_item_line,access.checklist.item.line,model_checklist_item_line,,1,1,1,1 diff --git a/projects_task_checklists/views/checklist_add.xml b/projects_task_checklists/views/checklist_add.xml index fd9524b70..61d769d3a 100644 --- a/projects_task_checklists/views/checklist_add.xml +++ b/projects_task_checklists/views/checklist_add.xml @@ -17,14 +17,16 @@ + - - + +