Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
1a4f100
[REM] predefined ID Type
emjay0921 Oct 7, 2025
4517418
[ADD] disable of delete and archive on farmer
emjay0921 Oct 7, 2025
7c23afb
[FIX] disable of delete and archive on farmer
emjay0921 Oct 7, 2025
cf5d631
[FIX] disable of delete and archive on farmer
emjay0921 Oct 7, 2025
73299d9
[FIX] disable of delete and archive on farmer
emjay0921 Oct 7, 2025
90f1b4d
[FIX] disable of delete and archive on farmer
emjay0921 Oct 7, 2025
58e0c0c
[FIX] disable of delete and archive on farmer
emjay0921 Oct 7, 2025
4eae4d6
[IMP] disable of delete on social and spmis
emjay0921 Oct 7, 2025
2f46c6f
[IMP] access rights and actions groups
emjay0921 Oct 7, 2025
4c0cd98
[FIX] pre-commit
emjay0921 Oct 7, 2025
f818807
[FIX] disable delete on entitlements
emjay0921 Oct 8, 2025
1221d23
[FIX] spp_change_request_base: source mixin
emjay0921 Oct 8, 2025
64c733e
[ADD] validation stage
emjay0921 Oct 8, 2025
32df01a
[IMP] hiding of actions
emjay0921 Oct 8, 2025
d5cb6b7
[FIX] hiding of actions
emjay0921 Oct 8, 2025
a0dd4f2
[IMP] move new fields to spp_change_request not on base
emjay0921 Oct 8, 2025
c485c8c
[FIX] error
emjay0921 Oct 8, 2025
bb36553
[IMP] apply changes to other CR Types
emjay0921 Oct 8, 2025
7c9b59d
[ADD] admin on actions for batches
emjay0921 Oct 8, 2025
81c3f0f
[IMP] hiding of preview if no file
emjay0921 Oct 8, 2025
3eaa1f8
[IMP] hiding of CR Actions
emjay0921 Oct 8, 2025
74db0f2
[IMP] current user assigned compute
emjay0921 Oct 8, 2025
5d38d5d
[IMP] hq group on assign action
emjay0921 Oct 8, 2025
fae7077
[IMP] apply changes to other CR types
emjay0921 Oct 8, 2025
7eb52b7
[IMP] disable delete
emjay0921 Oct 8, 2025
f7d10d2
[FIX] delete instead of create
emjay0921 Oct 8, 2025
0bff1fd
[IMP] assign action
emjay0921 Oct 8, 2025
2a095fb
[IMP] showing of preview button
emjay0921 Oct 8, 2025
0643f51
[IMP] assign action
emjay0921 Oct 8, 2025
53e265d
[IMP] assign action
emjay0921 Oct 8, 2025
b0d105a
[IMP] showing of preview button
emjay0921 Oct 8, 2025
17e6750
[IMP] showing of preview button
emjay0921 Oct 8, 2025
99b81e5
[IMP] showing of preview button
emjay0921 Oct 8, 2025
03ea790
[FIX] apply changes to other cr types
emjay0921 Oct 8, 2025
e6a72ac
[REM] faulty test
emjay0921 Oct 8, 2025
7a495a0
[FIX] pre-commit
emjay0921 Oct 8, 2025
efd06c8
[ADD] change request tests
emjay0921 Oct 8, 2025
ce1b465
[ADD] more tests
emjay0921 Oct 8, 2025
c1a5a3b
[FIX] import
emjay0921 Oct 8, 2025
50343db
[FIX] test error
emjay0921 Oct 8, 2025
7e1f765
[FIX] test
emjay0921 Oct 8, 2025
20a1142
[FIX] insert id to be removed
emjay0921 Oct 8, 2025
33e98ee
[FIX] test and remove national ID
emjay0921 Oct 8, 2025
0b288ec
[FIX] checking for hiding assign button
emjay0921 Oct 8, 2025
b7a021e
[FIX] checking for hiding assign button
emjay0921 Oct 8, 2025
bfe2c85
[FIX] edit farmer test
emjay0921 Oct 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 1 addition & 9 deletions spp_base_demo/tests/test_locale_providers.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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)
10 changes: 10 additions & 0 deletions spp_base_farmer_registry/views/group_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -304,4 +304,14 @@
</xpath>
</field>
</record>
<record id="view_groups_list_farmer_registry_tree" model="ir.ui.view">
<field name="name">view_groups_list_farmer_registry_tree</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="g2p_registry_group.view_groups_list_tree" />
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="delete">0</attribute>
</xpath>
</field>
</record>
</odoo>
10 changes: 10 additions & 0 deletions spp_base_farmer_registry/views/individual_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,14 @@
</xpath>
</field>
</record>
<record id="view_individuals_list_farmer_registry_tree" model="ir.ui.view">
<field name="name">view_individuals_list_farmer_registry_tree</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="g2p_registry_individual.view_individuals_list_tree" />
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="delete">0</attribute>
</xpath>
</field>
</record>
</odoo>
4 changes: 3 additions & 1 deletion spp_base_social_registry/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@
"spp_base_spmis",
],
"external_dependencies": {},
"data": [],
"data": [
"views/registrant_view.xml",
],
"assets": {},
"demo": [],
"images": [],
Expand Down
26 changes: 26 additions & 0 deletions spp_base_social_registry/views/registrant_view.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>

