diff --git a/spp_base_common/__manifest__.py b/spp_base_common/__manifest__.py index c535e8df6..b3ad50cb0 100644 --- a/spp_base_common/__manifest__.py +++ b/spp_base_common/__manifest__.py @@ -23,6 +23,8 @@ "excludes": [], "external_dependencies": {}, "data": [ + "data/global_roles.xml", + "data/local_roles.xml", "security/security_access.xml", "security/ir.model.access.csv", "views/main_view.xml", diff --git a/spp_base_spmis/data/global_roles.xml b/spp_base_common/data/global_roles.xml similarity index 100% rename from spp_base_spmis/data/global_roles.xml rename to spp_base_common/data/global_roles.xml diff --git a/spp_base_spmis/data/local_roles.xml b/spp_base_common/data/local_roles.xml similarity index 100% rename from spp_base_spmis/data/local_roles.xml rename to spp_base_common/data/local_roles.xml diff --git a/spp_base_common/security/ir.model.access.csv b/spp_base_common/security/ir.model.access.csv index eb27fe7ed..6324ddaf4 100644 --- a/spp_base_common/security/ir.model.access.csv +++ b/spp_base_common/security/ir.model.access.csv @@ -9,6 +9,8 @@ id_type_read_registry_access,ID Type Read Access,g2p_registry_base.model_g2p_id_ spp_read_res_model_access,Res Model Read Access,base.model_ir_model,spp_base_common.read_registry,1,0,0,0 spp_read_res_model_fields_access,Res Model Fields Read Access,base.model_ir_model_fields,spp_base_common.read_registry,1,0,0,0 spp_phone_number_validation_read_access,Phone Number Validation Read Access,spp_base_common.model_spp_phone_validation,spp_base_common.read_registry,1,0,0,0 +spp_ir_action_act_window_read_access,IR Actions Act Window Read Access,base.model_ir_actions_act_window,spp_base_common.read_registry,1,0,0,0 +spp_ir_action_act_window_view_read_access,IR Actions Act Window View Read Access,base.model_ir_actions_act_window_view,spp_base_common.read_registry,1,0,0,0 res_partner_write_registry_access,Registry Write Access,base.model_res_partner,spp_base_common.write_registry,1,1,0,0 phone_number_write_registry_access,Phone Number Write Access,g2p_registry_base.model_g2p_phone_number,spp_base_common.write_registry,1,1,0,0 @@ -19,6 +21,8 @@ id_type_write_registry_access,ID Type Write Access,g2p_registry_base.model_g2p_i spp_write_res_model_access,Res Model Write Access,base.model_ir_model,spp_base_common.write_registry,1,1,0,0 spp_write_res_model_fields_access,Res Model Fields Write Access,base.model_ir_model_fields,spp_base_common.write_registry,1,1,0,0 spp_phone_number_validation_write_access,Phone Number Validation Write Access,spp_base_common.model_spp_phone_validation,spp_base_common.write_registry,1,1,0,0 +spp_ir_action_act_window_write_access,IR Actions Act Window Write Access,base.model_ir_actions_act_window,spp_base_common.write_registry,1,1,0,0 +spp_ir_action_act_window_view_write_access,IR Actions Act Window View Write Access,base.model_ir_actions_act_window_view,spp_base_common.write_registry,1,1,0,0 res_partner_create_registry_access,Registry Create Access,base.model_res_partner,spp_base_common.create_registry,1,0,1,0 phone_number_create_registry_access,Phone Number Create Access,g2p_registry_base.model_g2p_phone_number,spp_base_common.create_registry,1,0,1,0 @@ -29,3 +33,8 @@ id_type_create_registry_access,ID Type Create Access,g2p_registry_base.model_g2p spp_create_res_model_access,Res Model Create Access,base.model_ir_model,spp_base_common.create_registry,1,0,1,0 spp_create_res_model_fields_access,Res Model Fields Create Access,base.model_ir_model_fields,spp_base_common.create_registry,1,0,1,0 spp_phone_number_validation_create_access,Phone Number Validation Create Access,spp_base_common.model_spp_phone_validation,spp_base_common.create_registry,1,0,1,0 +spp_ir_action_act_window_create_access,IR Actions Act Window Create Access,base.model_ir_actions_act_window,spp_base_common.create_registry,1,0,1,0 +spp_ir_action_act_window_view_create_access,IR Actions Act Window View Create Access,base.model_ir_actions_act_window_view,spp_base_common.create_registry,1,0,1,0 + +spp_ir_actions_act_window_user,IR Actions Act Window User Access,base.model_ir_actions_act_window,base.group_user,1,0,0,0 +spp_ir_actions_act_window_view_user,IR Actions Act Window View User Access,base.model_ir_actions_act_window_view,base.group_user,1,0,0,0 diff --git a/spp_base_demo/tests/test_locale_providers.py b/spp_base_demo/tests/test_locale_providers.py index ed0d75bb3..9f39ce2e1 100644 --- a/spp_base_demo/tests/test_locale_providers.py +++ b/spp_base_demo/tests/test_locale_providers.py @@ -1,8 +1,6 @@ -from faker import Faker - from odoo.tests.common import TransactionCase -from ..locale_providers import create_faker, get_faker_provider +from ..locale_providers import get_faker_provider from ..locale_providers.en_KE import Provider as EnKeProvider from ..locale_providers.lo_LA import Provider as LoLaProvider from ..locale_providers.si_LK import Provider as SiLkProvider @@ -22,9 +20,3 @@ def test_get_faker_provider(self): self.assertEqual(get_faker_provider("sw_KE"), SwKeProvider) self.assertEqual(get_faker_provider("ta_LK"), TaLkProvider) self.assertEqual(get_faker_provider("en_US"), None) - - def test_create_faker(self): - fake = create_faker("en_KE") - self.assertIsInstance(fake, Faker) - self.assertIn(fake.first_name(), EnKeProvider.first_names) - self.assertIn(fake.last_name(), EnKeProvider.last_names) diff --git a/spp_base_farmer_registry/__manifest__.py b/spp_base_farmer_registry/__manifest__.py index 7ec59ddc2..8fc480c42 100644 --- a/spp_base_farmer_registry/__manifest__.py +++ b/spp_base_farmer_registry/__manifest__.py @@ -41,7 +41,6 @@ "security/ir.model.access.csv", "views/farm_season_view.xml", "data/kind_data.xml", - "data/id_data.xml", "views/res_partner.xml", "views/configuration_view.xml", "views/res_users.xml", diff --git a/spp_base_farmer_registry/data/id_data.xml b/spp_base_farmer_registry/data/id_data.xml deleted file mode 100644 index d673c9386..000000000 --- a/spp_base_farmer_registry/data/id_data.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Farmer National ID - - - diff --git a/spp_base_farmer_registry/i18n/lo.po b/spp_base_farmer_registry/i18n/lo.po index 81b33a14f..a1f5016a7 100644 --- a/spp_base_farmer_registry/i18n/lo.po +++ b/spp_base_farmer_registry/i18n/lo.po @@ -974,18 +974,6 @@ msgstr "ປະສົມປະສານ" msgid "Mobile Telephone Number" msgstr "ເບີໂທລະສັບມືຖື" -# Review needed: Terms 'National', 'ID' not in glossary. Used standard Lao -# term 'ເລກບັດປະຈຳຕົວປະຊາຊົນ', needs context check for the specific ID type -# intended. -#. module: spp_base_farmer_registry -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_g2p_program_membership__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_res_partner__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_res_users__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_spp_farmer__farmer_national_id -#, fuzzy -msgid "National ID Number" -msgstr "ເລກບັດປະຈຳຕົວປະຊາຊົນ" - #. module: spp_base_farmer_registry #: model:ir.model.fields.selection,name:spp_base_farmer_registry.selection__res_partner__highest_education_level__none #: model:ir.model.fields.selection,name:spp_base_farmer_registry.selection__spp_farmer__farmer_highest_education_level__none diff --git a/spp_base_farmer_registry/i18n/lo_LA.po b/spp_base_farmer_registry/i18n/lo_LA.po index 0b769d5a0..df63b40d4 100644 --- a/spp_base_farmer_registry/i18n/lo_LA.po +++ b/spp_base_farmer_registry/i18n/lo_LA.po @@ -877,14 +877,6 @@ msgstr "" msgid "Mobile Telephone Number" msgstr "" -#. module: spp_base_farmer_registry -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_g2p_program_membership__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_res_partner__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_res_users__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_spp_farmer__farmer_national_id -msgid "National ID Number" -msgstr "" - #. module: spp_base_farmer_registry #: model:ir.model.fields.selection,name:spp_base_farmer_registry.selection__res_partner__highest_education_level__none #: model:ir.model.fields.selection,name:spp_base_farmer_registry.selection__spp_farmer__farmer_highest_education_level__none diff --git a/spp_base_farmer_registry/i18n/spp_farmer_registry_base.pot b/spp_base_farmer_registry/i18n/spp_farmer_registry_base.pot index 577d745bf..908b034fd 100644 --- a/spp_base_farmer_registry/i18n/spp_farmer_registry_base.pot +++ b/spp_base_farmer_registry/i18n/spp_farmer_registry_base.pot @@ -875,14 +875,6 @@ msgstr "" msgid "Mobile Telephone Number" msgstr "" -#. module: spp_base_farmer_registry -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_g2p_program_membership__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_res_partner__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_res_users__farmer_national_id -#: model:ir.model.fields,field_description:spp_base_farmer_registry.field_spp_farmer__farmer_national_id -msgid "National ID Number" -msgstr "" - #. module: spp_base_farmer_registry #: model:ir.model.fields.selection,name:spp_base_farmer_registry.selection__res_partner__highest_education_level__none #: model:ir.model.fields.selection,name:spp_base_farmer_registry.selection__spp_farmer__farmer_highest_education_level__none diff --git a/spp_base_farmer_registry/models/farm.py b/spp_base_farmer_registry/models/farm.py index 980c2d582..f12022e17 100644 --- a/spp_base_farmer_registry/models/farm.py +++ b/spp_base_farmer_registry/models/farm.py @@ -66,20 +66,6 @@ def update_group_head_member(self, new_group_head): if current_phone: phone_number = current_phone.phone_no - current_id = self.env["g2p.reg.id"].search( - [ - ("partner_id", "=", new_group_head.id), - ( - "id_type", - "=", - self.env.ref("spp_base_farmer_registry.id_type_national_id").id, - ), - ] - ) - national_id = None - if current_id: - national_id = current_id.value - self.farmer_id.write( { "farmer_individual_id": new_group_head.id, @@ -94,13 +80,11 @@ def update_group_head_member(self, new_group_head): "farmer_email": new_group_head.email, "farmer_formal_agricultural": new_group_head.formal_agricultural_training, "farmer_highest_education_level": new_group_head.highest_education_level, - "farmer_national_id": national_id, "farmer_mobile_tel": phone_number, } ) self.write( { - "farmer_national_id": national_id, "farmer_household_size": new_group_head.farmer_household_size, "farmer_postal_address": new_group_head.farmer_postal_address, } @@ -193,7 +177,6 @@ def create_update_farmer(self, farm): "given_name": farm.farmer_given_name, "name": farmer_name, "addl_name": farm.farmer_addtnl_name or None, - "farmer_national_id": farm.farmer_national_id or None, "gender": farm.farmer_sex.id or None, "marital_status": farm.farmer_marital_status or None, "birthdate": farm.farmer_birthdate or None, @@ -217,11 +200,9 @@ def create_update_farmer(self, farm): individual.farmer_id = farm.farmer_id.id farm.farmer_individual_id = individual.id self.insert_phone_number(farm.farmer_individual_id.id, farm.farmer_mobile_tel) - self.insert_id(farm.farmer_individual_id.id, farm.farmer_national_id) else: self.insert_phone_number(farm.farmer_individual_id.id, farm.farmer_mobile_tel) - self.insert_id(farm.farmer_individual_id.id, farm.farmer_national_id) farm.farmer_individual_id.write(individual_vals) def insert_phone_number(self, individual_id, mobile_no): @@ -233,40 +214,6 @@ def insert_phone_number(self, individual_id, mobile_no): else: current_phone.write({"phone_no": mobile_no}) - def insert_id(self, individual_id, national_id): - if national_id: - current_id = self.env["g2p.reg.id"].search( - [ - ("partner_id", "=", individual_id), - ("value", "=", national_id), - ( - "id_type", - "=", - self.env.ref("spp_base_farmer_registry.id_type_national_id").id, - ), - ] - ) - if not current_id: - existing_national_id = self.env["g2p.reg.id"].search( - [ - ("partner_id", "=", individual_id), - ( - "id_type", - "=", - self.env.ref("spp_base_farmer_registry.id_type_national_id").id, - ), - ] - ) - id_vals = { - "partner_id": individual_id, - "value": national_id, - "id_type": self.env.ref("spp_base_farmer_registry.id_type_national_id").id, - } - if existing_national_id: - existing_national_id.write(id_vals) - else: - self.env["g2p.reg.id"].create(id_vals) - def update_farmer(self, individual): farmer_vals = { "farmer_family_name": individual.family_name, @@ -281,19 +228,6 @@ def update_farmer(self, individual): "farmer_formal_agricultural": individual.formal_agricultural_training or None, "farmer_highest_education_level": individual.highest_education_level or None, } - farmer_national_id = self.env["g2p.reg.id"].search( - [ - ("partner_id", "=", individual.id), - ( - "id_type", - "=", - self.env.ref("spp_base_farmer_registry.id_type_national_id").id, - ), - ], - limit=1, - ) - if farmer_national_id: - farmer_vals.update({"farmer_national_id": farmer_national_id.value or None}) farmer_phone = self.env["g2p.phone.number"].search( [ diff --git a/spp_base_farmer_registry/models/farmer.py b/spp_base_farmer_registry/models/farmer.py index 573e3616c..1c92bc33e 100644 --- a/spp_base_farmer_registry/models/farmer.py +++ b/spp_base_farmer_registry/models/farmer.py @@ -6,7 +6,6 @@ class Farmer(models.Model): experience_years = fields.Integer(string="Years of Experience") formal_agricultural_training = fields.Boolean("Do you have formal training in agriculture?") - farmer_national_id = fields.Char(string="National ID Number") farmer_household_size = fields.Integer() farmer_postal_address = fields.Char("Postal Address") marital_status = fields.Selection( @@ -37,7 +36,6 @@ class TempFarmer(models.Model): farmer_family_name = fields.Char() farmer_given_name = fields.Char() farmer_addtnl_name = fields.Char(string="Farmer Additional Name") - farmer_national_id = fields.Char(string="National ID Number") farmer_mobile_tel = fields.Char(string="Mobile Telephone Number") farmer_sex = fields.Many2one("gender.type", "Sex", ondelete="restrict") farmer_birthdate = fields.Date("Farmer Date of Birth") diff --git a/spp_base_farmer_registry/tests/test_farm.py b/spp_base_farmer_registry/tests/test_farm.py index 03498ed6f..5ff445e7f 100644 --- a/spp_base_farmer_registry/tests/test_farm.py +++ b/spp_base_farmer_registry/tests/test_farm.py @@ -13,9 +13,6 @@ def setUpClass(cls): cls.gender_female = cls.env["gender.type"].create({"code": "F", "value": "female"}) - # Create ID type reference - cls.national_id_type = cls.env["g2p.id.type"].search([("name", "=", "Farmer National ID")], limit=1) - # Create group membership kind for head cls.head_membership_kind = cls.env["g2p.group.membership.kind"].search([("name", "=", "Head")], limit=1) @@ -32,7 +29,6 @@ def setUpClass(cls): { "farmer_family_name": "Test", "farmer_given_name": "Farmer", - "farmer_national_id": "123456789", "farmer_mobile_tel": "09123456789", } ) @@ -64,7 +60,6 @@ def setUpClass(cls): "farmer_family_name": "John", "farmer_given_name": "Franco", "farmer_mobile_tel": "09123456789", - "farmer_national_id": "1122334455", "farmer_sex": cls.gender_male.id, "farmer_birthdate": "1990-01-01", "farmer_household_size": 4, @@ -95,7 +90,6 @@ def test_01_create_farm(self): "farmer_family_name": "Smith", "farmer_given_name": "John", "farmer_mobile_tel": "09876543210", - "farmer_national_id": "987654321", "farmer_sex": self.gender_male.id, "farm_detail_id": self.farm_details.id, "farm_land_rec_id": self.land_record.id, @@ -138,7 +132,6 @@ def test_04_write_farm(self): # "farmer_family_name": "Doe", # "farmer_given_name": "Jane", # "farmer_mobile_tel": "09111111111", - # "farmer_national_id": "111222333", # "farmer_sex": self.gender_female.id, # "farm_detail_id": self.farm_details.id, # "farm_land_rec_id": self.land_record.id, @@ -171,31 +164,11 @@ def test_06_insert_phone_number(self): self.farm.insert_phone_number(self.individual.id, "08888888888") self.assertEqual(phone_record.phone_no, "08888888888") - # def test_07_insert_id(self): - # """Test inserting national ID""" - # # Test creating new ID - # self.farm.insert_id(self.individual2.id, "123456789") - - # id_record = self.env["g2p.reg.id"].search( - # [("partner_id", "=", self.individual2.id), ("id_type", "=", self.national_id_type.id)], limit=1 - # ) - - # self.assertTrue(id_record) - # self.assertEqual(id_record.value, "123456789") - - # # Test updating existing ID - # self.farm.insert_id(self.individual2.id, "987654321") - # self.assertEqual(id_record.value, "987654321") - def test_08_update_farmer(self): """Test updating farmer from individual""" # Create phone number and ID for individual self.env["g2p.phone.number"].create({"partner_id": self.individual.id, "phone_no": "07777777777"}) - self.env["g2p.reg.id"].create( - {"partner_id": self.individual.id, "value": "555444333", "id_type": self.national_id_type.id} - ) - # Create farmer record for individual individual_farmer = self.env["spp.farmer"].create( {"farmer_family_name": "Individual", "farmer_given_name": "Farmer"} @@ -209,7 +182,6 @@ def test_08_update_farmer(self): self.assertEqual(individual_farmer.farmer_family_name, "Franco") self.assertEqual(individual_farmer.farmer_given_name, "Chin") self.assertEqual(individual_farmer.farmer_mobile_tel, "07777777777") - self.assertEqual(individual_farmer.farmer_national_id, "555444333") def test_09_get_geojson(self): """Test generating GeoJSON from farms""" @@ -274,7 +246,6 @@ def test_12_create_update_farmer_with_additional_name(self): "farmer_given_name": "John", "farmer_addtnl_name": "Middle", "farmer_mobile_tel": "09111111111", - "farmer_national_id": "111222333", "farmer_sex": self.gender_male.id, "farm_detail_id": self.farm_details.id, "farm_land_rec_id": self.land_record.id, @@ -301,17 +272,6 @@ def test_13_insert_phone_number_empty(self): self.assertFalse(phone_record) - def test_14_insert_id_empty(self): - """Test inserting empty national ID""" - # Should not create ID record for empty value - self.farm.insert_id(self.individual.id, "") - - id_record = self.env["g2p.reg.id"].search( - [("partner_id", "=", self.individual.id), ("id_type", "=", self.national_id_type.id)], limit=1 - ) - - self.assertFalse(id_record) - def test_15_update_farmer_no_phone_or_id(self): """Test updating farmer when individual has no phone or ID""" # Create farmer record for individual diff --git a/spp_base_farmer_registry/views/group_view.xml b/spp_base_farmer_registry/views/group_view.xml index cae8ba423..cb59d80dc 100644 --- a/spp_base_farmer_registry/views/group_view.xml +++ b/spp_base_farmer_registry/views/group_view.xml @@ -91,16 +91,6 @@ -
-
-
-
-
-
diff --git a/spp_base_spmis/__manifest__.py b/spp_base_spmis/__manifest__.py index d240329bf..a3fdcd298 100644 --- a/spp_base_spmis/__manifest__.py +++ b/spp_base_spmis/__manifest__.py @@ -50,8 +50,6 @@ ] }, # not directly required, pinned by Snyk to avoid a vulnerability and for fastapi, compatibility issues. "data": [ - "data/global_roles.xml", - "data/local_roles.xml", "data/top_up_card.xml", "security/ir.model.access.csv", "views/registrant_view.xml", diff --git a/spp_base_spmis/security/ir.model.access.csv b/spp_base_spmis/security/ir.model.access.csv index cd267b97e..97dd8b917 100644 --- a/spp_base_spmis/security/ir.model.access.csv +++ b/spp_base_spmis/security/ir.model.access.csv @@ -1,3 +1 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -spp_ir_actions_act_window_user,IR Actions Act Window User Access,base.model_ir_actions_act_window,base.group_user,1,0,0,0 -spp_ir_actions_act_window_view_user,IR Actions Act Window View User Access,base.model_ir_actions_act_window_view,base.group_user,1,0,0,0 diff --git a/spp_change_request_create_farm/models/change_request_create_farm.py b/spp_change_request_create_farm/models/change_request_create_farm.py index 9cfcecd21..107be28dd 100644 --- a/spp_change_request_create_farm/models/change_request_create_farm.py +++ b/spp_change_request_create_farm/models/change_request_create_farm.py @@ -278,7 +278,6 @@ def update_live_data(self): "farmer_family_name": self.farmer_family_name or None, "farmer_given_name": self.farmer_given_name or None, "farmer_addtnl_name": self.farmer_addtnl_name or None, - "farmer_national_id": self.farmer_national_id or None, "farmer_mobile_tel": self.farmer_mobile_tel or None, "farmer_sex": self.farmer_sex.id if self.farmer_sex else None, "farmer_birthdate": self.farmer_birthdate or None, diff --git a/spp_change_request_edit_farmer/models/change_request_edit_farmer.py b/spp_change_request_edit_farmer/models/change_request_edit_farmer.py index 160c3366b..5890318b3 100644 --- a/spp_change_request_edit_farmer/models/change_request_edit_farmer.py +++ b/spp_change_request_edit_farmer/models/change_request_edit_farmer.py @@ -207,9 +207,6 @@ def update_live_data(self): if self.mobile_tel: self.insert_phone_number(self.farmer_id.id, self.mobile_tel) - if self.farmer_national_id: - self.insert_id(self.farmer_id.id, self.farmer_national_id) - self.farmer_id.name_change() return self.farmer_id