Skip to content

Commit fe50eaf

Browse files
committed
Fix emergency severity level histories and unit tests
1 parent 8cbac16 commit fe50eaf

6 files changed

Lines changed: 62 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,33 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

77
## Unreleased
8+
- Fix emergency severity level histories
9+
- Add validation checks and export feature to Local Units
10+
- Add script to migrate Local Units to EXTERNALLY MANAGED
11+
- Notification recipients as a distinct list
12+
- ProfileSerializer to accept Country id
13+
- Fix maptiling strings
14+
- Upgrade urllib3
15+
- Update test assertion logic on deployment
16+
- Add DREF static string translation
17+
- Update schema and gitmodules URL
18+
- Register DREF fields for translation
19+
- Project/local unit updates and permisson
20+
- Local units – disable notifications for superusers
21+
- Limit access to guest when organization type is Other/OTHR
22+
- Add schema validation in CI
23+
- Add submodule for assets
24+
- Surge Alert CSV fix – same columns across paginated requests
25+
- Set default language to en on PDF export
26+
- Upgrade Django version to 4.2.26
27+
- Return the first no-None element in FR num lists
28+
- Migrate BASECAMP ERUTypes to OSH
29+
- Update key on lang/test bulk action
30+
- update DREF approve permission
31+
- Register additional fields for DREF translation
32+
- Add language support on PDF export
33+
- DREF3 enhancements – added fields, filters and tests
34+
- Changes on DREF translation related models
835

936
## 1.1.508
1037

api/admin.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -284,14 +284,22 @@ def save_model(self, request, obj, form, change):
284284
update_date_changed = original.ifrc_severity_level_update_date != obj.ifrc_severity_level_update_date
285285

286286
if severity_changed and not update_date_changed:
287-
messages.error(request, "You must update the 'IFRC Severity Level Update Date' when changing the severity level.")
288-
raise ValidationError("Cannot change severity level without updating the update date.")
287+
messages.error(
288+
request, "You must update the 'IFRC Severity Level Update Date/Time' when changing the severity level."
289+
)
290+
raise ValidationError("Cannot change severity level without updating the update date/time.")
289291

290292
if severity_changed and update_date_changed:
293+
if (
294+
original.ifrc_severity_level_update_date is not None
295+
and original.ifrc_severity_level_update_date > obj.ifrc_severity_level_update_date
296+
):
297+
messages.error(request, "A severity level update date can not be earlier than the previous one.")
298+
raise ValidationError("A severity level update date can not be earlier than the previous one.")
291299
models.EventSeverityLevelHistory.objects.create(
292300
event=obj,
293-
ifrc_severity_level=obj.ifrc_severity_level,
294-
ifrc_severity_level_update_date=obj.ifrc_severity_level_update_date,
301+
ifrc_severity_level=original.ifrc_severity_level,
302+
ifrc_severity_level_update_date=original.ifrc_severity_level_update_date,
295303
created_by=request.user,
296304
)
297305

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Generated by Django 4.2.26 on 2026-01-23 07:56
2+
3+
from django.db import migrations
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('api', '0226_nsdinitiativescategory_and_more'),
10+
]
11+
12+
operations = [
13+
migrations.AlterModelOptions(
14+
name='eventseveritylevelhistory',
15+
options={'verbose_name': 'emergency severity level history', 'verbose_name_plural': 'emergency severity level histories'},
16+
),
17+
]

api/models.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -931,6 +931,10 @@ class EventSeverityLevelHistory(models.Model):
931931
related_name="created_by_ifrc_severity_level",
932932
)
933933

934+
class Meta:
935+
verbose_name = _("emergency severity level history")
936+
verbose_name_plural = _("emergency severity level histories")
937+
934938

935939
@reversion.register()
936940
class EventFeaturedDocument(models.Model):

api/test_models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ def test_ifrc_severity_level_history_created_from_admin(self):
168168

169169
history = models.EventSeverityLevelHistory.objects.filter(event=self.event)
170170
self.assertEqual(history.count(), 1)
171-
self.assertEqual(history[0].ifrc_severity_level, models.AlertLevel.RED)
171+
self.assertEqual(history[0].ifrc_severity_level, models.AlertLevel.YELLOW) # previous level
172172
self.assertEqual(history[0].created_by, self.user)
173173

174174
def test_no_history_created_if_severity_level_not_changed(self):

assets

0 commit comments

Comments
 (0)