From 6b4ff46f36c16f342d420df82f7ef4eaaf54ce15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bodor.mate@kszk.bme.hu>
Date: Mon, 14 Jan 2019 17:24:21 +0100
Subject: [PATCH] Change event visitors filed

---
 .../migrations/0005_auto_20190114_1713.py     | 30 +++++++++++++++++++
 src/stats/models.py                           | 22 ++++++++++++--
 src/stats/serializers.py                      |  5 +++-
 3 files changed, 53 insertions(+), 4 deletions(-)
 create mode 100644 src/stats/migrations/0005_auto_20190114_1713.py

diff --git a/src/stats/migrations/0005_auto_20190114_1713.py b/src/stats/migrations/0005_auto_20190114_1713.py
new file mode 100644
index 0000000..769bc79
--- /dev/null
+++ b/src/stats/migrations/0005_auto_20190114_1713.py
@@ -0,0 +1,30 @@
+# Generated by Django 2.0.1 on 2019-01-14 16:13
+
+import common.middleware
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('stats', '0004_auto_20190113_1239'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='event',
+            name='created_by',
+            field=models.ForeignKey(default=common.middleware.CurrentUserMiddleware.get_current_user_profile, on_delete=django.db.models.deletion.DO_NOTHING, related_name='created_event', to='account.Profile'),
+        ),
+        migrations.AlterField(
+            model_name='event',
+            name='visitors',
+            field=models.ManyToManyField(blank=True, null=True, related_name='events', to='account.Profile'),
+        ),
+        migrations.AlterField(
+            model_name='note',
+            name='created_by',
+            field=models.ForeignKey(default=common.middleware.CurrentUserMiddleware.get_current_user_profile, on_delete=django.db.models.deletion.DO_NOTHING, related_name='created_notes', to='account.Profile'),
+        ),
+    ]
diff --git a/src/stats/models.py b/src/stats/models.py
index ed09f11..c408a7b 100644
--- a/src/stats/models.py
+++ b/src/stats/models.py
@@ -1,5 +1,6 @@
 from django.db import models
 from account.models import Profile
+from common.middleware import CurrentUserMiddleware
 from django.utils import timezone
 from django.core.exceptions import ValidationError
 
@@ -7,8 +8,18 @@ from django.core.exceptions import ValidationError
 class Event(models.Model):
     name = models.CharField(max_length=255)
     date = models.DateTimeField(null=False)
-    visitors = models.ManyToManyField(Profile, related_name='visitor')
-    created_by = models.ForeignKey(Profile, related_name='created_event', on_delete=models.DO_NOTHING)
+    visitors = models.ManyToManyField(
+        Profile,
+        related_name='events',
+        blank=True,
+        null=True,
+    )
+    created_by = models.ForeignKey(
+        Profile,
+        related_name='created_event',
+        on_delete=models.DO_NOTHING,
+        default=CurrentUserMiddleware.get_current_user_profile,
+    )
     created_at = models.DateTimeField(auto_now_add=True, editable=False)
     updated_at = models.DateTimeField(auto_now=True, editable=False)
 
@@ -20,7 +31,12 @@ class Note(models.Model):
     event = models.ForeignKey(Event, related_name='notes', on_delete=models.CASCADE, blank=True, null=True,)
     profile = models.ForeignKey(Profile, related_name='notes', on_delete=models.CASCADE, blank=True, null=True,)
     note = models.TextField()
-    created_by = models.ForeignKey(Profile, related_name='created_notes', on_delete=models.DO_NOTHING)
+    created_by = models.ForeignKey(
+        Profile,
+        related_name='created_notes',
+        on_delete=models.DO_NOTHING,
+        default=CurrentUserMiddleware.get_current_user_profile,
+    )
     created_at = models.DateTimeField(auto_now_add=True, editable=False)
     updated_at = models.DateTimeField(auto_now=True, editable=False)
 
diff --git a/src/stats/serializers.py b/src/stats/serializers.py
index 63cc6ce..5f16191 100644
--- a/src/stats/serializers.py
+++ b/src/stats/serializers.py
@@ -4,9 +4,9 @@ from . import models
 
 
 class EventSerializer(serializers.ModelSerializer):
-    created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
     created_by_name = serializers.SerializerMethodField()
     visitor_number = serializers.SerializerMethodField()
+    # visitors = serializers.SerializerMethodField()
 
     class Meta:
         model = models.Event
@@ -19,6 +19,9 @@ class EventSerializer(serializers.ModelSerializer):
     def get_visitor_number(self, obj):
         return obj.visitors.all().count()
 
+    # def get_visitors(self, obj):
+    #     return obj.visitors.all()
+
 
 class NoteSerializer(serializers.ModelSerializer):
     created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
-- 
GitLab