@@ -311,6 +311,18 @@ class Status(models.IntegerChoices):
311311 status = models .IntegerField (choices = Status .choices , verbose_name = _ ("status" ), null = True , blank = True )
312312 num_assisted = models .IntegerField (verbose_name = _ ("number of assisted" ), blank = True , null = True )
313313 num_affected = models .IntegerField (verbose_name = _ ("number of affected" ), blank = True , null = True )
314+ estimated_number_of_affected_male = models .IntegerField (
315+ verbose_name = _ ("estimated number of affected male" ), blank = True , null = True
316+ )
317+ estimated_number_of_affected_female = models .IntegerField (
318+ verbose_name = _ ("estimated number of affected female" ), blank = True , null = True
319+ )
320+ estimated_number_of_affected_girls_under_18 = models .IntegerField (
321+ verbose_name = _ ("estimated number of affected girls under 18" ), blank = True , null = True
322+ )
323+ estimated_number_of_affected_boys_under_18 = models .IntegerField (
324+ verbose_name = _ ("estimated number of affected boys under 18" ), blank = True , null = True
325+ )
314326 amount_requested = models .IntegerField (verbose_name = _ ("amount requested" ), blank = True , null = True )
315327 people_in_need = models .IntegerField (verbose_name = _ ("people in need" ), blank = True , null = True )
316328 emergency_appeal_planned = models .BooleanField (verbose_name = _ ("emergency appeal planned " ), null = True , blank = True )
@@ -333,6 +345,10 @@ class Status(models.IntegerChoices):
333345 ns_request_text = models .TextField (blank = True , null = True , verbose_name = _ ("ns request text" ))
334346 dref_recurrent_text = models .TextField (verbose_name = _ ("dref recurrent text" ), blank = True , null = True )
335347 lessons_learned = models .TextField (verbose_name = _ ("lessons learned" ), blank = True , null = True )
348+ complete_child_safeguarding_risk = models .BooleanField (
349+ null = True , blank = True , default = False , help_text = _ ("Did you complete the child safeguarding risk analysis" )
350+ )
351+ child_safeguarding_risk_level = models .TextField (verbose_name = _ ("Child safeguarding risk level" ), blank = True , null = True )
336352 event_description = models .TextField (verbose_name = _ ("event description" ), blank = True , null = True )
337353 anticipatory_actions = models .TextField (
338354 blank = True ,
@@ -481,6 +497,21 @@ class Status(models.IntegerChoices):
481497 national_society_contact_phone_number = models .CharField (
482498 verbose_name = _ ("national society contact phone number" ), max_length = 100 , null = True , blank = True
483499 )
500+ national_society_integrity_contact_name = models .CharField (
501+ verbose_name = _ ("national society integrity contact name" ), max_length = 255 , null = True , blank = True
502+ )
503+ national_society_integrity_contact_email = models .CharField (
504+ verbose_name = _ ("national society integrity contact email" ), max_length = 255 , null = True , blank = True
505+ )
506+ national_society_integrity_contact_title = models .CharField (
507+ verbose_name = _ ("national society integrity contact title" ), max_length = 255 , null = True , blank = True
508+ )
509+ national_society_integrity_contact_phone_number = models .CharField (
510+ verbose_name = _ ("national society integrity contact phone number" ), max_length = 100 , null = True , blank = True
511+ )
512+ national_society_hotline_phone_number = models .CharField (
513+ verbose_name = _ ("national society hotline phone number" ), max_length = 100 , null = True , blank = True
514+ )
484515 media_contact_name = models .CharField (verbose_name = _ ("media contact name" ), max_length = 255 , null = True , blank = True )
485516 media_contact_email = models .CharField (verbose_name = _ ("media contact email" ), max_length = 255 , null = True , blank = True )
486517 media_contact_title = models .CharField (verbose_name = _ ("media contact title" ), max_length = 255 , null = True , blank = True )
@@ -515,6 +546,12 @@ class Status(models.IntegerChoices):
515546 verbose_name = _ ("human resource" ),
516547 help_text = _ ("how many volunteers and staff involved in the response?" ),
517548 )
549+ is_volunteer_team_diverse = models .TextField (
550+ blank = True ,
551+ null = True ,
552+ verbose_name = _ ("is volunteer team diverse" ),
553+ help_text = _ ("Does your volunteer team reflect the gender, age, and cultural diversity of the people you’re helping?" ),
554+ )
518555 is_surge_personnel_deployed = models .BooleanField (blank = True , null = True , verbose_name = _ ("Is surge personnel deployed" ))
519556 surge_personnel_deployed = models .TextField (
520557 blank = True , null = True , verbose_name = _ ("surge personnel deployed" ), help_text = _ ("Will a Surge personnel be deployed?" )
@@ -606,6 +643,21 @@ class Status(models.IntegerChoices):
606643 verbose_name = _ ("Has the child safeguarding risk analysis assessment been completed?" ), null = True , blank = True
607644 )
608645 risk_security_concern = models .TextField (blank = True , null = True , verbose_name = _ ("Risk Security Concern" ))
646+ has_anti_fraud_corruption_policy = models .BooleanField (
647+ verbose_name = _ ("Has anti-fraud and corruption policy" ), null = True , blank = True
648+ )
649+ has_sexual_abuse_policy = models .BooleanField (
650+ verbose_name = _ ("Has prevention of sexual exploitation and abuse policy" ), null = True , blank = True
651+ )
652+ has_child_protection_policy = models .BooleanField (
653+ verbose_name = _ ("Has child protection/child safeguarding policy" ), null = True , blank = True
654+ )
655+ has_whistleblower_protection_policy = models .BooleanField (
656+ verbose_name = _ ("Has whistleblower protection policy" ), null = True , blank = True
657+ )
658+ has_anti_sexual_harassment_policy = models .BooleanField (
659+ verbose_name = _ ("Has anti-sexual harassment policy" ), null = True , blank = True
660+ )
609661 is_man_made_event = models .BooleanField (verbose_name = _ ("Is Man-made Event" ), null = True , blank = True )
610662 __budget_file_id = None
611663 is_active = models .BooleanField (verbose_name = _ ("Is Active" ), null = True , blank = True )
@@ -781,6 +833,18 @@ class DrefOperationalUpdate(models.Model):
781833 status = models .IntegerField (choices = Dref .Status .choices , verbose_name = _ ("status" ), null = True , blank = True )
782834 number_of_people_targeted = models .IntegerField (verbose_name = _ ("Number of people targeted" ), blank = True , null = True )
783835 number_of_people_affected = models .IntegerField (verbose_name = _ ("number of people affected" ), blank = True , null = True )
836+ estimated_number_of_affected_male = models .IntegerField (
837+ verbose_name = _ ("estimated number of affected male" ), blank = True , null = True
838+ )
839+ estimated_number_of_affected_female = models .IntegerField (
840+ verbose_name = _ ("estimated number of affected female" ), blank = True , null = True
841+ )
842+ estimated_number_of_affected_girls_under_18 = models .IntegerField (
843+ verbose_name = _ ("estimated number of affected girls under 18" ), blank = True , null = True
844+ )
845+ estimated_number_of_affected_boys_under_18 = models .IntegerField (
846+ verbose_name = _ ("estimated number of affected boys under 18" ), blank = True , null = True
847+ )
784848 dref_allocated_so_far = models .IntegerField (verbose_name = _ ("Dref allocated so far" ), null = True , blank = True )
785849 additional_allocation = models .IntegerField (verbose_name = _ ("Additional allocation" ), null = True , blank = True )
786850 total_dref_allocation = models .IntegerField (verbose_name = _ ("Total dref allocation" ), null = True , blank = True )
@@ -875,6 +939,21 @@ class DrefOperationalUpdate(models.Model):
875939 national_society_contact_phone_number = models .CharField (
876940 verbose_name = _ ("national society contact phone number" ), max_length = 100 , null = True , blank = True
877941 )
942+ national_society_integrity_contact_name = models .CharField (
943+ verbose_name = _ ("national society integrity contact name" ), max_length = 255 , null = True , blank = True
944+ )
945+ national_society_integrity_contact_email = models .CharField (
946+ verbose_name = _ ("national society integrity contact email" ), max_length = 255 , null = True , blank = True
947+ )
948+ national_society_integrity_contact_title = models .CharField (
949+ verbose_name = _ ("national society integrity contact title" ), max_length = 255 , null = True , blank = True
950+ )
951+ national_society_integrity_contact_phone_number = models .CharField (
952+ verbose_name = _ ("national society integrity contact phone number" ), max_length = 100 , null = True , blank = True
953+ )
954+ national_society_hotline_phone_number = models .CharField (
955+ verbose_name = _ ("national society hotline phone number" ), max_length = 100 , null = True , blank = True
956+ )
878957 media_contact_name = models .CharField (verbose_name = _ ("media contact name" ), max_length = 255 , null = True , blank = True )
879958 media_contact_email = models .CharField (verbose_name = _ ("media contact email" ), max_length = 255 , null = True , blank = True )
880959 media_contact_title = models .CharField (verbose_name = _ ("media contact title" ), max_length = 255 , null = True , blank = True )
@@ -1005,6 +1084,21 @@ class DrefOperationalUpdate(models.Model):
10051084 )
10061085 risk_security = models .ManyToManyField (RiskSecurity , blank = True , verbose_name = _ ("Risk Security" ))
10071086 risk_security_concern = models .TextField (blank = True , null = True , verbose_name = _ ("Risk Security Concern" ))
1087+ has_anti_fraud_corruption_policy = models .BooleanField (
1088+ verbose_name = _ ("Has anti-fraud and corruption policy" ), null = True , blank = True
1089+ )
1090+ has_sexual_abuse_policy = models .BooleanField (
1091+ verbose_name = _ ("Has prevention of sexual exploitation and abuse policy" ), null = True , blank = True
1092+ )
1093+ has_child_protection_policy = models .BooleanField (
1094+ verbose_name = _ ("Has child protection/child safeguarding policy" ), null = True , blank = True
1095+ )
1096+ has_whistleblower_protection_policy = models .BooleanField (
1097+ verbose_name = _ ("Has whistleblower protection policy" ), null = True , blank = True
1098+ )
1099+ has_anti_sexual_harassment_policy = models .BooleanField (
1100+ verbose_name = _ ("Has anti-sexual harassment policy" ), null = True , blank = True
1101+ )
10081102 has_child_safeguarding_risk_analysis_assessment = models .BooleanField (
10091103 verbose_name = _ ("Has the child safeguarding risk analysis assessment been completed?" ), null = True , blank = True
10101104 )
@@ -1040,6 +1134,12 @@ class DrefOperationalUpdate(models.Model):
10401134 verbose_name = _ ("human resource" ),
10411135 help_text = _ ("how many volunteers and staff involved in the response?" ),
10421136 )
1137+ is_volunteer_team_diverse = models .TextField (
1138+ blank = True ,
1139+ null = True ,
1140+ verbose_name = _ ("is volunteer team diverse" ),
1141+ help_text = _ ("Does your volunteer team reflect the gender, age, and cultural diversity of the people you’re helping?" ),
1142+ )
10431143 is_surge_personnel_deployed = models .BooleanField (blank = True , null = True , verbose_name = _ ("Is surge personnel deployed" ))
10441144 surge_personnel_deployed = models .TextField (
10451145 blank = True , null = True , verbose_name = _ ("surge personnel deployed" ), help_text = _ ("Will a Surge personnel be deployed?" )
@@ -1171,6 +1271,18 @@ class DrefFinalReport(models.Model):
11711271 status = models .IntegerField (choices = Dref .Status .choices , verbose_name = _ ("status" ), null = True , blank = True )
11721272 number_of_people_targeted = models .IntegerField (verbose_name = _ ("Number of people targeted" ), blank = True , null = True )
11731273 number_of_people_affected = models .IntegerField (verbose_name = _ ("number of people affected" ), blank = True , null = True )
1274+ estimated_number_of_affected_male = models .IntegerField (
1275+ verbose_name = _ ("estimated number of affected male" ), blank = True , null = True
1276+ )
1277+ estimated_number_of_affected_female = models .IntegerField (
1278+ verbose_name = _ ("estimated number of affected female" ), blank = True , null = True
1279+ )
1280+ estimated_number_of_affected_girls_under_18 = models .IntegerField (
1281+ verbose_name = _ ("estimated number of affected girls under 18" ), blank = True , null = True
1282+ )
1283+ estimated_number_of_affected_boys_under_18 = models .IntegerField (
1284+ verbose_name = _ ("estimated number of affected boys under 18" ), blank = True , null = True
1285+ )
11741286 total_dref_allocation = models .IntegerField (verbose_name = _ ("Total dref allocation" ), null = True , blank = True )
11751287 date_of_publication = models .DateField (verbose_name = _ ("Date of publication" ), blank = True , null = True )
11761288 total_operation_timeframe = models .IntegerField (verbose_name = _ ("Total Operation Timeframe" ), null = True , blank = True )
@@ -1211,6 +1323,21 @@ class DrefFinalReport(models.Model):
12111323 national_society_contact_phone_number = models .CharField (
12121324 verbose_name = _ ("national society contact phone number" ), max_length = 100 , null = True , blank = True
12131325 )
1326+ national_society_integrity_contact_name = models .CharField (
1327+ verbose_name = _ ("national society integrity contact name" ), max_length = 255 , null = True , blank = True
1328+ )
1329+ national_society_integrity_contact_email = models .CharField (
1330+ verbose_name = _ ("national society integrity contact email" ), max_length = 255 , null = True , blank = True
1331+ )
1332+ national_society_integrity_contact_title = models .CharField (
1333+ verbose_name = _ ("national society integrity contact title" ), max_length = 255 , null = True , blank = True
1334+ )
1335+ national_society_integrity_contact_phone_number = models .CharField (
1336+ verbose_name = _ ("national society integrity contact phone number" ), max_length = 100 , null = True , blank = True
1337+ )
1338+ national_society_hotline_phone_number = models .CharField (
1339+ verbose_name = _ ("national society hotline phone number" ), max_length = 100 , null = True , blank = True
1340+ )
12141341 ifrc_emergency_name = models .CharField (verbose_name = _ ("ifrc emergency name" ), max_length = 255 , null = True , blank = True )
12151342 ifrc_emergency_email = models .CharField (verbose_name = _ ("ifrc emergency email" ), max_length = 255 , null = True , blank = True )
12161343 ifrc_emergency_title = models .CharField (verbose_name = _ ("ifrc emergency title" ), max_length = 255 , null = True , blank = True )
@@ -1358,6 +1485,21 @@ class DrefFinalReport(models.Model):
13581485 verbose_name = _ ("Has the child safeguarding risk analysis assessment been completed?" ), null = True , blank = True
13591486 )
13601487 risk_security_concern = models .TextField (blank = True , null = True , verbose_name = _ ("Risk Security Concern" ))
1488+ has_anti_fraud_corruption_policy = models .BooleanField (
1489+ verbose_name = _ ("Has anti-fraud and corruption policy" ), null = True , blank = True
1490+ )
1491+ has_sexual_abuse_policy = models .BooleanField (
1492+ verbose_name = _ ("Has prevention of sexual exploitation and abuse policy" ), null = True , blank = True
1493+ )
1494+ has_child_protection_policy = models .BooleanField (
1495+ verbose_name = _ ("Has child protection/child safeguarding policy" ), null = True , blank = True
1496+ )
1497+ has_whistleblower_protection_policy = models .BooleanField (
1498+ verbose_name = _ ("Has whistleblower protection policy" ), null = True , blank = True
1499+ )
1500+ has_anti_sexual_harassment_policy = models .BooleanField (
1501+ verbose_name = _ ("Has anti-sexual harassment policy" ), null = True , blank = True
1502+ )
13611503 event_date = models .DateField (
13621504 verbose_name = _ ("event date" ), null = True , blank = True , help_text = _ ("Date of event/Approximate date of impact" )
13631505 )
0 commit comments