Skip to content

Commit 7b8ebc8

Browse files
committed
[FIX] farmer generator
1 parent 6613468 commit 7b8ebc8

2 files changed

Lines changed: 16 additions & 7 deletions

File tree

spp_base_farmer_registry_demo/models/generate_demo_data.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,9 @@ def get_individual_vals(self, fake):
187187
})
188188

189189
return individual_vals
190+
191+
def head_member_getter(self, group):
192+
return True
190193

191194
def generate_groups(self, fake):
192195
"""Override to include farmer registry related data creation"""

spp_demo_common/models/demo_data_generator.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ def _generate_demo_data(self, fake):
146146
have_head_member = False
147147
new_group_name = False
148148
for _ in range(num_members):
149+
head_membership = self.head_member_getter(group)
149150
is_head_member = random.choice([True, False]) if not have_head_member else False
150151

151152
# Check if last member and no head member assigned yet
@@ -154,15 +155,20 @@ def _generate_demo_data(self, fake):
154155

155156
individual = self.generate_individuals(fake)
156157
membership_vals = self.get_group_membership_vals(fake, group, individual)
157-
if is_head_member:
158-
# Check if the group doesn't have a head member before proceeding
159-
if not group.group_membership_ids.filtered(lambda x: x.kind in [self.env.ref("g2p_registry_membership.group_membership_kind_head").id]):
160-
have_head_member = True
161-
new_group_name = individual.family_name
162-
group.name = new_group_name
163-
membership_vals["kind"] = [(4, self.env.ref("g2p_registry_membership.group_membership_kind_head").id)]
158+
if is_head_member and not head_membership:
159+
have_head_member = True
160+
new_group_name = individual.family_name
161+
group.name = new_group_name
162+
membership_vals["kind"] = [(4, self.env.ref("g2p_registry_membership.group_membership_kind_head").id)]
163+
164+
have_head_member = True if head_membership else False
164165

165166
self.env["g2p.group.membership"].create(membership_vals)
167+
168+
def head_member_getter(self, group):
169+
memberships = self.env["g2p.group.membership"].search([("group", "=", group.id)])
170+
head_membership = memberships.filtered(lambda x: x.kind in [self.env.ref("g2p_registry_membership.group_membership_kind_head").id])
171+
return head_membership
166172

167173
def _async_generate_demo_data(self):
168174
jobs = []

0 commit comments

Comments
 (0)