Skip to content

Commit 8b15d18

Browse files
committed
new field for all event data - survey sched
1 parent 85731d4 commit 8b15d18

File tree

52 files changed

+596
-73
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+596
-73
lines changed

spp_farmer_registry_laos/models/generate_farmer_data.py

Lines changed: 92 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import math
44
import random
55

6+
from datetime import datetime, timedelta, date
67
from odoo import api, fields, models
78

89
from ..tools import generate_polygon, random_location_in_laos
@@ -357,6 +358,25 @@
357358
"implive",
358359
]
359360

361+
EVENT_DATA_TYPES = [
362+
"spp.event.gen.info",
363+
"spp.event.poverty.indicator",
364+
"spp.event.hh.labor",
365+
"spp.event.hh.assets",
366+
"spp.event.agri.land.ownership.use",
367+
"spp.event.food.security",
368+
"spp.event.agri.ws",
369+
"spp.event.agri.tech.ws",
370+
"spp.event.agri.ds",
371+
"spp.event.agri.ds.hot",
372+
"spp.event.permanent.crops",
373+
"spp.event.livestock.farming",
374+
"spp.event.inc.agri",
375+
"spp.event.inc.non.agri",
376+
"spp.event.wash.ind",
377+
"spp.event.hh.resilience.index",
378+
"spp.event.min.dietary.score",
379+
]
360380

361381
class SPPLaosGenerateFarmerData(models.Model):
362382
_name = "spp.laos.generate.farmer.data"
@@ -391,7 +411,7 @@ def _generate_sample_data(self, **kwargs):
391411
# Generate Farmer Group data
392412
farmer_group_name = f"Farmer Group {random.choice(FARMER_GROUP_NAMES)}"
393413
farmer_group_id = res._generate_group_data(i, kind_farmer_group_id, farmer_group_name)
394-
self._generate_event_data_cycle(farmer_group_id)
414+
self._generate_event_datas(farmer_group_id)
395415
land_record_id = res._generate_land_record_record(farmer_group_id)
396416
farmer_group_id.farm_land_rec_id = land_record_id.id
397417
farmer_group_id.coordinates = land_record_id.land_coordinates
@@ -402,7 +422,7 @@ def _generate_sample_data(self, **kwargs):
402422
# Generate Farm data
403423
group_name = f"{random.choice(NAMES)} Farm"
404424
group_id = res._generate_group_data(j, kind_farm_id, group_name)
405-
self._generate_event_data_cycle(group_id)
425+
self._generate_event_datas(group_id)
406426
land_record_id = res._generate_land_record_record(group_id)
407427
group_id.farm_land_rec_id = land_record_id.id
408428
group_id.coordinates = land_record_id.land_coordinates
@@ -473,6 +493,29 @@ def _generate_farm_activity(self, group_id, product):
473493
}
474494
)
475495

