Skip to content

Commit a48889a

Browse files
committed
Field reports figures into separate table
1 parent 6402812 commit a48889a

File tree

2 files changed

+59
-1
lines changed

2 files changed

+59
-1
lines changed

api/migrations/0161_figure.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Generated by Django 3.2.16 on 2022-11-03 15:19
2+
3+
from django.db import migrations, models
4+
import django.db.models.deletion
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('api', '0160_merge_0159_auto_20221022_1542_0159_auto_20221028_0940'),
11+
]
12+
13+
operations = [
14+
migrations.CreateModel(
15+
name='Figure',
16+
fields=[
17+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18+
('type', models.IntegerField(choices=[(0, 'Unknown'), (1, 'Affected'), (2, 'Potentially affected'), (3, 'Assisted'), (4, 'Dead'), (5, 'Displaced'), (6, 'Highest risk'), (7, 'Injured'), (8, 'Missing')], default=1, help_text='Type of figure', verbose_name='type')),
19+
('source', models.IntegerField(choices=[(1, 'Red Cross / Red Crescent'), (2, 'Government'), (3, 'Global Crisis Data Bank'), (4, 'UN'), (5, 'Other')], default=1, help_text='Source of figure', verbose_name='source')),
20+
('value', models.IntegerField(default=0, verbose_name='value')),
21+
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
22+
('modified_at', models.DateTimeField(auto_now=True, verbose_name='modified at')),
23+
('field_report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.fieldreport', verbose_name='Field report')),
24+
],
25+
),
26+
]

api/models.py

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1146,7 +1146,6 @@ class Meta:
11461146
verbose_name_plural = _('Regional Admins')
11471147

11481148
def __str__(self):
1149-
# import pdb; pdb.set_trace();
11501149
return self.user.get_username()
11511150

11521151

@@ -1432,6 +1431,39 @@ def __str__(self):
14321431
return '%s: %s' % (self.name, self.title)
14331432

14341433

1434+
@reversion.register()
1435+
class Figure(models.Model):
1436+
""" num_affected, _missing, _dead etc. figure linked to field report """
1437+
1438+
class FigureType(models.IntegerChoices):
1439+
UNKNOWN = 0, _('Unknown')
1440+
AFFECTED = 1, _('Affected')
1441+
P_AFFECTED = 2, _('Potentially affected')
1442+
ASSISTED = 3, _('Assisted')
1443+
DEAD = 4, _('Dead')
1444+
DISPLACED = 5, _('Displaced')
1445+
HIGHEST_RISK = 6, _('Highest risk')
1446+
INJURED = 7, _('Injured')
1447+
MISSING = 8, _('Missing')
1448+
1449+
class FigureSource(models.IntegerChoices):
1450+
RC = 1, _('Red Cross / Red Crescent')
1451+
GOV = 2, _('Government')
1452+
GCDB = 3, _('Global Crisis Data Bank')
1453+
UN = 4, _('UN')
1454+
OTHER = 5, _('Other')
1455+
1456+
field_report = models.ForeignKey(FieldReport, verbose_name=_('Field report'), on_delete=models.CASCADE)
1457+
type = models.IntegerField(choices=FigureType.choices, verbose_name=_('type'), default=1, help_text=_('Type of figure'))
1458+
source = models.IntegerField(choices=FigureSource.choices, verbose_name=_('source'), default=1, help_text=_('Source of figure'))
1459+
value = models.IntegerField(verbose_name=_('value'), default=0)
1460+
created_at = models.DateTimeField(verbose_name=_('created at'), auto_now_add=True)
1461+
modified_at = models.DateTimeField(verbose_name=_('modified at'), auto_now=True)
1462+
1463+
def __str__(self):
1464+
return "%s (%s)" % (self.get_type_display(), self.get_source_display())
1465+
1466+
14351467
class ActionOrg(models.TextChoices):
14361468
NATIONAL_SOCIETY = 'NTLS', _('National Society')
14371469
FOREIGN_SOCIETY = 'PNS', _('RCRC')

0 commit comments

Comments
 (0)