Details
Description
We do stuff like this (in the order of execution):
# ...
submission_statuses.register('WA', _("Wrong Answer"))
class TestReport(models.Model):
status = EnumField(submission_statuses)
# ...
# in different file
submission_statuses.register('MCE', _("Message Count Exceeded"))
Because of the way EnumField snapshots the registry at construction time,
TestReport.get_status_display will not be aware of MCE's display name.
As a result, Zeus statuses (MCE and MSE) display as "MCE"/"MSE" instead of their full name in the tests table on the submission report page.
Moreover, in the header of submission report page, and on the my submissions page, all statuses (except 'OK', 'ERR' and '?', as those are defined in contests/models.py) show as their acronym (eg. "WA") instead of their full name (i.e. "Wrong Answer")
This may have something to do withSIO-1600
# ...
submission_statuses.register('WA', _("Wrong Answer"))
class TestReport(models.Model):
status = EnumField(submission_statuses)
# ...
# in different file
submission_statuses.register('MCE', _("Message Count Exceeded"))
Because of the way EnumField snapshots the registry at construction time,
TestReport.get_status_display will not be aware of MCE's display name.
As a result, Zeus statuses (MCE and MSE) display as "MCE"/"MSE" instead of their full name in the tests table on the submission report page.
Moreover, in the header of submission report page, and on the my submissions page, all statuses (except 'OK', 'ERR' and '?', as those are defined in contests/models.py) show as their acronym (eg. "WA") instead of their full name (i.e. "Wrong Answer")
This may have something to do with
Issue Links
- relates to
-
SIO-2132 Change submission messages to be more readable
https://gerrit.sio2project.mimuw.edu.pl/3136
SIO-2131Some submission statuses display as internal acronym instead of their full display nameIt turned out that classes that used the submission_statuses registry referenced an early made copy.
Making those read only properties allowing fetching when accessed resolved the issue.
Change-Id: I7a9d5b8e9dfc31c6898e67f6c251f594c99e6967