Skip to content

Commit 244817b

Browse files
committed
GlobalMessage model updated field for dismiss reference
1 parent 515be71 commit 244817b

File tree

4 files changed

+29
-3
lines changed

4 files changed

+29
-3
lines changed

oioioi/globalmessage/admin.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
from django.forms import ModelForm
2+
from django.http import HttpRequest
13
from django.urls import re_path, reverse
24
from django.utils.translation import gettext_lazy as _
35

46
from oioioi.base import admin
57
from oioioi.base.permissions import is_superuser
68
from oioioi.globalmessage.models import GlobalMessage
79

8-
910
class GlobalMessageAdmin(admin.ModelAdmin):
1011
fieldsets = [
1112
(None, {'fields': ['enabled', 'message']}),
@@ -33,6 +34,10 @@ def get_urls(self):
3334

3435
return custom_urls + urls
3536

37+
def save_model(self, request: HttpRequest, obj: GlobalMessage, form: ModelForm, change: bool) -> None:
38+
obj.updated = request.timestamp
39+
return super().save_model(request, obj, form, change)
40+
3641

3742
admin.site.register(GlobalMessage, GlobalMessageAdmin)
3843

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Generated by Django 4.2.11 on 2024-10-21 20:48
2+
3+
import django
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('globalmessage', '0001_initial'),
11+
]
12+
13+
operations = [
14+
migrations.AddField(
15+
model_name='globalmessage',
16+
name='updated',
17+
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='updated'),
18+
preserve_default=False,
19+
),
20+
]

oioioi/globalmessage/models.py

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ class GlobalMessage(models.Model):
99
enabled = models.BooleanField(default=False, verbose_name=_("enabled"))
1010
start = models.DateTimeField(null=True, blank=True, verbose_name=_("start"))
1111
end = models.DateTimeField(null=True, blank=True, verbose_name=_("end"))
12+
updated = models.DateTimeField(null=False, blank=False, verbose_name=_("updated"))
1213

1314
def visible(self, timestamp):
1415
return (

oioioi/globalmessage/processors.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ def global_message_processor(request):
1717
return {
1818
'extra_body_global_message': render_to_string(
1919
'global-message-user.html',
20-
{'global_message': message, 'start': message.start.strftime('%s')},
20+
{'global_message': message, 'start': message.updated.strftime('%s')},
2121
),
2222
'extra_admin_global_message': render_to_string(
2323
'global-message-admin.html',
24-
{'global_message': message, 'start': message.start.strftime('%s')},
24+
{'global_message': message, 'start': message.updated.strftime('%s')},
2525
),
2626
}
2727

0 commit comments

Comments
 (0)