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