From 1a4f100863b3e77e91d09f9b1ac694211de4a4e5 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 14:38:49 +0800 Subject: [PATCH 01/46] [REM] predefined ID Type --- spp_change_request_add_farmer/__manifest__.py | 1 - spp_change_request_add_farmer/data/id_type.xml | 9 --------- spp_change_request_change_info/__manifest__.py | 1 - spp_change_request_change_info/data/id_type.xml | 9 --------- .../models/change_request_change_info.py | 13 ------------- spp_change_request_create_group/__manifest__.py | 1 - .../data/id_type.xml | 9 --------- .../models/change_request_create_group.py | 17 ----------------- 8 files changed, 60 deletions(-) delete mode 100644 spp_change_request_add_farmer/data/id_type.xml delete mode 100644 spp_change_request_change_info/data/id_type.xml delete mode 100644 spp_change_request_create_group/data/id_type.xml diff --git a/spp_change_request_add_farmer/__manifest__.py b/spp_change_request_add_farmer/__manifest__.py index 2f159388a..12969635e 100644 --- a/spp_change_request_add_farmer/__manifest__.py +++ b/spp_change_request_add_farmer/__manifest__.py @@ -30,7 +30,6 @@ "data/change_request_stage.xml", "data/change_request_sequence.xml", "data/change_request_target.xml", - "data/id_type.xml", "views/change_request_add_farmer_view.xml", "views/dms_file_view.xml", ], diff --git a/spp_change_request_add_farmer/data/id_type.xml b/spp_change_request_add_farmer/data/id_type.xml deleted file mode 100644 index fba9f55b6..000000000 --- a/spp_change_request_add_farmer/data/id_type.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - Unified ID - individual - - - diff --git a/spp_change_request_change_info/__manifest__.py b/spp_change_request_change_info/__manifest__.py index c7a75ba0d..395007007 100644 --- a/spp_change_request_change_info/__manifest__.py +++ b/spp_change_request_change_info/__manifest__.py @@ -22,7 +22,6 @@ "data/change_request_stage.xml", "data/change_request_sequence.xml", "data/change_request_target.xml", - "data/id_type.xml", "views/change_request_change_info_view.xml", "views/dms_file_view.xml", ], diff --git a/spp_change_request_change_info/data/id_type.xml b/spp_change_request_change_info/data/id_type.xml deleted file mode 100644 index 0e6776755..000000000 --- a/spp_change_request_change_info/data/id_type.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - National ID - individual - - - diff --git a/spp_change_request_change_info/models/change_request_change_info.py b/spp_change_request_change_info/models/change_request_change_info.py index b3bff22f3..9db5aa0b2 100644 --- a/spp_change_request_change_info/models/change_request_change_info.py +++ b/spp_change_request_change_info/models/change_request_change_info.py @@ -231,17 +231,6 @@ def update_live_data(self): ] else: phone_rec = None - if self.national_id_number: - nid_rec = [ - Command.create( - { - "id_type": self.env.ref("spp_change_request_change_info.national_id_type").id, - "value": self.national_id_number, - } - ) - ] - else: - nid_rec = None vals = {} if self.full_name: vals.update({"name": self.full_name}) @@ -265,8 +254,6 @@ def update_live_data(self): vals.update({"highest_education_level": self.highest_education_level}) if phone_rec: vals.update({"phone_number_ids": phone_rec}) - if nid_rec: - vals.update({"reg_ids": nid_rec}) # Updating Registrant self.registrant_id.write(vals) diff --git a/spp_change_request_create_group/__manifest__.py b/spp_change_request_create_group/__manifest__.py index be754c5cb..162803784 100644 --- a/spp_change_request_create_group/__manifest__.py +++ b/spp_change_request_create_group/__manifest__.py @@ -28,7 +28,6 @@ "data/change_request_stage.xml", "data/change_request_sequence.xml", "data/change_request_target.xml", - "data/id_type.xml", "views/change_request_create_group_view.xml", "views/dms_file_view.xml", "views/change_request_view.xml", diff --git a/spp_change_request_create_group/data/id_type.xml b/spp_change_request_create_group/data/id_type.xml deleted file mode 100644 index fba9f55b6..000000000 --- a/spp_change_request_create_group/data/id_type.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - Unified ID - individual - - - diff --git a/spp_change_request_create_group/models/change_request_create_group.py b/spp_change_request_create_group/models/change_request_create_group.py index 50b38e9c7..defc3e1cd 100644 --- a/spp_change_request_create_group/models/change_request_create_group.py +++ b/spp_change_request_create_group/models/change_request_create_group.py @@ -254,23 +254,6 @@ def update_live_data(self): if phone: individual_vals["phone_number_ids"] = phone - reg_ids = ( - [ - ( - Command.create( - { - "id_type": self.env.ref("spp_change_request_create_group.unified_id_type").id, - "value": self.uid_number, - } - ) - ) - ] - if self.uid_number - else [] - ) - if reg_ids: - individual_vals["reg_ids"] = reg_ids - individual = self.env[MODEL_RES_PARTNER].create(individual_vals) # Create the group (res.partner) From 4517418ba28712f99df6b0be78ab615badb7945c Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:08:56 +0800 Subject: [PATCH 02/46] [ADD] disable of delete and archive on farmer --- spp_base_farmer_registry/views/group_view.xml | 11 +++++++++++ spp_base_farmer_registry/views/individual_view.xml | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/spp_base_farmer_registry/views/group_view.xml b/spp_base_farmer_registry/views/group_view.xml index cae8ba423..438239949 100644 --- a/spp_base_farmer_registry/views/group_view.xml +++ b/spp_base_farmer_registry/views/group_view.xml @@ -304,4 +304,15 @@ + + view_groups_list_farmer_registry_tree + res.partner + + + + false + false + + + diff --git a/spp_base_farmer_registry/views/individual_view.xml b/spp_base_farmer_registry/views/individual_view.xml index 451e50f74..76e87630a 100644 --- a/spp_base_farmer_registry/views/individual_view.xml +++ b/spp_base_farmer_registry/views/individual_view.xml @@ -100,4 +100,15 @@ + + view_individuals_list_farmer_registry_tree + res.partner + + + + false + false + + + From 7c23afb7663cf70ef4abf88b24b0f26ad52a73fe Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:13:48 +0800 Subject: [PATCH 03/46] [FIX] disable of delete and archive on farmer --- spp_base_farmer_registry/views/group_view.xml | 4 ++-- spp_base_farmer_registry/views/individual_view.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spp_base_farmer_registry/views/group_view.xml b/spp_base_farmer_registry/views/group_view.xml index 438239949..d71e9e966 100644 --- a/spp_base_farmer_registry/views/group_view.xml +++ b/spp_base_farmer_registry/views/group_view.xml @@ -310,8 +310,8 @@ - false - false + 0 + 0 diff --git a/spp_base_farmer_registry/views/individual_view.xml b/spp_base_farmer_registry/views/individual_view.xml index 76e87630a..674904f43 100644 --- a/spp_base_farmer_registry/views/individual_view.xml +++ b/spp_base_farmer_registry/views/individual_view.xml @@ -106,8 +106,8 @@ - false - false + 0 + 0 From cf5d63141893aa13450dc702b86f37ce625aa53c Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:15:02 +0800 Subject: [PATCH 04/46] [FIX] disable of delete and archive on farmer --- spp_base_farmer_registry/views/group_view.xml | 1 - spp_base_farmer_registry/views/individual_view.xml | 1 - 2 files changed, 2 deletions(-) diff --git a/spp_base_farmer_registry/views/group_view.xml b/spp_base_farmer_registry/views/group_view.xml index d71e9e966..6cc5781c4 100644 --- a/spp_base_farmer_registry/views/group_view.xml +++ b/spp_base_farmer_registry/views/group_view.xml @@ -311,7 +311,6 @@ 0 - 0 diff --git a/spp_base_farmer_registry/views/individual_view.xml b/spp_base_farmer_registry/views/individual_view.xml index 674904f43..0b909f1b8 100644 --- a/spp_base_farmer_registry/views/individual_view.xml +++ b/spp_base_farmer_registry/views/individual_view.xml @@ -107,7 +107,6 @@ 0 - 0 From 73299d9c0202a4158e7f85d0cddf686059d5eaac Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:21:42 +0800 Subject: [PATCH 05/46] [FIX] disable of delete and archive on farmer --- spp_base_farmer_registry/views/group_view.xml | 1 + spp_base_farmer_registry/views/individual_view.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/spp_base_farmer_registry/views/group_view.xml b/spp_base_farmer_registry/views/group_view.xml index 6cc5781c4..482ecf94b 100644 --- a/spp_base_farmer_registry/views/group_view.xml +++ b/spp_base_farmer_registry/views/group_view.xml @@ -311,6 +311,7 @@ 0 + 0 diff --git a/spp_base_farmer_registry/views/individual_view.xml b/spp_base_farmer_registry/views/individual_view.xml index 0b909f1b8..c99d61710 100644 --- a/spp_base_farmer_registry/views/individual_view.xml +++ b/spp_base_farmer_registry/views/individual_view.xml @@ -107,6 +107,7 @@ 0 + 0 From 90f1b4df597660524e3d43d71f2791f77c21f0b6 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:23:00 +0800 Subject: [PATCH 06/46] [FIX] disable of delete and archive on farmer --- spp_base_farmer_registry/views/group_view.xml | 2 +- spp_base_farmer_registry/views/individual_view.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spp_base_farmer_registry/views/group_view.xml b/spp_base_farmer_registry/views/group_view.xml index 482ecf94b..f0f3b8cf2 100644 --- a/spp_base_farmer_registry/views/group_view.xml +++ b/spp_base_farmer_registry/views/group_view.xml @@ -311,7 +311,7 @@ 0 - 0 + false diff --git a/spp_base_farmer_registry/views/individual_view.xml b/spp_base_farmer_registry/views/individual_view.xml index c99d61710..0605e0bc1 100644 --- a/spp_base_farmer_registry/views/individual_view.xml +++ b/spp_base_farmer_registry/views/individual_view.xml @@ -107,7 +107,7 @@ 0 - 0 + false From 58e0c0ce71d13427de4585cd53a3a6bdd3db8496 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:26:43 +0800 Subject: [PATCH 07/46] [FIX] disable of delete and archive on farmer --- spp_base_farmer_registry/views/group_view.xml | 2 +- spp_base_farmer_registry/views/individual_view.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spp_base_farmer_registry/views/group_view.xml b/spp_base_farmer_registry/views/group_view.xml index f0f3b8cf2..7ba55a263 100644 --- a/spp_base_farmer_registry/views/group_view.xml +++ b/spp_base_farmer_registry/views/group_view.xml @@ -311,7 +311,7 @@ 0 - false + 1 diff --git a/spp_base_farmer_registry/views/individual_view.xml b/spp_base_farmer_registry/views/individual_view.xml index 0605e0bc1..75f1e9bf7 100644 --- a/spp_base_farmer_registry/views/individual_view.xml +++ b/spp_base_farmer_registry/views/individual_view.xml @@ -107,7 +107,7 @@ 0 - false + 1 From 4eae4d6c523b66919c575cc4b089d4b95f0c75c2 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:40:07 +0800 Subject: [PATCH 08/46] [IMP] disable of delete on social and spmis --- spp_base_farmer_registry/views/group_view.xml | 1 - .../views/individual_view.xml | 1 - spp_base_social_registry/__manifest__.py | 4 ++- .../views/registrant_view.xml | 26 +++++++++++++++++++ spp_base_spmis/views/registrant_view.xml | 22 ++++++++++++++++ 5 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 spp_base_social_registry/views/registrant_view.xml diff --git a/spp_base_farmer_registry/views/group_view.xml b/spp_base_farmer_registry/views/group_view.xml index 7ba55a263..6cc5781c4 100644 --- a/spp_base_farmer_registry/views/group_view.xml +++ b/spp_base_farmer_registry/views/group_view.xml @@ -311,7 +311,6 @@ 0 - 1 diff --git a/spp_base_farmer_registry/views/individual_view.xml b/spp_base_farmer_registry/views/individual_view.xml index 75f1e9bf7..0b909f1b8 100644 --- a/spp_base_farmer_registry/views/individual_view.xml +++ b/spp_base_farmer_registry/views/individual_view.xml @@ -107,7 +107,6 @@ 0 - 1 diff --git a/spp_base_social_registry/__manifest__.py b/spp_base_social_registry/__manifest__.py index 4adda6792..05dcb3549 100644 --- a/spp_base_social_registry/__manifest__.py +++ b/spp_base_social_registry/__manifest__.py @@ -29,7 +29,9 @@ "spp_base_spmis", ], "external_dependencies": {}, - "data": [], + "data": [ + "views/registrant_view.xml", + ], "assets": {}, "demo": [], "images": [], diff --git a/spp_base_social_registry/views/registrant_view.xml b/spp_base_social_registry/views/registrant_view.xml new file mode 100644 index 000000000..bafdcad17 --- /dev/null +++ b/spp_base_social_registry/views/registrant_view.xml @@ -0,0 +1,26 @@ + + + + + view_individuals_list_social_registry_tree + res.partner + + + + 0 + + + + + + view_groups_list_social_registry_tree + res.partner + + + + 0 + + + + + diff --git a/spp_base_spmis/views/registrant_view.xml b/spp_base_spmis/views/registrant_view.xml index 28e1ffd74..a1df545df 100644 --- a/spp_base_spmis/views/registrant_view.xml +++ b/spp_base_spmis/views/registrant_view.xml @@ -25,4 +25,26 @@ + + view_individuals_list_spmis_tree + res.partner + + + + 0 + + + + + + view_groups_list_spmis_tree + res.partner + + + + 0 + + + + From 2f46c6f9a07a9e6b3b775de8b4bf1c4b6602a88b Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:50:45 +0800 Subject: [PATCH 09/46] [IMP] access rights and actions groups --- spp_idqueue/views/id_queue_view.xml | 10 +++++----- spp_user_roles/security/ir.model.access.csv | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/spp_idqueue/views/id_queue_view.xml b/spp_idqueue/views/id_queue_view.xml index 58eca71ee..df151a113 100644 --- a/spp_idqueue/views/id_queue_view.xml +++ b/spp_idqueue/views/id_queue_view.xml @@ -290,7 +290,7 @@ list code action = model.open_wizard() - + @@ -300,7 +300,7 @@ list code action = records.validate_requests() - + @@ -310,7 +310,7 @@ list code action = records.generate_validate_requests() - + @@ -320,7 +320,7 @@ list code action = records.print_requests() - + @@ -330,7 +330,7 @@ list code action = records.distribute_requests() - + diff --git a/spp_user_roles/security/ir.model.access.csv b/spp_user_roles/security/ir.model.access.csv index 8b0b5a06c..0e715a03e 100644 --- a/spp_user_roles/security/ir.model.access.csv +++ b/spp_user_roles/security/ir.model.access.csv @@ -2,3 +2,6 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink spp_res_users_local_registrar,SPP Users Local Registrar Access,base.model_res_users,spp_user_roles.group_local_registrar,1,0,0,0 spp_res_users_role_local_registrar,SPP Users Role Local Registrar Access,base_user_role.model_res_users_role,spp_user_roles.group_local_registrar,1,0,0,0 spp_res_users_role_line_local_registrar,SPP Users Role Lines Local Registrar Access,base_user_role.model_res_users_role_line,spp_user_roles.group_local_registrar,1,0,0,0 + +spp_res_users_role_admin,SPP Users Role Admin Access,base_user_role.model_res_users_role,g2p_registry_base.group_g2p_admin,1,1,1,1 +spp_res_users_role_line_admin,SPP Users Role Lines Admin Access,base_user_role.model_res_users_role_line,g2p_registry_base.group_g2p_admin,1,1,1,1 \ No newline at end of file From 4c0cd98a988053c0f06cca77880d420335f06952 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Tue, 7 Oct 2025 15:56:37 +0800 Subject: [PATCH 10/46] [FIX] pre-commit --- spp_idqueue/views/id_queue_view.xml | 25 ++++++++++++++++----- spp_user_roles/security/ir.model.access.csv | 2 +- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/spp_idqueue/views/id_queue_view.xml b/spp_idqueue/views/id_queue_view.xml index df151a113..bc904b47d 100644 --- a/spp_idqueue/views/id_queue_view.xml +++ b/spp_idqueue/views/id_queue_view.xml @@ -290,7 +290,10 @@ list code action = model.open_wizard() - + @@ -300,7 +303,10 @@ list code action = records.validate_requests() - + @@ -310,7 +316,10 @@ list code action = records.generate_validate_requests() - + @@ -320,7 +329,10 @@ list code action = records.print_requests() - + @@ -330,7 +342,10 @@ list code action = records.distribute_requests() - + diff --git a/spp_user_roles/security/ir.model.access.csv b/spp_user_roles/security/ir.model.access.csv index 0e715a03e..9d7a66b36 100644 --- a/spp_user_roles/security/ir.model.access.csv +++ b/spp_user_roles/security/ir.model.access.csv @@ -4,4 +4,4 @@ spp_res_users_role_local_registrar,SPP Users Role Local Registrar Access,base_us spp_res_users_role_line_local_registrar,SPP Users Role Lines Local Registrar Access,base_user_role.model_res_users_role_line,spp_user_roles.group_local_registrar,1,0,0,0 spp_res_users_role_admin,SPP Users Role Admin Access,base_user_role.model_res_users_role,g2p_registry_base.group_g2p_admin,1,1,1,1 -spp_res_users_role_line_admin,SPP Users Role Lines Admin Access,base_user_role.model_res_users_role_line,g2p_registry_base.group_g2p_admin,1,1,1,1 \ No newline at end of file +spp_res_users_role_line_admin,SPP Users Role Lines Admin Access,base_user_role.model_res_users_role_line,g2p_registry_base.group_g2p_admin,1,1,1,1 From f81880770cc3f288e5532e32ae54590276d40398 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 10:02:18 +0800 Subject: [PATCH 11/46] [FIX] disable delete on entitlements --- spp_programs/views/entitlement_view.xml | 2 +- spp_programs/views/g2p_entitlement_view.xml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/spp_programs/views/entitlement_view.xml b/spp_programs/views/entitlement_view.xml index 912b26350..4f10efce3 100644 --- a/spp_programs/views/entitlement_view.xml +++ b/spp_programs/views/entitlement_view.xml @@ -8,7 +8,7 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details. g2p.entitlement.inkind 1 - + diff --git a/spp_programs/views/g2p_entitlement_view.xml b/spp_programs/views/g2p_entitlement_view.xml index c11f279b1..dea22c309 100644 --- a/spp_programs/views/g2p_entitlement_view.xml +++ b/spp_programs/views/g2p_entitlement_view.xml @@ -11,6 +11,9 @@ + + 0 + From 1221d23b067e094d9a2be1fbea35b04d638a7d13 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 10:56:09 +0800 Subject: [PATCH 12/46] [FIX] spp_change_request_base: source mixin --- spp_change_request_base/models/mixins/source_mixin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spp_change_request_base/models/mixins/source_mixin.py b/spp_change_request_base/models/mixins/source_mixin.py index 96670547d..1f64514ae 100644 --- a/spp_change_request_base/models/mixins/source_mixin.py +++ b/spp_change_request_base/models/mixins/source_mixin.py @@ -531,7 +531,7 @@ def open_user_assignment_wiz(self): :raise UserError: Exception raised when something is not valid. """ for rec in self: - is_admin = self.env.user.has_group(self.ADMIN_GROUP_NAME) + is_admin = self.env.user.has_group(self.ADMIN_GROUP_NAME) if self.ADMIN_GROUP_NAME else False assign_self = False if rec.change_request_id.assign_to_id: if rec.change_request_id.assign_to_id.id != self.env.user.id: From 64c733ed7bbd5e6ba87e2ab615d1bf03f47b0a9d Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 11:25:00 +0800 Subject: [PATCH 13/46] [ADD] validation stage --- .../views/change_request_view.xml | 5 +++ .../models/change_request.py | 31 +++++++++++++++++++ .../models/mixins/source_mixin.py | 4 +++ .../models/change_request_change_info.py | 2 +- 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/spp_change_request/views/change_request_view.xml b/spp_change_request/views/change_request_view.xml index 86d7c321a..ca2b5b789 100644 --- a/spp_change_request/views/change_request_view.xml +++ b/spp_change_request/views/change_request_view.xml @@ -313,6 +313,11 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details. force_save="1" readonly="state != 'draft'" /> + diff --git a/spp_change_request_base/models/change_request.py b/spp_change_request_base/models/change_request.py index fe54fb069..6847a4cb4 100644 --- a/spp_change_request_base/models/change_request.py +++ b/spp_change_request_base/models/change_request.py @@ -108,6 +108,37 @@ class ChangeRequestBase(models.Model): ) current_user_assigned = fields.Boolean(compute="_compute_current_user_assigned", default=False) + validation_stage = fields.Selection( + [ + ("local", "Local"), + ("hq", "HQ"), + ("completed", "Completed"), + ], + string="Validation Stage", + default="local", + compute="_compute_validation_stage", + store=True, + ) + + @api.depends("validator_ids") + def _compute_validation_stage(self): + for rec in self: + validation_sequences = self.env["spp.change.request.validation.sequence"].search( + [("request_type", "=", rec.request_type)] + ) + total_sequences = len(validation_sequences) + total_validators = len(rec.validator_ids) + if not validation_sequences or total_sequences == 0: + rec.validation_stage = "local" + else: + if total_validators == 0: + rec.validation_stage = "local" + elif total_validators < total_sequences - 1: + rec.validation_stage = "local" + elif total_validators == total_sequences - 1: + rec.validation_stage = "hq" + elif total_validators >= total_sequences: + rec.validation_stage = "completed" # DMS Directories dms_directory_ids = fields.One2many( diff --git a/spp_change_request_base/models/mixins/source_mixin.py b/spp_change_request_base/models/mixins/source_mixin.py index 1f64514ae..87a2892bf 100644 --- a/spp_change_request_base/models/mixins/source_mixin.py +++ b/spp_change_request_base/models/mixins/source_mixin.py @@ -59,6 +59,10 @@ class ChangeRequestAddChildren(models.Model): ) current_user_assigned = fields.Boolean(compute="_compute_current_user_assigned", default=False) + validation_stage = fields.Selection( + string="Validation Stage", + related="change_request_id.validation_stage", + ) def _update_registrant_id(self, res): for rec in res: diff --git a/spp_change_request_change_info/models/change_request_change_info.py b/spp_change_request_change_info/models/change_request_change_info.py index 9db5aa0b2..a8054e831 100644 --- a/spp_change_request_change_info/models/change_request_change_info.py +++ b/spp_change_request_change_info/models/change_request_change_info.py @@ -116,7 +116,7 @@ def _get_dynamic_selection(self): string="DMS Files", auto_join=True, ) - + @api.onchange("birthdate") def _onchange_birthdate(self): if self.birthdate and self.birthdate > fields.date.today(): From 32df01a7b59cc40dff66bb69430a6bf0e9494727 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 11:36:49 +0800 Subject: [PATCH 14/46] [IMP] hiding of actions --- .../models/mixins/source_mixin.py | 9 +++++++++ .../views/change_request_change_info_view.xml | 14 ++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/spp_change_request_base/models/mixins/source_mixin.py b/spp_change_request_base/models/mixins/source_mixin.py index 87a2892bf..c7686de5a 100644 --- a/spp_change_request_base/models/mixins/source_mixin.py +++ b/spp_change_request_base/models/mixins/source_mixin.py @@ -63,6 +63,15 @@ class ChangeRequestAddChildren(models.Model): string="Validation Stage", related="change_request_id.validation_stage", ) + show_cr_actions = fields.Boolean(compute="_compute_show_cr_actions") + + def _compute_show_cr_actions(self): + for rec in self: + user = self.env.user + rec.show_cr_actions = ( + (rec.validation_stage == "local" and user.has_group("spp_change_request_base.local_validator_group")) + or (rec.validation_stage == "hq" and user.has_group("spp_change_request_base.hq_validator_group")) + ) def _update_registrant_id(self, res): for rec in res: diff --git a/spp_change_request_change_info/views/change_request_change_info_view.xml b/spp_change_request_change_info/views/change_request_change_info_view.xml index aaa5db84b..16e081b62 100644 --- a/spp_change_request_change_info/views/change_request_change_info_view.xml +++ b/spp_change_request_change_info/views/change_request_change_info_view.xml @@ -39,6 +39,7 @@
+ From 3eaa1f8b244983619cdcb6e21fbad4d67798f57f Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 12:27:13 +0800 Subject: [PATCH 21/46] [IMP] hiding of CR Actions --- spp_change_request/models/mixins/source_mixin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spp_change_request/models/mixins/source_mixin.py b/spp_change_request/models/mixins/source_mixin.py index 77338aa77..fe7c0c3f0 100644 --- a/spp_change_request/models/mixins/source_mixin.py +++ b/spp_change_request/models/mixins/source_mixin.py @@ -88,9 +88,11 @@ def _compute_show_cr_actions(self): rec.show_cr_actions = ( rec.validation_stage == "local" and user.has_group("spp_change_request.group_spp_change_request_validator") + and user.id == rec.assign_to_id.id ) or ( rec.validation_stage == "hq" and user.has_group("spp_change_request.group_spp_change_request_hq_validator") + and user.id == rec.assign_to_id.id ) def _copy_group_member_ids(self, group_id_field, group_ref_field="registrant_id"): From 74db0f23af804225a346b2973b9044b0c60732ca Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 12:33:38 +0800 Subject: [PATCH 22/46] [IMP] current user assigned compute --- spp_change_request_base/models/change_request.py | 5 ++++- spp_change_request_base/models/mixins/source_mixin.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/spp_change_request_base/models/change_request.py b/spp_change_request_base/models/change_request.py index fe54fb069..2f046dd6e 100644 --- a/spp_change_request_base/models/change_request.py +++ b/spp_change_request_base/models/change_request.py @@ -744,7 +744,10 @@ def _compute_current_user_assigned(self): """ for rec in self: rec.current_user_assigned = False - if self.env.context.get("uid", False) == rec.assign_to_id.id: + user_id = self.env.user + if not rec.assign_to_id: + continue + if user_id.id == rec.assign_to_id.id: rec.current_user_assigned = True diff --git a/spp_change_request_base/models/mixins/source_mixin.py b/spp_change_request_base/models/mixins/source_mixin.py index 1f64514ae..e37a532c7 100644 --- a/spp_change_request_base/models/mixins/source_mixin.py +++ b/spp_change_request_base/models/mixins/source_mixin.py @@ -610,7 +610,10 @@ def _compute_current_user_assigned(self): """ for rec in self: rec.current_user_assigned = False - if self.env.context.get("uid", False) == rec.assign_to_id.id: + user_id = self.env.user + if not rec.assign_to_id: + continue + if user_id.id == rec.assign_to_id.id: rec.current_user_assigned = True def check_required_documents(self, additional_required_doc_type=None): From 5d38d5d5f66127caaa59285b7d1d65fdf1a439f5 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 12:37:35 +0800 Subject: [PATCH 23/46] [IMP] hq group on assign action --- .../views/change_request_change_info_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spp_change_request_change_info/views/change_request_change_info_view.xml b/spp_change_request_change_info/views/change_request_change_info_view.xml index 16e081b62..81f98b94c 100644 --- a/spp_change_request_change_info/views/change_request_change_info_view.xml +++ b/spp_change_request_change_info/views/change_request_change_info_view.xml @@ -411,7 +411,7 @@ class="btn-primary" string="Assign To Me" invisible="current_user_assigned or state not in ('draft', 'pending','validated', 'rejected')" - groups="g2p_registry_base.group_g2p_admin,spp_change_request.group_spp_change_request_validator,spp_change_request.group_spp_change_request_applicator" + groups="g2p_registry_base.group_g2p_admin,spp_change_request.group_spp_change_request_validator,spp_change_request.group_spp_change_request_applicator,spp_change_request.group_spp_change_request_hq_validator" /> From 0643f51b5e9fe9fe39261102a5e6954a2d911439 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 15:25:22 +0800 Subject: [PATCH 29/46] [IMP] assign action --- spp_change_request/models/mixins/source_mixin.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spp_change_request/models/mixins/source_mixin.py b/spp_change_request/models/mixins/source_mixin.py index 94f69fe93..2eb3981fb 100644 --- a/spp_change_request/models/mixins/source_mixin.py +++ b/spp_change_request/models/mixins/source_mixin.py @@ -100,6 +100,8 @@ def _compute_show_cr_actions(self): def _compute_show_assign_button(self): for rec in self: user = self.env.user + assigned_id = rec.assign_to_id.id if rec.assign_to_id else None + user_not_assigned = True if assigned_id and assigned_id != user.id else False rec.show_assign_button = ( rec.state in ("draft", "pending", "validated", "rejected") and ( @@ -108,7 +110,7 @@ def _compute_show_assign_button(self): ) or ( rec.validation_stage == "hq" and user.has_group("spp_change_request.group_spp_change_request_hq_validator") - ) or user.has_group("g2p_registry_base.group_g2p_admin") + ) and (user_not_assigned or not rec.assign_to_id) or user.has_group("g2p_registry_base.group_g2p_admin") ) def _compute_show_reassign_button(self): @@ -123,7 +125,7 @@ def _compute_show_reassign_button(self): rec.validation_stage == "hq" and user.has_group("spp_change_request.group_spp_change_request_hq_validator") ) or user.has_group("g2p_registry_base.group_g2p_admin") - ) and rec.assign_to_id and rec.assign_to_id.id != user.id + ) and rec.assign_to_id.id == user.id def _copy_group_member_ids(self, group_id_field, group_ref_field="registrant_id"): for rec in self: From 53e265da298e6ae1cb0914339de92865ff0367c4 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 15:29:50 +0800 Subject: [PATCH 30/46] [IMP] assign action --- spp_change_request_base/models/change_request.py | 3 ++- spp_change_request_base/models/mixins/source_mixin.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/spp_change_request_base/models/change_request.py b/spp_change_request_base/models/change_request.py index 2f046dd6e..7ae63c087 100644 --- a/spp_change_request_base/models/change_request.py +++ b/spp_change_request_base/models/change_request.py @@ -282,7 +282,8 @@ def open_user_assignment_wiz(self): assign_self = False if rec.assign_to_id: if rec.assign_to_id.id != self.env.user.id: - if self.env.user.id == self.create_uid: + assign_self = True + if self.env.user.id != (self.change_request_id.last_validated_by_id.id if self.change_request_id.last_validated_by_id else self.assign_to_id.id): assign_self = True elif is_admin: assign_self = False diff --git a/spp_change_request_base/models/mixins/source_mixin.py b/spp_change_request_base/models/mixins/source_mixin.py index 576ea14de..3f9653701 100644 --- a/spp_change_request_base/models/mixins/source_mixin.py +++ b/spp_change_request_base/models/mixins/source_mixin.py @@ -536,7 +536,7 @@ def open_user_assignment_wiz(self): if rec.change_request_id.assign_to_id: if rec.change_request_id.assign_to_id.id != self.env.user.id: assign_self = True - if self.env.user.id != (self.change_request_id.last_validate_by_id.id if self.change_request_id.last_validate_by_id else self.assign_to_id.id): + if self.env.user.id != (self.change_request_id.last_validated_by_id.id if self.change_request_id.last_validated_by_id else self.assign_to_id.id): assign_self = True elif is_admin: assign_self = False From b0d105a194ebcc9e59e1f46ba5bbfaef4a3d9200 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 15:33:25 +0800 Subject: [PATCH 31/46] [IMP] showing of preview button --- spp_dms/static/src/xml/preview_binary_field.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spp_dms/static/src/xml/preview_binary_field.xml b/spp_dms/static/src/xml/preview_binary_field.xml index 5fa7687de..3d836f405 100644 --- a/spp_dms/static/src/xml/preview_binary_field.xml +++ b/spp_dms/static/src/xml/preview_binary_field.xml @@ -7,7 +7,7 @@ class="btn btn-success" t-on-click="onFilePreview" t-att-title="'View ' + props.record.data.name" - t-if="props.record.data.name and props.record.data.id" + t-if="props.record.data.name and (props.record.data.id or props.record.id)" > From 17e675064a124473837ed524e194ab141fe96681 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 15:36:14 +0800 Subject: [PATCH 32/46] [IMP] showing of preview button --- spp_dms/static/src/xml/preview_binary_field.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spp_dms/static/src/xml/preview_binary_field.xml b/spp_dms/static/src/xml/preview_binary_field.xml index 3d836f405..56ff15c8d 100644 --- a/spp_dms/static/src/xml/preview_binary_field.xml +++ b/spp_dms/static/src/xml/preview_binary_field.xml @@ -7,7 +7,7 @@ class="btn btn-success" t-on-click="onFilePreview" t-att-title="'View ' + props.record.data.name" - t-if="props.record.data.name and (props.record.data.id or props.record.id)" + t-if="props.record.data.create_date" > From 99b81e53b5e12a5aeaede836fbe38f3e302ab95f Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 15:38:37 +0800 Subject: [PATCH 33/46] [IMP] showing of preview button --- spp_dms/views/dms_file_views.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spp_dms/views/dms_file_views.xml b/spp_dms/views/dms_file_views.xml index 1d4df602f..7106f7971 100644 --- a/spp_dms/views/dms_file_views.xml +++ b/spp_dms/views/dms_file_views.xml @@ -45,6 +45,8 @@ + + From 03ea790b01cc9198a17a8445f680b3117a18ce57 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Wed, 8 Oct 2025 15:42:56 +0800 Subject: [PATCH 34/46] [FIX] apply changes to other cr types --- .../models/mixins/source_mixin.py | 17 +++++++++++------ .../views/change_request_add_children_view.xml | 8 +++++--- .../views/change_request_add_farmer_view.xml | 8 +++++--- .../change_request_add_group_to_group_view.xml | 8 +++++--- .../models/change_request.py | 6 +++++- .../models/mixins/source_mixin.py | 6 +++++- .../views/change_request_create_farm_view.xml | 8 +++++--- .../views/change_request_create_group_view.xml | 8 +++++--- .../views/change_request_edit_farm_view.xml | 8 +++++--- .../views/change_request_edit_farmer_view.xml | 8 +++++--- 10 files changed, 56 insertions(+), 29 deletions(-) diff --git a/spp_change_request/models/mixins/source_mixin.py b/spp_change_request/models/mixins/source_mixin.py index 2eb3981fb..7e6be1fa8 100644 --- a/spp_change_request/models/mixins/source_mixin.py +++ b/spp_change_request/models/mixins/source_mixin.py @@ -96,7 +96,7 @@ def _compute_show_cr_actions(self): and user.has_group("spp_change_request.group_spp_change_request_hq_validator") and user.id == rec.assign_to_id.id ) - + def _compute_show_assign_button(self): for rec in self: user = self.env.user @@ -107,12 +107,15 @@ def _compute_show_assign_button(self): and ( rec.validation_stage == "local" and user.has_group("spp_change_request.group_spp_change_request_validator") - ) or ( + ) + or ( rec.validation_stage == "hq" and user.has_group("spp_change_request.group_spp_change_request_hq_validator") - ) and (user_not_assigned or not rec.assign_to_id) or user.has_group("g2p_registry_base.group_g2p_admin") + ) + and (user_not_assigned or not rec.assign_to_id) + or user.has_group("g2p_registry_base.group_g2p_admin") ) - + def _compute_show_reassign_button(self): for rec in self: user = self.env.user @@ -121,10 +124,12 @@ def _compute_show_reassign_button(self): and ( rec.validation_stage == "local" and user.has_group("spp_change_request.group_spp_change_request_validator") - ) or ( + ) + or ( rec.validation_stage == "hq" and user.has_group("spp_change_request.group_spp_change_request_hq_validator") - ) or user.has_group("g2p_registry_base.group_g2p_admin") + ) + or user.has_group("g2p_registry_base.group_g2p_admin") ) and rec.assign_to_id.id == user.id def _copy_group_member_ids(self, group_id_field, group_ref_field="registrant_id"): diff --git a/spp_change_request_add_children_demo/views/change_request_add_children_view.xml b/spp_change_request_add_children_demo/views/change_request_add_children_view.xml index feca71d56..18ad8a5e6 100644 --- a/spp_change_request_add_children_demo/views/change_request_add_children_view.xml +++ b/spp_change_request_add_children_demo/views/change_request_add_children_view.xml @@ -350,13 +350,15 @@
+ +