Fixed conditions for news methods

This commit is contained in:
dormantman 2020-01-16 21:16:08 +03:00
parent 6c624115e6
commit a0fdef69b6

View File

@ -251,11 +251,14 @@ class NewsBackOfficeBaseSerializer(NewsBaseSerializer):
user = request.user
validated_data['created_by'] = user
agenda_data = validated_data.pop('agenda')
agenda_data['address_id'] = agenda_data.pop('address').pk
agenda_serializer = AgendaSerializer(data=agenda_data)
agenda_serializer.is_valid(raise_exception=True)
agenda = agenda_serializer.save()
agenda_data = validated_data.get('agenda')
agenda = None
if agenda_data is not None:
agenda_data['address_id'] = agenda_data.pop('address').pk
agenda_serializer = AgendaSerializer(data=agenda_data)
agenda_serializer.is_valid(raise_exception=True)
agenda = agenda_serializer.save()
instance = super().create(validated_data)
instance.agenda = agenda
@ -276,13 +279,13 @@ class NewsBackOfficeBaseSerializer(NewsBaseSerializer):
agenda_data = validated_data.get('agenda')
agenda = instance.agenda
if agenda is None:
if agenda is None and agenda_data is not None:
agenda_data['address_id'] = agenda_data.pop('address').pk
agenda_serializer = AgendaSerializer(data=agenda_data)
agenda_serializer.is_valid(raise_exception=True)
agenda_serializer.save()
else:
elif agenda_data is not None:
agenda.start_datetime = agenda_data.pop(
'start_datetime') if 'start_datetime' in agenda_data else agenda.start_datetime
agenda.end_datetime = agenda_data.pop(