143
143
"Wanjiru" ,
144
144
]
145
145
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
+
146
249
PRODUCTS = [
147
250
{
148
251
"id" : 1 ,
@@ -252,7 +355,7 @@ class SPPLaosGenerateFarmerData(models.Model):
252
355
_description = "Generate Farm Data For Laos"
253
356
254
357
name = fields .Char ()
255
- num_groups = fields .Integer ("Number of Groups" , default = 1 )
358
+ num_groups = fields .Integer ("Number of Farmer Groups" , default = 1 )
256
359
state = fields .Selection (
257
360
selection = [
258
361
("draft" , "Draft" ),
@@ -272,24 +375,37 @@ def generate_sample_data(self):
272
375
def _generate_sample_data (self , ** kwargs ):
273
376
res = kwargs .get ("res" )
274
377
378
+ kind_farmer_group_id = self .env .ref ("spp_farmer_registry_laos.kind_farmer_group" ).id
275
379
kind_farm_id = self .env .ref ("spp_farmer_registry_base.kind_farm" ).id
276
380
num_groups = min (res .num_groups , 1000 )
277
381
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" })
293
409
294
410
msg = "Task Queue called task: model [{}] and method [{}]." .format (
295
411
self ._name ,
@@ -298,8 +414,7 @@ def _generate_sample_data(self, **kwargs):
298
414
299
415
return {"result" : msg , "res_model" : self ._name , "res_ids" : [res .id ]}
300
416
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 ):
303
418
id_group = "demo." + hashlib .md5 (f"{ group_name } { index } " .encode ()).hexdigest ()
304
419
305
420
group_vals = {
0 commit comments