diff --git a/crm_check_approve_limiter/README.rst b/crm_check_approve_limiter/README.rst old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/__init__.py b/crm_check_approve_limiter/__init__.py old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/__manifest__.py b/crm_check_approve_limiter/__manifest__.py old mode 100644 new mode 100755 index a9b526c71..a3448ab2b --- a/crm_check_approve_limiter/__manifest__.py +++ b/crm_check_approve_limiter/__manifest__.py @@ -21,7 +21,7 @@ ############################################################################# { 'name': 'CheckList & Approval Process in CRM', - 'version': '18.0.1.0.0', + 'version': '18.0.1.1.0', 'category': 'CRM', 'summary': 'Manage CRM based on CheckList and Team/Stage and' 'Approval Process to Make Sure Everything Completed In ' diff --git a/crm_check_approve_limiter/doc/RELEASE_NOTES.md b/crm_check_approve_limiter/doc/RELEASE_NOTES.md old mode 100644 new mode 100755 index c0b400ea4..993dbc674 --- a/crm_check_approve_limiter/doc/RELEASE_NOTES.md +++ b/crm_check_approve_limiter/doc/RELEASE_NOTES.md @@ -4,3 +4,9 @@ #### Version 18.0.1.0.0 #### ADD - Initial commit for CheckList & Approval Process in CRM + +#### 16.01.2025 +#### Version 18.0.1.1.0 +#### UPDT +- Commit to fix the issue in checklist history creation. + diff --git a/crm_check_approve_limiter/models/__init__.py b/crm_check_approve_limiter/models/__init__.py old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/models/crm_lead.py b/crm_check_approve_limiter/models/crm_lead.py old mode 100644 new mode 100755 index 8671602ea..7d84efc1d --- a/crm_check_approve_limiter/models/crm_lead.py +++ b/crm_check_approve_limiter/models/crm_lead.py @@ -96,15 +96,18 @@ class CrmLead(models.Model): and item not in self.check_list_ids: self.check_list_ids += item if 'check_list_ids' in vals_set.keys(): - group_check = self.env.user. \ - has_group('crm_check_approve_limiter.' - 'crm_check_approve_manager') + group_check = self.env.user.has_group('crm_check_approve_limiter.crm_check_approve_manager') user_groups = self.env.user.groups_id - new_ids = self.env['stage.check.list']. \ - search([('id', 'in', vals_set['check_list_ids'][-1])]) - check_item_id = (self.check_list_ids - new_ids) - check_item2 = (new_ids - self.check_list_ids) - for ch_lst in check_item2: + complete_operations = [] + notcomplete_operations = [] + for operation in vals_set['check_list_ids']: + if operation[0] == 4: # Add operation + complete_operations.append(operation[1]) + elif operation[0] == 3: # Remove operation + notcomplete_operations.append(operation[1]) + new_complete_ids = self.env['stage.check.list'].search([('id', 'in', complete_operations)]) + new_notcomplete_ids = self.env['stage.check.list'].search([('id', 'in', notcomplete_operations)]) + for ch_lst in new_complete_ids: if (ch_lst.approve_groups_ids and not ch_lst.approve_groups_ids .filtered(lambda f: f in user_groups) and not group_check): @@ -114,37 +117,37 @@ class CrmLead(models.Model): raise ValidationError(f'Only the below specified group' f' members can complete this task' f' : {grp_string_t}') - for ch_lst in check_item_id: + for ch_lst in new_notcomplete_ids: if (ch_lst.approve_groups_ids and not ch_lst.approve_groups_ids - .filtered( - lambda f: f in user_groups) and not group_check): + .filtered(lambda f: f in user_groups) and + not group_check): grp_string_t = '\n'.join( map(str, ch_lst.approve_groups_ids. mapped('full_name'))) raise ValidationError(f'Only the below specified group' - f' members can undo this task' + f' members can complete this task' f' : {grp_string_t}') - if 'stage_id' not in vals_set.keys() and check_item_id: - for c_item in check_item_id: + if 'stage_id' not in vals_set.keys() and new_complete_ids: + for c_item in new_complete_ids: vals = { - 'lead_id': self.id, - 'check_item_id': c_item.id, - 'list_action': 'not_complete', - 'change_date': datetime.now(), - 'user_id': self.env.user.id, - 'stage_id': self.stage_id.id - } + 'lead_id': self.id, + 'check_item_id': c_item.id, + 'list_action': 'complete', + 'change_date': datetime.now(), + 'user_id': self.env.user.id, + 'stage_id': self.stage_id.id + } self.env['crm.lead.check.history'].sudo().create(vals) - elif 'stage_id' not in vals_set.keys() and check_item2: - for c_item in check_item2: + if 'stage_id' not in vals_set.keys() and new_notcomplete_ids: + for c_item in new_notcomplete_ids: vals = { - 'lead_id': self.id, - 'check_item_id': c_item.id, - 'list_action': 'complete', - 'change_date': datetime.now(), - 'user_id': self.env.user.id, - 'stage_id': self.stage_id.id - } + 'lead_id': self.id, + 'check_item_id': c_item.id, + 'list_action': 'not_complete', + 'change_date': datetime.now(), + 'user_id': self.env.user.id, + 'stage_id': self.stage_id.id + } self.env['crm.lead.check.history'].sudo().create(vals) res = super().write(vals_set) return res diff --git a/crm_check_approve_limiter/models/crm_lead_check_history.py b/crm_check_approve_limiter/models/crm_lead_check_history.py old mode 100644 new mode 100755 index 9c0d6d6f6..5312fd756 --- a/crm_check_approve_limiter/models/crm_lead_check_history.py +++ b/crm_check_approve_limiter/models/crm_lead_check_history.py @@ -35,6 +35,7 @@ class CrmLeadCheckHistory(models.Model): list_action = fields.Selection([('complete', 'Complete'), ('not_complete', 'Not Complete')], required=True, string="Action", + default='not_complete', help="Selection field representing " "the action for the check item.") user_id = fields.Many2one('res.users', string="User", diff --git a/crm_check_approve_limiter/models/crm_stage.py b/crm_check_approve_limiter/models/crm_stage.py old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/models/stage_check_list.py b/crm_check_approve_limiter/models/stage_check_list.py old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/security/crm_check_approve_limiter_groups.xml b/crm_check_approve_limiter/security/crm_check_approve_limiter_groups.xml old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/security/ir.model.access.csv b/crm_check_approve_limiter/security/ir.model.access.csv old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/icons/hero.gif b/crm_check_approve_limiter/static/description/assets/icons/hero.gif old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/modules/1.jpg b/crm_check_approve_limiter/static/description/assets/modules/1.jpg old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/modules/2.jpg b/crm_check_approve_limiter/static/description/assets/modules/2.jpg old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/modules/3.jpg b/crm_check_approve_limiter/static/description/assets/modules/3.jpg old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/modules/4.png b/crm_check_approve_limiter/static/description/assets/modules/4.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/modules/5.jpg b/crm_check_approve_limiter/static/description/assets/modules/5.jpg old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/modules/6.gif b/crm_check_approve_limiter/static/description/assets/modules/6.gif old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/screenshots/1.png b/crm_check_approve_limiter/static/description/assets/screenshots/1.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/screenshots/2.png b/crm_check_approve_limiter/static/description/assets/screenshots/2.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/screenshots/3.png b/crm_check_approve_limiter/static/description/assets/screenshots/3.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/screenshots/4.png b/crm_check_approve_limiter/static/description/assets/screenshots/4.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/screenshots/5.png b/crm_check_approve_limiter/static/description/assets/screenshots/5.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/screenshots/6.png b/crm_check_approve_limiter/static/description/assets/screenshots/6.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/screenshots/7.png b/crm_check_approve_limiter/static/description/assets/screenshots/7.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/assets/screenshots/8.png b/crm_check_approve_limiter/static/description/assets/screenshots/8.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/banner.gif b/crm_check_approve_limiter/static/description/banner.gif old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/icon.png b/crm_check_approve_limiter/static/description/icon.png old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/static/description/index.html b/crm_check_approve_limiter/static/description/index.html old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/views/crm_lead_views.xml b/crm_check_approve_limiter/views/crm_lead_views.xml old mode 100644 new mode 100755 diff --git a/crm_check_approve_limiter/views/crm_stage_views.xml b/crm_check_approve_limiter/views/crm_stage_views.xml old mode 100644 new mode 100755