Skip to content

Commit 4e0a51a

Browse files
committed
added farmer group in the generation of farmer data
1 parent c32f31a commit 4e0a51a

File tree

2 files changed

+139
-20
lines changed

2 files changed

+139
-20
lines changed

spp_farmer_registry_laos/models/generate_farmer_data.py

Lines changed: 133 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,109 @@
143143
"Wanjiru",
144144
]
145145

146+
FARMER_GROUP_NAMES = [
147+
"FarmMates",
148+
"AgriAllies",
149+
"CropComrades",
150+
"SeedSquad",
151+
"HarvestHelpers",
152+
"PlowPals",
153+
"SowBuddies",
154+
"GrowGuild",
155+
"MeadowMates",
156+
"TerraTroop",
157+
"CultivateCrew",
158+
"FieldFriends",
159+
"EarthEntourage",
160+
"PasturePosse",
161+
"TillerTeam",
162+
"GrainGang",
163+
"AgricAmigos",
164+
"PlantPioneers",
165+
"SoilSiblings",
166+
"OrchardOrder",
167+
"RuralRangers",
168+
"HomesteadHomies",
169+
"FertileFellows",
170+
"BountyBuddies",
171+
"SproutSquad",
172+
"CropCohort",
173+
"AgriAffiliates",
174+
"FarmFaction",
175+
"HarvestHorde",
176+
"CultivarClan",
177+
"YieldYielders",
178+
"GreenGuardians",
179+
"TillTribe",
180+
"MeadowMilitia",
181+
"SeedlingSociety",
182+
"CropCircleCrew",
183+
"FarmForce",
184+
"AgronomyAlliance",
185+
"EarthbornEchelon",
186+
"GrowGroup",
187+
"PastoralPack",
188+
"SoilSquadrons",
189+
"PlowPartners",
190+
"HarvestHive",
191+
"RuralRebels",
192+
"FieldFaction",
193+
"PlantingParty",
194+
"TerraTribe",
195+
"GrowthGroupies",
196+
"AgrarianArmy",
197+
"SeedSoldiers",
198+
"FieldForce",
199+
"CropCollective",
200+
"HarvestHuddle",
201+
"PlantPals",
202+
"MeadowMenagerie",
203+
"AgriAllstars",
204+
"BountyBrigade",
205+
"PasturePals",
206+
"SowSquadrons",
207+
"FieldFellows",
208+
"EarthEmissaries",
209+
"TillageTroopers",
210+
"SproutSquadron",
211+
"HarvestHeroes",
212+
"CropCrusaders",
213+
"GreenGroveGroupies",
214+
"SoilSoldiers",
215+
"MeadowMavens",
216+
"FarmFellows",
217+
"SeedlingSquad",
218+
"GrowerGang",
219+
"OrchardOutfit",
220+
"PlantingPlatoon",
221+
"CultivarCompanions",
222+
"AgriArtisans",
223+
"TillerTribe",
224+
"FarmFrontiers",
225+
"HarvestHenchmen",
226+
"AgrarianAdvocates",
227+
"CropCommandos",
228+
"PastoralPioneers",
229+
"FieldFrontiersmen",
230+
"SoilSavants",
231+
"Growers'Guildsmen",
232+
"EarthwiseElite",
233+
"MeadowMasters",
234+
"RuralRanks",
235+
"HarvestHonorables",
236+
"CropConsortium",
237+
"FarmFrontFaction",
238+
"PloughPatrol",
239+
"SowerSquadrons",
240+
"PasturePartisans",
241+
"TerraTroopers",
242+
"YieldYodas",
243+
"AgriAssortment",
244+
"GreenfieldGuard",
245+
"SoilSentries",
246+
"FarmsteadFellowship",
247+
]
248+
146249
PRODUCTS = [
147250
{
148251
"id": 1,
@@ -252,7 +355,7 @@ class SPPLaosGenerateFarmerData(models.Model):
252355
_description = "Generate Farm Data For Laos"
253356

254357
name = fields.Char()
255-
num_groups = fields.Integer("Number of Groups", default=1)
358+
num_groups = fields.Integer("Number of Farmer Groups", default=1)
256359
state = fields.Selection(
257360
selection=[
258361
("draft", "Draft"),
@@ -272,24 +375,37 @@ def generate_sample_data(self):
272375
def _generate_sample_data(self, **kwargs):
273376
res = kwargs.get("res")
274377

378+
kind_farmer_group_id = self.env.ref("spp_farmer_registry_laos.kind_farmer_group").id
275379
kind_farm_id = self.env.ref("spp_farmer_registry_base.kind_farm").id
276380
num_groups = min(res.num_groups, 1000)
277381

278-
for i in range(0, num_groups):
279-
group_id = res._generate_group_data(i, kind_farm_id)
280-
self._generate_event_data_cycle2a(group_id)
281-
self._generate_event_data_cycle2b(group_id)
282-
self._generate_event_data_cycle2c(group_id)
283-
self._generate_event_data_cycle3a(group_id)
284-
self._generate_event_data_cycle3b(group_id)
285-
land_record_id = res._generate_land_record_record(group_id)
286-
group_id.farm_land_rec_id = land_record_id.id
287-
group_id.coordinates = land_record_id.land_coordinates
288-
product = random.choice(PRODUCTS)
289-
res._generate_farm_activity(group_id, product)
290-
291-
if res.state == "draft":
292-
res.update({"state": "generate"})
382+
for i in range(1, num_groups + 1):
383+
farmer_group_name = f"Farmer Group {random.choice(FARMER_GROUP_NAMES)}"
384+
farmer_group_id = res._generate_group_data(i, kind_farmer_group_id, farmer_group_name)
385+
386+
for j in range(random.randint(1, 5)):
387+
group_name = f"{random.choice(NAMES)} Farm"
388+
group_id = res._generate_group_data(j, kind_farm_id, group_name)
389+
self._generate_event_data_cycle2a(group_id)
390+
self._generate_event_data_cycle2b(group_id)
391+
self._generate_event_data_cycle2c(group_id)
392+
self._generate_event_data_cycle3a(group_id)
393+
self._generate_event_data_cycle3b(group_id)
394+
land_record_id = res._generate_land_record_record(group_id)
395+
group_id.farm_land_rec_id = land_record_id.id
396+
group_id.coordinates = land_record_id.land_coordinates
397+
product = random.choice(PRODUCTS)
398+
res._generate_farm_activity(group_id, product)
399+
400+
self.env["g2p.group.membership"].create(
401+
{
402+
"group": farmer_group_id.id,
403+
"individual": group_id.id,
404+
}
405+
)
406+
407+
if res.state == "draft":
408+
res.update({"state": "generate"})
293409

294410
msg = "Task Queue called task: model [{}] and method [{}].".format(
295411
self._name,
@@ -298,8 +414,7 @@ def _generate_sample_data(self, **kwargs):
298414

299415
return {"result": msg, "res_model": self._name, "res_ids": [res.id]}
300416

301-
def _generate_group_data(self, index, kind_id):
302-
group_name = f"{random.choice(NAMES)} Farm"
417+
def _generate_group_data(self, index, kind_id, group_name):
303418
id_group = "demo." + hashlib.md5(f"{group_name} {index}".encode()).hexdigest()
304419

305420
group_vals = {

spp_farmer_registry_laos/views/generate_farmer_data_view.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,13 @@
4343
<h1>
4444
<field id="name" name="name" />
4545
</h1>
46-
<label for="num_groups" string="Number of Groups:" placeholder="Name..." />
46+
<label for="num_groups" string="Number of Farmer Groups:" placeholder="Name..." />
4747
<h2>
48-
<field id="num_groups" name="num_groups" placeholder="Number of groups..." />
48+
<field
49+
id="num_groups"
50+
name="num_groups"
51+
placeholder="Number of farmer groups..."
52+
/>
4953
</h2>
5054
</div>
5155

0 commit comments

Comments
 (0)