Skip to content

Commit 19cd751

Browse files
Translate evaluation state names in log display (#2071)
Translate Evaluation states shown in logs --------- Co-authored-by: Richard Ebeling <dev@richardebeling.de>
1 parent 394493a commit 19cd751

File tree

3 files changed

+39
-10
lines changed

3 files changed

+39
-10
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 4.2.7 on 2023-11-13 20:59
2+
3+
from django.db import migrations
4+
import django_fsm
5+
6+
7+
class Migration(migrations.Migration):
8+
dependencies = [
9+
("evaluation", "0141_userprofile_notes"),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name="evaluation",
15+
name="state",
16+
field=django_fsm.FSMIntegerField(default=10, protected=True, verbose_name="state"),
17+
),
18+
]

evap/evaluation/models.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ class State:
389389
REVIEWED = 70
390390
PUBLISHED = 80
391391

392-
state = FSMIntegerField(default=State.NEW, protected=True)
392+
state = FSMIntegerField(default=State.NEW, protected=True, verbose_name=_("state"))
393393

394394
course = models.ForeignKey(Course, models.PROTECT, verbose_name=_("course"), related_name="evaluations")
395395

@@ -779,14 +779,14 @@ def unpublish(self):
779779
self._participant_count = None
780780

781781
STATE_STR_CONVERSION = {
782-
State.NEW: "new",
783-
State.PREPARED: "prepared",
784-
State.EDITOR_APPROVED: "editor_approved",
785-
State.APPROVED: "approved",
786-
State.IN_EVALUATION: "in_evaluation",
787-
State.EVALUATED: "evaluated",
788-
State.REVIEWED: "reviewed",
789-
State.PUBLISHED: "published",
782+
State.NEW: _("new"),
783+
State.PREPARED: _("prepared"),
784+
State.EDITOR_APPROVED: _("editor_approved"),
785+
State.APPROVED: _("approved"),
786+
State.IN_EVALUATION: _("in_evaluation"),
787+
State.EVALUATED: _("evaluated"),
788+
State.REVIEWED: _("reviewed"),
789+
State.PUBLISHED: _("published"),
790790
}
791791

792792
@classmethod
@@ -994,7 +994,7 @@ def unlogged_fields(self):
994994

995995
@classmethod
996996
def transform_log_action(cls, field_action):
997-
if field_action.label == "State":
997+
if field_action.label.lower() == Evaluation.state.field.verbose_name.lower():
998998
return FieldAction(
999999
field_action.label, field_action.type, [cls.state_to_str(state) for state in field_action.items]
10001000
)

evap/staff/tests/test_views.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2203,6 +2203,17 @@ def test_questionnaire_with_answers_warning(self):
22032203
'<label class="form-check-label badge bg-danger" for="id_contributions-1-questionnaires_0">', page
22042204
)
22052205

2206+
@patch.dict(Evaluation.STATE_STR_CONVERSION, {Evaluation.State.PREPARED: "mock-translated-prepared"})
2207+
def test_state_change_log_translated(self):
2208+
page = self.app.get(self.url, user=self.manager)
2209+
self.assertNotIn("mock-translated-prepared", page)
2210+
2211+
self.evaluation.ready_for_editors()
2212+
self.evaluation.save()
2213+
2214+
page = self.app.get(self.url, user=self.manager)
2215+
self.assertIn("mock-translated-prepared", page)
2216+
22062217

22072218
class TestEvaluationDeleteView(WebTestStaffMode):
22082219
csrf_checks = False

0 commit comments

Comments
 (0)