From 6dd141b3fa8b548f16600c0a6356f8d981a1fafe Mon Sep 17 00:00:00 2001 From: erichhasl Date: Tue, 18 Oct 2016 19:45:37 +0200 Subject: [PATCH] added member system --- jdav_web/jdav_web/settings.py | 1 + jdav_web/members/__init__.py | 0 jdav_web/members/admin.py | 18 ++++++++++ jdav_web/members/apps.py | 5 +++ jdav_web/members/migrations/0001_initial.py | 35 +++++++++++++++++++ .../members/migrations/0002_member_email.py | 20 +++++++++++ .../migrations/0003_auto_20161018_1742.py | 20 +++++++++++ .../migrations/0004_auto_20161018_1744.py | 24 +++++++++++++ jdav_web/members/migrations/__init__.py | 0 jdav_web/members/models.py | 25 +++++++++++++ jdav_web/members/tests.py | 3 ++ jdav_web/members/views.py | 3 ++ 12 files changed, 154 insertions(+) create mode 100644 jdav_web/members/__init__.py create mode 100644 jdav_web/members/admin.py create mode 100644 jdav_web/members/apps.py create mode 100644 jdav_web/members/migrations/0001_initial.py create mode 100644 jdav_web/members/migrations/0002_member_email.py create mode 100644 jdav_web/members/migrations/0003_auto_20161018_1742.py create mode 100644 jdav_web/members/migrations/0004_auto_20161018_1744.py create mode 100644 jdav_web/members/migrations/__init__.py create mode 100644 jdav_web/members/models.py create mode 100644 jdav_web/members/tests.py create mode 100644 jdav_web/members/views.py diff --git a/jdav_web/jdav_web/settings.py b/jdav_web/jdav_web/settings.py index 1ebd78c..369bb5f 100644 --- a/jdav_web/jdav_web/settings.py +++ b/jdav_web/jdav_web/settings.py @@ -33,6 +33,7 @@ ALLOWED_HOSTS = [] INSTALLED_APPS = [ 'startpage.apps.StartpageConfig', 'material.apps.MaterialConfig', + 'members.apps.MembersConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', diff --git a/jdav_web/members/__init__.py b/jdav_web/members/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py new file mode 100644 index 0000000..dbcafbe --- /dev/null +++ b/jdav_web/members/admin.py @@ -0,0 +1,18 @@ +from django.contrib import admin + +from .models import Member, Group + + +# Register your models here. +class MemberAdmin(admin.ModelAdmin): + fields = ['prename', 'lastname', 'email', 'birth_date', 'group'] + list_display = ('name', 'birth_date') + + +class GroupAdmin(admin.ModelAdmin): + fields = ['name', 'min_age'] + list_display = ('name', 'min_age') + + +admin.site.register(Member, MemberAdmin) +admin.site.register(Group, GroupAdmin) diff --git a/jdav_web/members/apps.py b/jdav_web/members/apps.py new file mode 100644 index 0000000..f773ade --- /dev/null +++ b/jdav_web/members/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class MembersConfig(AppConfig): + name = 'members' diff --git a/jdav_web/members/migrations/0001_initial.py b/jdav_web/members/migrations/0001_initial.py new file mode 100644 index 0000000..3c010b2 --- /dev/null +++ b/jdav_web/members/migrations/0001_initial.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.2 on 2016-10-18 17:36 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Group', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=20)), + ('min_age', models.IntegerField(default=5)), + ], + ), + migrations.CreateModel( + name='Member', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('prename', models.CharField(max_length=20)), + ('lastname', models.CharField(max_length=20)), + ('birth_date', models.DateField(verbose_name='birth date')), + ('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='members.Group')), + ], + ), + ] diff --git a/jdav_web/members/migrations/0002_member_email.py b/jdav_web/members/migrations/0002_member_email.py new file mode 100644 index 0000000..a95ffbc --- /dev/null +++ b/jdav_web/members/migrations/0002_member_email.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.2 on 2016-10-18 17:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('members', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='member', + name='email', + field=models.CharField(default='', max_length=100), + ), + ] diff --git a/jdav_web/members/migrations/0003_auto_20161018_1742.py b/jdav_web/members/migrations/0003_auto_20161018_1742.py new file mode 100644 index 0000000..f95b120 --- /dev/null +++ b/jdav_web/members/migrations/0003_auto_20161018_1742.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.2 on 2016-10-18 17:42 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('members', '0002_member_email'), + ] + + operations = [ + migrations.AlterField( + model_name='member', + name='email', + field=models.EmailField(default='', max_length=100), + ), + ] diff --git a/jdav_web/members/migrations/0004_auto_20161018_1744.py b/jdav_web/members/migrations/0004_auto_20161018_1744.py new file mode 100644 index 0000000..e479a16 --- /dev/null +++ b/jdav_web/members/migrations/0004_auto_20161018_1744.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.2 on 2016-10-18 17:44 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('members', '0003_auto_20161018_1742'), + ] + + operations = [ + migrations.RemoveField( + model_name='member', + name='group', + ), + migrations.AddField( + model_name='member', + name='group', + field=models.ManyToManyField(to='members.Group'), + ), + ] diff --git a/jdav_web/members/migrations/__init__.py b/jdav_web/members/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py new file mode 100644 index 0000000..0fbb749 --- /dev/null +++ b/jdav_web/members/models.py @@ -0,0 +1,25 @@ +from django.db import models + + +class Group(models.Model): + name = models.CharField(max_length=20) # name of group e.g: J1 etc. + min_age = models.IntegerField(default=5) # in years + + def __str__(self): + return "Group {0}".format(self.name) + + +class Member(models.Model): + prename = models.CharField(max_length=20) + lastname = models.CharField(max_length=20) + email = models.EmailField(max_length=100, default="") + birth_date = models.DateField('birth date') # to determine the age + group = models.ManyToManyField(Group) + + def __repr__(self): + return self.name + + @property + def name(self): + """Returning whole name (prename + lastname)""" + return "{0} {1}".format(self.prename, self.lastname) diff --git a/jdav_web/members/tests.py b/jdav_web/members/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/jdav_web/members/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/jdav_web/members/views.py b/jdav_web/members/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/jdav_web/members/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here.