<record id="view_individuals_list_social_registry_tree" model="ir.ui.view">
<field name="name">view_individuals_list_social_registry_tree</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="g2p_registry_individual.view_individuals_list_tree" />
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="delete">0</attribute>
</xpath>
</field>
</record>

<record id="view_groups_list_social_registry_tree" model="ir.ui.view">
<field name="name">view_groups_list_social_registry_tree</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="g2p_registry_group.view_groups_list_tree" />
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="delete">0</attribute>
</xpath>
</field>
</record>

</odoo>
22 changes: 22 additions & 0 deletions spp_base_spmis/views/registrant_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,26 @@
</field>
</record>

<record id="view_individuals_list_spmis_tree" model="ir.ui.view">
<field name="name">view_individuals_list_spmis_tree</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="g2p_registry_individual.view_individuals_list_tree" />
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="delete">0</attribute>
</xpath>
</field>
</record>

<record id="view_groups_list_spmis_tree" model="ir.ui.view">
<field name="name">view_groups_list_spmis_tree</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="g2p_registry_group.view_groups_list_tree" />
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="delete">0</attribute>
</xpath>
</field>
</record>

</odoo>
1 change: 1 addition & 0 deletions spp_change_request/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Part of OpenSPP. See LICENSE file for full copyright and licensing details.

from . import models
from .tests import test_models
32 changes: 32 additions & 0 deletions spp_change_request/models/change_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,38 @@ class ChangeRequestBase(models.Model):
domain=[("is_registrant", "=", True)],
) #: Registrant who submitted the change request

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"

@api.model
def _registrant_id_not_visible_in_request_type(self):
return []
Expand Down
57 changes: 57 additions & 0 deletions spp_change_request/models/mixins/source_mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,63 @@ class ChangeRequestAddChildren(models.Model):
# string="DMS Files",
# auto_join=True,
# )
validation_stage = fields.Selection(
string="Validation Stage",
related="change_request_id.validation_stage",
)
show_cr_actions = fields.Boolean(compute="_compute_show_cr_actions")
show_assign_button = fields.Boolean(compute="_compute_show_assign_button")
show_reassign_button = fields.Boolean(compute="_compute_show_reassign_button")

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.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 _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:
user_not_assigned = True if assigned_id != user.id else False

rec.show_assign_button = (
rec.state in ("draft", "pending", "validated", "rejected")
and (
rec.validation_stage == "local"
and user.has_group("spp_change_request.group_spp_change_request_validator")
)
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

def _compute_show_reassign_button(self):
for rec in self:
user = self.env.user
rec.show_reassign_button = (
rec.state in ("draft", "pending", "validated", "rejected")
and (
rec.validation_stage == "local"
and user.has_group("spp_change_request.group_spp_change_request_validator")
)
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 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:
Expand Down
53 changes: 0 additions & 53 deletions spp_change_request/tests/common.py

This file was deleted.

Loading
Loading