Skip to content

Commit 753ffe7

Browse files
Merge pull request #2557 from IFRCGo/feature/nsia-risk-field-translated
Translate NSIA Risk of NS-initiatives
2 parents 3520595 + 2bdb821 commit 753ffe7

File tree

3 files changed

+41
-6
lines changed

3 files changed

+41
-6
lines changed

api/management/commands/ingest_ns_initiatives.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,14 @@ def get_defaults(element, country, funding_period, lang):
3535
"categories": element.get("Categories"),
3636
"allocation": element.get("AllocationInCHF"),
3737
"funding_period": funding_period,
38-
"nsia_risk": element.get("Risk"),
3938
"translation_module_original_language": lang,
4039
"translation_module_skip_auto_translation": True,
4140
}
4241
title_field = f"title_{lang}"
42+
risk_field = f"nsia_risk_{lang}"
4343
defaults[title_field] = element.get("InitiativeTitle")
44-
return defaults, title_field
44+
defaults[risk_field] = element.get("Risk")
45+
return defaults, title_field, risk_field
4546

4647

4748
class Command(BaseCommand):
@@ -100,7 +101,7 @@ def handle(self, *args, **kwargs):
100101

101102
country = get_country(element)
102103
funding_period = get_funding_period(element)
103-
defaults, title_field = get_defaults(element, country, funding_period, lang)
104+
defaults, title_field, risk_field = get_defaults(element, country, funding_period, lang)
104105

105106
if lang == "en":
106107
ni, created = NSDInitiatives.objects.get_or_create(
@@ -120,7 +121,8 @@ def handle(self, *args, **kwargs):
120121
# We could use ISO also to identify the entry, but remote_id is more robust
121122
ni = NSDInitiatives.objects.get(remote_id=remote_id)
122123
setattr(ni, title_field, element.get("InitiativeTitle"))
123-
ni.save(update_fields=[title_field])
124+
setattr(ni, risk_field, element.get("Risk"))
125+
ni.save(update_fields=[title_field, risk_field])
124126
except NSDInitiatives.DoesNotExist:
125127
# Should not happen – only if EN entry is missing
126128
ni = NSDInitiatives.objects.create(
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Generated by Django 4.2.19 on 2025-09-19 08:36
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("api", "0224_nsdinitiatives_nsia_risk"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="nsdinitiatives",
15+
name="nsia_risk_ar",
16+
field=models.CharField(blank=True, max_length=30, null=True, verbose_name="NSIA Risk"),
17+
),
18+
migrations.AddField(
19+
model_name="nsdinitiatives",
20+
name="nsia_risk_en",
21+
field=models.CharField(blank=True, max_length=30, null=True, verbose_name="NSIA Risk"),
22+
),
23+
migrations.AddField(
24+
model_name="nsdinitiatives",
25+
name="nsia_risk_es",
26+
field=models.CharField(blank=True, max_length=30, null=True, verbose_name="NSIA Risk"),
27+
),
28+
migrations.AddField(
29+
model_name="nsdinitiatives",
30+
name="nsia_risk_fr",
31+
field=models.CharField(blank=True, max_length=30, null=True, verbose_name="NSIA Risk"),
32+
),
33+
]

api/translation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ class MainContactTO(TranslationOptions):
105105

106106
@register(NSDInitiatives)
107107
class NSDInitiativesTO(TranslationOptions):
108-
fields = ("title",)
109-
skip_fields = ("title",)
108+
fields = ("title", "nsia_risk")
109+
skip_fields = ("title", "nsia_risk")
110110

111111

112112
@register(Region)

0 commit comments

Comments
 (0)