From b02675791f51ca012372f13bd6a13bdb5b194218 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bmate711@gmail.com> Date: Sat, 11 Nov 2017 15:47:46 +0100 Subject: [PATCH] autsch --- src/homework/__init__.py | 0 src/homework/admin.py | 3 ++ src/homework/apps.py | 5 +++ src/homework/migrations/0001_initial.py | 53 +++++++++++++++++++++++++ src/homework/migrations/__init__.py | 0 src/homework/models.py | 24 +++++++++++ src/homework/serializers.py | 20 ++++++++++ src/homework/tests.py | 3 ++ src/homework/urls.py | 10 +++++ src/homework/views.py | 19 +++++++++ src/kszkepzes/settings.py | 1 + src/kszkepzes/urls.py | 1 + 12 files changed, 139 insertions(+) create mode 100644 src/homework/__init__.py create mode 100644 src/homework/admin.py create mode 100644 src/homework/apps.py create mode 100644 src/homework/migrations/0001_initial.py create mode 100644 src/homework/migrations/__init__.py create mode 100644 src/homework/models.py create mode 100644 src/homework/serializers.py create mode 100644 src/homework/tests.py create mode 100644 src/homework/urls.py create mode 100644 src/homework/views.py diff --git a/src/homework/__init__.py b/src/homework/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/homework/admin.py b/src/homework/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/src/homework/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/src/homework/apps.py b/src/homework/apps.py new file mode 100644 index 0000000..98901a1 --- /dev/null +++ b/src/homework/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class HomeworkConfig(AppConfig): + name = 'homework' diff --git a/src/homework/migrations/0001_initial.py b/src/homework/migrations/0001_initial.py new file mode 100644 index 0000000..524ab9f --- /dev/null +++ b/src/homework/migrations/0001_initial.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.5 on 2017-11-11 14:39 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Solution', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date', models.DateTimeField()), + ('ready', models.BooleanField()), + ('files', models.FileField(upload_to='')), + ], + ), + migrations.CreateModel( + name='Student', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('homework', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homework.Solution')), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='Task', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=150)), + ('date', models.DateTimeField()), + ('deadline', models.DateTimeField()), + ('text', models.TextField()), + ('files', models.FileField(upload_to='')), + ('author', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.AddField( + model_name='solution', + name='task', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homework.Task'), + ), + ] diff --git a/src/homework/migrations/__init__.py b/src/homework/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/homework/models.py b/src/homework/models.py new file mode 100644 index 0000000..a5192a8 --- /dev/null +++ b/src/homework/models.py @@ -0,0 +1,24 @@ +from django.db import models +from django.contrib.auth.models import User + + +class Task(models.Model): + title = models.CharField(max_length=150) + date = models.DateTimeField() + deadline = models.DateTimeField() + text = models.TextField() + author = models.OneToOneField(User) + files = models.FileField() + + +# Normálisabb angol nevet adni ér!! +class Solution(models.Model): + task = models.ForeignKey(Task, on_delete=models.CASCADE) + date = models.DateTimeField() + ready = models.BooleanField() + files = models.FileField() + + +class Student(models.Model): + user = models.OneToOneField(User) + homework = models.ForeignKey(Solution, on_delete=models.CASCADE) diff --git a/src/homework/serializers.py b/src/homework/serializers.py new file mode 100644 index 0000000..3e2500d --- /dev/null +++ b/src/homework/serializers.py @@ -0,0 +1,20 @@ +from rest_framework import serializers +from . import models + + +class TaskSerializer(serializers.ModelSerializer): + class Meta: + model = models.Task + fields = '__all__' + + +class SolutionSerializer(serializers.ModelSerializer): + class Meta: + model = models.Solution + fields = '__all__' + + +class StudentSerializer(serializers.ModelSerializer): + class Meta: + model = models.Student + fields = '__all__' diff --git a/src/homework/tests.py b/src/homework/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/src/homework/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/src/homework/urls.py b/src/homework/urls.py new file mode 100644 index 0000000..1fe81c8 --- /dev/null +++ b/src/homework/urls.py @@ -0,0 +1,10 @@ +from rest_framework import routers +from . import views + +router = routers.DefaultRouter() +router.register(r'tasks', views.TasksViewSet) +router.register(r'solutions', views.SolutionViewSet) +router.register(r'students', views.StudentViewSet) + +app_name = 'homework' +urlpatterns = router.urls diff --git a/src/homework/views.py b/src/homework/views.py new file mode 100644 index 0000000..d3429a7 --- /dev/null +++ b/src/homework/views.py @@ -0,0 +1,19 @@ +from rest_framework import viewsets + +from . import serializers +from . import models + + +class TasksViewSet(viewsets.ModelViewSet): + serializer_class = serializers.TaskSerializer + queryset = models.Task.objects.all() + + +class SolutionViewSet(viewsets.ModelViewSet): + serializer_class = serializers.SolutionSerializer + queryset = models.Solution.objects.all() + + +class StudentViewSet(viewsets.ModelViewSet): + serializer_class = serializers.StudentSerializer + queryset = models.Student.objects.all() diff --git a/src/kszkepzes/settings.py b/src/kszkepzes/settings.py index 98e41eb..3128c9d 100644 --- a/src/kszkepzes/settings.py +++ b/src/kszkepzes/settings.py @@ -41,6 +41,7 @@ INSTALLED_APPS = [ 'rest_framework', 'social_django', 'authsch', + 'homework', ] MIDDLEWARE = [ diff --git a/src/kszkepzes/urls.py b/src/kszkepzes/urls.py index 5a14337..16da3fb 100644 --- a/src/kszkepzes/urls.py +++ b/src/kszkepzes/urls.py @@ -19,4 +19,5 @@ from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url('', include('social_django.urls', namespace='social')), + url(r'^api/v1/homework/', include('homework.urls')), ] -- GitLab