From f0ecc985dba3b9bc74fcad40bd78532bd2f7536c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Barnab=C3=A1s=20Cz=C3=A9m=C3=A1n?= <trabarni@gmail.com>
Date: Thu, 15 Feb 2018 00:25:18 +0100
Subject: [PATCH] Change export visitors to full_name

---
 src/account/admin.py                           |  2 +-
 src/account/models.py                          |  7 +++++--
 .../migrations/0007_auto_20180215_0018.py      | 18 ++++++++++++++++++
 src/stats/models.py                            |  4 ++--
 src/stats/resources.py                         |  4 ++--
 5 files changed, 28 insertions(+), 7 deletions(-)
 create mode 100644 src/stats/migrations/0007_auto_20180215_0018.py

diff --git a/src/account/admin.py b/src/account/admin.py
index 388129c..37427a6 100644
--- a/src/account/admin.py
+++ b/src/account/admin.py
@@ -8,7 +8,7 @@ from . import resources
 
 @admin.register(models.Profile)
 class ProfileAdmin(ExportMixin, admin.ModelAdmin):
-    list_display = ('user_username', 'join_date')
+    list_display = ('user_username', 'full_name', 'join_date')
     resource_class = resources.SignUpResource
 
     def user_username(self, obj):
diff --git a/src/account/models.py b/src/account/models.py
index 0d40193..71b79f0 100644
--- a/src/account/models.py
+++ b/src/account/models.py
@@ -29,10 +29,13 @@ class Profile(models.Model):
     nick = models.CharField(max_length=15, blank=True, default='')
     signed = models.BooleanField(default=False, null=False)
     groups = models.ManyToManyField(GroupChoice, related_name='profiles')
-    # Homeworks=models.ForeignKey(Homework)
+
+    @property
+    def full_name(self):
+        return self.user.get_full_name()
 
     def __str__(self):
-        return self.user.username
+        return self.full_name
 
 
 class Deadline(SingletonModel):
diff --git a/src/stats/migrations/0007_auto_20180215_0018.py b/src/stats/migrations/0007_auto_20180215_0018.py
new file mode 100644
index 0000000..9cd65ce
--- /dev/null
+++ b/src/stats/migrations/0007_auto_20180215_0018.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.0.1 on 2018-02-14 23:18
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('stats', '0006_auto_20180214_2239'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='event',
+            name='visitors',
+            field=models.ManyToManyField(related_name='visitor', to='account.Profile'),
+        ),
+    ]
diff --git a/src/stats/models.py b/src/stats/models.py
index 967058c..854def4 100644
--- a/src/stats/models.py
+++ b/src/stats/models.py
@@ -1,5 +1,5 @@
 from django.db import models
-from django.contrib.auth.models import User
+from account.models import Profile
 from django.utils import timezone
 from django.core.exceptions import ValidationError
 
@@ -7,7 +7,7 @@ from django.core.exceptions import ValidationError
 class Event(models.Model):
     name = models.CharField(max_length=255)
     date = models.DateTimeField(null=False)
-    visitors = models.ManyToManyField(User, related_name='visitor')
+    visitors = models.ManyToManyField(Profile, related_name='visitor')
 
     def clean(self):
         if self.date > timezone.now():
diff --git a/src/stats/resources.py b/src/stats/resources.py
index 2405ffb..848f946 100644
--- a/src/stats/resources.py
+++ b/src/stats/resources.py
@@ -1,13 +1,13 @@
-from django.contrib.auth.models import User
 from import_export import resources, widgets, fields
 
+from account.models import Profile
 from . import models
 
 
 class EventResource(resources.ModelResource):
     visitors = fields.Field(
         attribute='visitors',
-        widget=widgets.ManyToManyWidget(model=User, separator=' ,', field='username'),
+        widget=widgets.ManyToManyWidget(model=Profile, separator=' ,', field='full_name'),
     )
 
     class Meta:
-- 
GitLab