diff --git a/src/stats/admin.py b/src/stats/admin.py index a551546486611e9b0125f25096c0125c1c1e962f..b15fe688a474384b6789e41d5767b88aca654f4c 100644 --- a/src/stats/admin.py +++ b/src/stats/admin.py @@ -1,5 +1,9 @@ from django.contrib import admin -from .models import KszkEvent +from import_export.admin import ImportExportModelAdmin +from . import models -admin.site.register(KszkEvent) + +@admin.register(models.Event) +class EventAdmin(ImportExportModelAdmin): + horizontal_filter = ('visitors', ) diff --git a/src/stats/migrations/0005_auto_20180214_2206.py b/src/stats/migrations/0005_auto_20180214_2206.py new file mode 100644 index 0000000000000000000000000000000000000000..f4a0033cc39e3b8b311676b83ca7fdb22fa3bccf --- /dev/null +++ b/src/stats/migrations/0005_auto_20180214_2206.py @@ -0,0 +1,30 @@ +# Generated by Django 2.0.1 on 2018-02-14 21:06 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('account', '0017_auto_20180205_2004'), + ('stats', '0004_remove_kszkevent_num_of_pers'), + ] + + operations = [ + migrations.CreateModel( + name='Event', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('date', models.DateTimeField()), + ('visitors', models.ManyToManyField(related_name='visitor', to='account.Profile')), + ], + ), + migrations.RemoveField( + model_name='kszkevent', + name='visitors', + ), + migrations.DeleteModel( + name='KszkEvent', + ), + ] diff --git a/src/stats/models.py b/src/stats/models.py index b3cea98f8d0779a9f8b033e69beb89750e7b3d79..854def4bdcf72136b6321ef7b52eb2d87f97ca72 100644 --- a/src/stats/models.py +++ b/src/stats/models.py @@ -4,10 +4,14 @@ from django.utils import timezone from django.core.exceptions import ValidationError -class KszkEvent(models.Model): +class Event(models.Model): + name = models.CharField(max_length=255) date = models.DateTimeField(null=False) visitors = models.ManyToManyField(Profile, related_name='visitor') def clean(self): if self.date > timezone.now(): raise ValidationError('Invalid date') + + def __str__(self): + return self.name diff --git a/src/stats/serializers.py b/src/stats/serializers.py index 83569981c7ddc3d22fa64e94970bd98dddb71b85..ab02beecf953a638ab191eac51ec2cf646f54378 100644 --- a/src/stats/serializers.py +++ b/src/stats/serializers.py @@ -2,7 +2,7 @@ from rest_framework import serializers from . import models -class KszkEventSerializer(serializers.ModelSerializer): +class EventSerializer(serializers.ModelSerializer): class Meta: - model = models.KszkEvent + model = models.Event fields = ('date', 'visitors') diff --git a/src/stats/urls.py b/src/stats/urls.py index ef0f4e2166c58ea7ceea950825e171cae29f6807..8f270ce8246724e9a29aaf99dd3d1e7d6690aec7 100644 --- a/src/stats/urls.py +++ b/src/stats/urls.py @@ -3,6 +3,6 @@ from rest_framework import routers from . import views router = routers.DefaultRouter() -router.register(r'events', views.KszkEventViewSet) +router.register(r'events', views.EventViewSet) urlpatterns = router.urls diff --git a/src/stats/views.py b/src/stats/views.py index c7ed3ecdf5621171f68cd8dcacc07621296b77c1..f2c91f1e70a8b38d620a0a500709f38f97359d9c 100644 --- a/src/stats/views.py +++ b/src/stats/views.py @@ -4,6 +4,6 @@ from . import models from . import serializers -class KszkEventViewSet(viewsets.ModelViewSet): - serializer_class = serializers.KszkEventSerializer - queryset = models.KszkEvent.objects.all() +class EventViewSet(viewsets.ModelViewSet): + serializer_class = serializers.EventSerializer + queryset = models.Event.objects.all()