From de7b531933e108d23e7ab71475a19ba3c49771ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Norman=20J=C3=A4ckel?= Date: Sat, 12 Jan 2019 20:49:28 +0100 Subject: [PATCH] Used the same timestamp for multiple history objects. --- .../core/migrations/0011_auto_20190119_0958.py | 18 ++++++++++++++++++ openslides/core/models.py | 4 +++- openslides/core/serializers.py | 1 + openslides/motions/views.py | 2 +- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 openslides/core/migrations/0011_auto_20190119_0958.py diff --git a/openslides/core/migrations/0011_auto_20190119_0958.py b/openslides/core/migrations/0011_auto_20190119_0958.py new file mode 100644 index 000000000..aa62f1070 --- /dev/null +++ b/openslides/core/migrations/0011_auto_20190119_0958.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.5 on 2019-01-19 08:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0010_auto_20190118_1908'), + ] + + operations = [ + migrations.AlterField( + model_name='history', + name='now', + field=models.DateTimeField(), + ), + ] diff --git a/openslides/core/models.py b/openslides/core/models.py index 0f92303db..8293f233e 100644 --- a/openslides/core/models.py +++ b/openslides/core/models.py @@ -266,6 +266,7 @@ class HistoryManager(models.Manager): """ with transaction.atomic(): instances = [] + history_time = now() for element in elements: if ( element["disable_history"] @@ -280,6 +281,7 @@ class HistoryManager(models.Manager): element_id=get_element_id( element["collection_string"], element["id"] ), + now=history_time, information=element["information"], user_id=element["user_id"], full_data=data, @@ -329,7 +331,7 @@ class History(RESTModelMixin, models.Model): element_id = models.CharField(max_length=255) - now = models.DateTimeField(auto_now_add=True) + now = models.DateTimeField() information = models.CharField(max_length=255) diff --git a/openslides/core/serializers.py b/openslides/core/serializers.py index 2daed6b82..c72b4afd1 100644 --- a/openslides/core/serializers.py +++ b/openslides/core/serializers.py @@ -176,3 +176,4 @@ class HistorySerializer(ModelSerializer): class Meta: model = History fields = ("id", "element_id", "now", "information", "user") + read_only_fields = ("now",) diff --git a/openslides/motions/views.py b/openslides/motions/views.py index 19fb63567..5e7713d8c 100644 --- a/openslides/motions/views.py +++ b/openslides/motions/views.py @@ -568,7 +568,7 @@ class MotionViewSet(ModelViewSet): person=request.user, skip_autoupdate=True, ) - inform_changed_data(motion, information=f"State set to {motion.state.name}.") + inform_changed_data(motion, information=f"State set to {motion.state.name}.", user_id=request.user.pk) return Response({"detail": message}) @detail_route(methods=["put"])