--- a/server/python/django2/renkanmanager/serializers.py Wed Jun 15 16:31:43 2016 +0200
+++ b/server/python/django2/renkanmanager/serializers.py Mon Jun 20 14:44:40 2016 +0200
@@ -5,11 +5,12 @@
from django.conf import settings
from django.core.exceptions import ValidationError
from django.utils import dateparse
+from renkanmanager import settings as renkan_settings
from renkanmanager.models import Renkan, Workspace, Revision
from rest_framework import serializers
logger = logging.getLogger(__name__)
-RENKAN_USER_DISPLAY_FIELD = getattr(settings, "RENKAN_USER_DISPLAY_FIELD", get_user_model().USERNAME_FIELD)
+RENKAN_USER_DISPLAY_FIELD = renkan_settings.RENKAN_USER_DISPLAY_FIELD
class RenkanSerializer(serializers.Serializer):
id = serializers.ReadOnlyField(source="renkan_guid")
@@ -43,6 +44,7 @@
"""
Method to create a new Renkan (and its first revision)
"""
+ logger.debug("RENKANSERIALIZER %r", validated_data)
creator = validated_data.get('creator')
workspace_obj = validated_data.get('workspace', None)
source_revision_obj = validated_data.get('source_revision', None)
@@ -62,6 +64,7 @@
"""
Method to update a Renkan object. Creates a new revision if needed
"""
+ logger.debug('RENKAN SERIALIZER UPDATE %r', validated_data)
updator = validated_data.get('updator')
create_new_revision = validated_data.get("create_new_revision", False)
title = validated_data.get('title', renkan.current_revision.title)
@@ -83,7 +86,9 @@
renkan.save_renkan(updator=updator, timestamp=validation_timestamp, title=title, content=content, create_new_revision=create_new_revision)
except ValidationError as ve:
raise serializers.ValidationError(str(ve.args[0]))
- return renkan
+ # FORCE Renkan reload.
+ # TODO: How to avoid the reload ???
+ return Renkan.objects.get(id=renkan.id)
def validate_workspace_id(self, value):
if self.instance is not None:
@@ -109,9 +114,9 @@
return value
def validate_validation_timestamp(self, value):
- logger.debug("%r < %r", dateparse.parse_datetime(value), self.get_current_revision_modification_date(self.instance))
+ logger.debug("%r < %r", dateparse.parse_datetime(value).timestamp(), self.get_current_revision_modification_date(self.instance).timestamp())
- if self.instance and dateparse.parse_datetime(value) < self.get_current_revision_modification_date(self.instance):
+ if self.instance and dateparse.parse_datetime(value) != self.get_current_revision_modification_date(self.instance):
raise serializers.ValidationError("Invalid timestamp was provided")
return value