496+
def _generate_random_phone_number(self):
497+
# Generates a random phone number of the format: (XXX) XXX-XXXX
498+
area_code = random.randint(100, 999)
499+
exchange_code = random.randint(100, 999)
500+
subscriber_number = random.randint(1000, 9999)
501+
502+
phone_number = f"({area_code}) {exchange_code}-{subscriber_number}"
503+
return phone_number
504+
505+
def _generate_random_date(self, start_date, end_date):
506+
"""
507+
Generates a random date between start_date and end_date.
508+
509+
:param start_date: A datetime.date object representing the start date.
510+
:param end_date: A datetime.date object representing the end date.
511+
:return: A string representing a random date between start_date and end_date in the format 'YYYY-MM-DD'.
512+
"""
513+
time_between_dates = end_date - start_date
514+
days_between_dates = time_between_dates.days
515+
random_number_of_days = random.randrange(days_between_dates)
516+
random_date = start_date + timedelta(days=random_number_of_days)
517+
return random_date
518+
476519
def _create_event_data(self, model_name, group_id):
477520
vals_list = {
478521
"model": model_name,
@@ -481,6 +524,53 @@ def _create_event_data(self, model_name, group_id):
481524
event_id = self.env["spp.event.data"].create(vals_list)
482525
return event_id
483526

527+
def _generate_event_datas(self, registrant):
528+
for event_data in EVENT_DATA_TYPES:
529+
event_id = self._create_event_data(event_data, registrant)
530+
if event_data == "spp.event.gen.info":
531+
self._generate_event_gen_info(event_id)
532+
533+
def _generate_event_gen_info(self, event_id):
534+
ethnic_group = self.env["spp.ethnic.group"].search([]).mapped("id")
535+
# land_record_id = self._generate_land_record_record(event_id.partner_id)
536+
vals_list = {
537+
"interviewees_name": f"{random.choice(NAMES)}",
538+
"ethnic_group_id": random.choice(ethnic_group),
539+
"sex": str(random.randint(1, 2)),
540+
"marital_status": str(random.randint(1, 4)),
541+
"age": random.randint(20, 80),
542+
"educational_qualification": str(random.randint(1, 6)),
543+
"head_of_household": str(random.randint(1, 2)),
544+
"poverty_status": str(random.randint(1, 3)),
545+
# "gps_location": land_record_id.land_coordinates,
546+
"phone_number1": self._generate_random_phone_number(),
547+
"phone_number2": self._generate_random_phone_number(),
548+
"participating": str(random.randint(1, 2)),
549+
"date_participated": self._generate_random_date(date.today() - timedelta(days=50), date.today()),
550+
"grp_act_supported_by_project_agri": str(random.randint(0, 16)),
551+
"grp_act_supported_by_project_livestock_fisheries": random.choice(["0", "19", "20", "21"]),
552+
"tech_supported_by_project_org_fert": str(random.randint(1, 2)),
553+
"tech_supported_by_project_greenhouse": str(random.randint(1, 2)),
554+
"tech_supported_by_project_mulching": str(random.randint(1, 2)),
555+
"tech_supported_by_project_gravity_irrig": str(random.randint(1, 2)),
556+
"tech_supported_by_project_water_pump": str(random.randint(1, 2)),
557+
"tech_supported_by_project_drip_irrig": str(random.randint(1, 2)),
558+
"tech_supported_by_project_drip_sprinkler": str(random.randint(1, 2)),
559+
"tech_supported_by_project_machine_harvest": str(random.randint(1, 2)),
560+
"tech_supported_by_project_dry_processing": str(random.randint(1, 2)),
561+
"tech_supported_by_project_agri_oth": str(random.randint(1, 2)),
562+
"tech_supported_by_project_concent_feed": str(random.randint(1, 2)),
563+
"tech_supported_by_project_grass_planting": str(random.randint(1, 2)),
564+
"tech_supported_by_project_vaccination": str(random.randint(1, 2)),
565+
"tech_supported_by_project_livestock_oth": random.choice(FARMER_GROUP_NAMES),
566+
"irrigation_area_supported": random.randint(1, 999),
567+
"participation_oth_proj": str(random.randint(1, 2)),
568+
"hhq_number_baseline_survey": random.randint(1, 999),
569+
}
570+
571+
event = self.env["spp.event.gen.info"].create(vals_list)
572+
event_id.res_id = event.id
573+
484574
def _generate_event_data_cycle(self, group_id):
485575
event_id = self._create_event_data("spp.event.cycle", group_id)
486576
vals = self._generate_event_data_vals()

spp_farmer_registry_laos/views/event_data_agri_ds_hot_view.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,18 @@
99
duplicate="0"
1010
>
1111
<sheet>
12-
<group>
13-
<field name="survey_sched" required="1" />
14-
</group>
12+
<div class="row mt16 o_settings_container" name="container_0">
13+
<div class="col-4 o_setting_box" name="survey_sched">
14+
<div class="o_setting_left_pane">
15+
</div>
16+
<div class="o_setting_right_pane">
17+
<label for="survey_sched" />
18+
<div>
19+
</div>
20+
<field name="survey_sched" />
21+
</div>
22+
</div>
23+
</div>
1524
<notebook>
1625
<page string="Crops produced in Hot DS" name="crops_produce">
1726
<field name="agri_prod_ids">

spp_farmer_registry_laos/views/event_data_agri_ds_view.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,18 @@
99
duplicate="0"
1010
>
1111
<sheet>
12+
<div class="row mt16 o_settings_container" name="container_0">
13+
<div class="col-4 o_setting_box" name="survey_sched">
14+
<div class="o_setting_left_pane">
15+
</div>
16+
<div class="o_setting_right_pane">
17+
<label for="survey_sched" />
18+
<div>
19+
</div>
20+
<field name="survey_sched" />
21+
</div>
22+
</div>
23+
</div>
1224
<notebook>
1325
<page string="Crops produced in Cold DS" name="crops_produce">
1426
<field name="agri_prod_ids">

spp_farmer_registry_laos/views/event_data_agri_land_ownership_use_view.xml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,18 @@
66
<field name="arch" type="xml">
77
<form string="Event Data: Agriculture Land Ownership and Use" duplicate="0">
88
<sheet>
9-
<group>
10-
<field name="survey_sched" required="1" />
11-
</group>
12-
9+
<div class="row mt16 o_settings_container" name="container_0">
10+
<div class="col-4 o_setting_box" name="survey_sched">
11+
<div class="o_setting_left_pane">
12+
</div>
13+
<div class="o_setting_right_pane">
14+
<label for="survey_sched" />
15+
<div>
16+
</div>
17+
<field name="survey_sched" />
18+
</div>
19+
</div>
20+
</div>
1321
<div class="row mt16 o_settings_container" name="container_1">
1422
<div class="col-8 o_setting_box" name="crops_in_irrigated_land">
1523
<div class="o_setting_left_pane">

spp_farmer_registry_laos/views/event_data_agri_tech_ws_view.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@
66
<field name="arch" type="xml">
77
<form string="Event Data: Agricultural Technologies During the WS" duplicate="0">
88
<sheet>
9-
<group>
10-
<field name="survey_sched" required="1" />
11-
</group>
9+
<div class="row mt16 o_settings_container" name="container_0">
10+
<div class="col-4 o_setting_box" name="survey_sched">
11+
<div class="o_setting_left_pane">
12+
</div>
13+
<div class="o_setting_right_pane">
14+
<label for="survey_sched" />
15+
<div>
16+
</div>
17+
<field name="survey_sched" />
18+
</div>
19+
</div>
20+
</div>
1221
<notebook>
1322
<page string="Agricultural Technologies" name="agri_tech">
1423
<field name="agri_prod_sales_cost_tech_ids">

spp_farmer_registry_laos/views/event_data_agri_ws_view.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,18 @@
99
duplicate="0"
1010
>
1111
<sheet>
12-
<group>
13-
<field name="survey_sched" required="1" />
14-
</group>
12+
<div class="row mt16 o_settings_container" name="container_0">
13+
<div class="col-4 o_setting_box" name="survey_sched">
14+
<div class="o_setting_left_pane">
15+
</div>
16+
<div class="o_setting_right_pane">
17+
<label for="survey_sched" />
18+
<div>
19+
</div>
20+
<field name="survey_sched" />
21+
</div>
22+
</div>
23+
</div>
1524
<div class="row mt16 o_settings_container" name="container_1">
1625
<div class="col-8 o_setting_box" name="experience_dryspell_flood">
1726
<div class="o_setting_left_pane">

spp_farmer_registry_laos/views/event_data_food_security_view.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@
66
<field name="arch" type="xml">
77
<form string="Event Data: Food Security" duplicate="0">
88
<sheet>
9-
<group>
10-
<field name="survey_sched" required="1" />
11-
</group>
9+
<div class="row mt16 o_settings_container" name="container_0">
10+
<div class="col-4 o_setting_box" name="survey_sched">
11+
<div class="o_setting_left_pane">
12+
</div>
13+
<div class="o_setting_right_pane">
14+
<label for="survey_sched" />
15+
<div>
16+
</div>
17+
<field name="survey_sched" />
18+
</div>
19+
</div>
20+
</div>
1221
<div class="row mt16 o_settings_container" name="container_1">
1322
<div class="col-10 o_setting_box" name="hungry_season_past_12">
1423
<div class="o_setting_left_pane">

spp_farmer_registry_laos/views/event_data_gen_info_view.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,18 @@
1818
<field name="arch" type="xml">
1919
<form string="Event Data: General Information" duplicate="0">
2020
<sheet>
21-
<group>
22-
<field name="survey_sched" required="1" />
23-
</group>
21+
<div class="row mt16 o_settings_container" name="container_0">
22+
<div class="col-4 o_setting_box" name="survey_sched">
23+
<div class="o_setting_left_pane">
24+
</div>
25+
<div class="o_setting_right_pane">
26+
<label for="survey_sched" />
27+
<div>
28+
</div>
29+
<field name="survey_sched" />
30+
</div>
31+
</div>
32+
</div>
2433
<notebook>
2534
<page string="Information" name="info">
2635
<div class="row mt16 o_settings_container" name="container_1">

spp_farmer_registry_laos/views/event_data_hh_assets_view.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@
66
<field name="arch" type="xml">
77
<form string="Event Data: Household Assets" duplicate="0">
88
<sheet>
9-
<group>
10-
<field name="survey_sched" required="1" />
11-
</group>
9+
<div class="row mt16 o_settings_container" name="container_0">
10+
<div class="col-4 o_setting_box" name="survey_sched">
11+
<div class="o_setting_left_pane">
12+
</div>
13+
<div class="o_setting_right_pane">
14+
<label for="survey_sched" />
15+
<div>
16+
</div>
17+
<field name="survey_sched" />
18+
</div>
19+
</div>
20+
</div>
1221
<notebook>
1322
<page string="Non-agri Household Assets" name="nonagri">
1423
<div class="row mt16 o_settings_container" name="container_1">

spp_farmer_registry_laos/views/event_data_hh_labor_view.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,18 @@
1919
<field name="arch" type="xml">
2020
<form string="Event Data: Household Member and Labor Availability" duplicate="0">
2121
<sheet>
22-
<group>
23-
<field name="survey_sched" required="1" />
24-
</group>
22+
<div class="row mt16 o_settings_container" name="container_0">
23+
<div class="col-4 o_setting_box" name="survey_sched">
24+
<div class="o_setting_left_pane">
25+
</div>
26+
<div class="o_setting_right_pane">
27+
<label for="survey_sched" />
28+
<div>
29+
</div>
30+
<field name="survey_sched" />
31+
</div>
32+
</div>
33+
</div>
2534

2635
<div class="row mt16 o_settings_container" name="container_1">
2736
<div class="col-4 o_setting_box" name="no_hh_members_women">

0 commit comments

Comments
 (0)