From 9e19a8fc97218ef3cdb357f31835c8366c0d52c4 Mon Sep 17 00:00:00 2001 From: Semyon Yekhmenin Date: Mon, 23 Dec 2019 13:45:47 +0000 Subject: [PATCH] Feature/news event model update --- .../migrations/0050_auto_20191223_1148.py | 34 +++++++++++++++++++ apps/news/models.py | 10 ++++-- apps/news/serializers.py | 10 ++++-- 3 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 apps/news/migrations/0050_auto_20191223_1148.py diff --git a/apps/news/migrations/0050_auto_20191223_1148.py b/apps/news/migrations/0050_auto_20191223_1148.py new file mode 100644 index 00000000..083e0bfb --- /dev/null +++ b/apps/news/migrations/0050_auto_20191223_1148.py @@ -0,0 +1,34 @@ +# Generated by Django 2.2.7 on 2019-12-23 11:48 + +from django.db import migrations, models +import django.utils.timezone +import utils.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('news', '0049_auto_20191223_0619'), + ] + + operations = [ + migrations.RemoveField( + model_name='agenda', + name='event_datetime', + ), + migrations.AddField( + model_name='agenda', + name='end_datetime', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='End datetime'), + ), + migrations.AddField( + model_name='agenda', + name='event_name', + field=utils.models.TJSONField(blank=True, default=None, help_text='{"en-GB":"some text"}', null=True, verbose_name='event name'), + ), + migrations.AddField( + model_name='agenda', + name='start_datetime', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Start datetime'), + ), + ] diff --git a/apps/news/models.py b/apps/news/models.py index 245174c0..cfcc8dd5 100644 --- a/apps/news/models.py +++ b/apps/news/models.py @@ -22,12 +22,16 @@ from datetime import datetime class Agenda(ProjectBaseMixin, TranslatedFieldsMixin): """News agenda model""" - - event_datetime = models.DateTimeField(default=timezone.now, editable=False, - verbose_name=_('Event datetime')) + start_datetime = models.DateTimeField(default=timezone.now, editable=True, + verbose_name=_('Start datetime')) + end_datetime = models.DateTimeField(default=timezone.now, editable=True, + verbose_name=_('End datetime')) address = models.ForeignKey('location.Address', blank=True, null=True, default=None, verbose_name=_('address'), on_delete=models.SET_NULL) + event_name = TJSONField(blank=True, null=True, default=None, + verbose_name=_('event name'), + help_text='{"en-GB":"some text"}') content = TJSONField(blank=True, null=True, default=None, verbose_name=_('content'), help_text='{"en-GB":"some text"}') diff --git a/apps/news/serializers.py b/apps/news/serializers.py index 375e2404..0640b15a 100644 --- a/apps/news/serializers.py +++ b/apps/news/serializers.py @@ -20,8 +20,10 @@ from utils.serializers import ( class AgendaSerializer(ProjectModelSerializer): - event_datetime = serializers.DateTimeField() + start_datetime = serializers.DateTimeField() + end_datetime = serializers.DateTimeField() address = AddressBaseSerializer() + event_name_translated = TranslatedField() content_translated = TranslatedField() class Meta: @@ -30,9 +32,11 @@ class AgendaSerializer(ProjectModelSerializer): model = models.Agenda fields = ( 'id', - 'event_datetime', + 'start_datetime', + 'end_datetime', 'address', - 'content_translated' + 'content_translated', + 'event_name_translated' )