Skip to content

Commit 0dd631d

Browse files
committed
[chore] refactor function for clarity
1 parent b5f51b9 commit 0dd631d

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

spp_farmer_registry_base/models/group_membership.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,22 @@ class G2PGroupMembership(models.Model):
88
individual_gender = fields.Many2one("gender.type", related="individual.gender", readonly=True)
99

1010
def unlink(self):
11-
for rec in self:
12-
group_id = rec.group
13-
res = super(G2PGroupMembership, rec).unlink()
14-
if self.env.context.get("skip_head_check"):
15-
return res
11+
# Skip head check if specified in context
12+
if self.env.context.get("skip_head_check"):
13+
return super().unlink()
14+
15+
# Group records by their group to check head members
16+
groups_to_check = self.mapped("group")
17+
18+
# Perform the unlink operation
19+
result = super().unlink()
20+
21+
# Check if any group lost its head member
22+
for group in groups_to_check:
1623
if (
1724
self.env.ref("g2p_registry_membership.group_membership_kind_head").id
18-
not in group_id.group_membership_ids.mapped("kind").ids
25+
not in group.group_membership_ids.mapped("kind").ids
1926
):
2027
raise UserError(_("Farm must have a head member."))
21-
return res
28+
29+
return result

0 commit comments

Comments
 (0)