Renamed UserGroup to SchoolClass and reset migrations

This commit is contained in:
Daniel Egger 2018-10-05 10:59:52 +02:00
parent 21c85941be
commit b2cac389cf
24 changed files with 110 additions and 146 deletions

View File

@ -1,6 +1,5 @@
# Generated by Django 2.0.6 on 2018-10-04 12:28
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django_extensions.db.fields
@ -11,8 +10,6 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('books', '0002_contentblock_hidden_for'),
]
operations = [
@ -65,19 +62,4 @@ class Migration(migrations.Migration):
name='assignment',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='assignments.Assignment'),
),
migrations.AddField(
model_name='studentsubmission',
name='student',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='assignment',
name='module',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignments', to='books.Module'),
),
migrations.AddField(
model_name='assignment',
name='owner',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
),
]

View File

@ -0,0 +1,34 @@
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('assignments', '0001_initial'),
('books', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.AddField(
model_name='studentsubmission',
name='student',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='assignment',
name='module',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignments', to='books.Module'),
),
migrations.AddField(
model_name='assignment',
name='owner',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
),
]

View File

@ -1,4 +1,4 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.db import migrations, models
import django.db.models.deletion
@ -12,8 +12,8 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('wagtailcore', '0040_page_draft_title'),
('wagtailimages', '0021_image_file_hash'),
('wagtailcore', '0040_page_draft_title'),
]
operations = [

View File

@ -1,4 +1,4 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.db import migrations, models
@ -8,14 +8,14 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('user', '0001_initial'),
('books', '0001_initial'),
('user', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='contentblock',
name='hidden_for',
field=models.ManyToManyField(to='user.UserGroup'),
field=models.ManyToManyField(to='user.SchoolClass'),
),
]

View File

@ -8,7 +8,7 @@ from wagtail.images.blocks import ImageChooserBlock
from books.blocks import TextBlock, BasicKnowledgeBlock, LinkBlock, VideoBlock, DocumentBlock, \
ImageUrlBlock, AssignmentBlock
from core.wagtail_utils import StrictHierarchyPage
from user.models import UserGroup
from user.models import SchoolClass
logger = logging.getLogger(__name__)
@ -30,7 +30,7 @@ class ContentBlock(StrictHierarchyPage):
(BLUE, 'Blau'),
)
hidden_for = models.ManyToManyField(UserGroup)
hidden_for = models.ManyToManyField(SchoolClass)
contents = StreamField([
('text_block', TextBlock()),

View File

@ -5,7 +5,7 @@ from django.core.exceptions import ValidationError
from graphene import relay
from api.utils import get_object, get_errors
from books.models import ContentBlock, Chapter, UserGroup
from books.models import ContentBlock, Chapter, SchoolClass
from books.schema.inputs import ContentBlockInput
from books.schema.queries import ContentBlockNode
@ -34,7 +34,7 @@ class MutateContentBlock(relay.ClientIDMutation):
if visibility_list is not None:
for v in visibility_list:
user_group = get_object(UserGroup, v.user_group_id)
user_group = get_object(SchoolClass, v.user_group_id)
if v.hidden:
content_block.hidden_for.add(user_group)
else:

View File

@ -1,4 +1,4 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.db import migrations, models
import django.db.models.deletion

View File

@ -1,4 +1,4 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.db import migrations, models
import django.db.models.deletion
@ -17,6 +17,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='visibility',
name='user_group',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.UserGroup'),
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolClass'),
),
]

View File

@ -1,7 +1,7 @@
from django.db import models
from books.models import ContentBlock
from user.models import UserGroup
from user.models import SchoolClass
class Visibility(models.Model):
@ -9,7 +9,7 @@ class Visibility(models.Model):
verbose_name = 'Visibility'
verbose_name_plural = 'Visibilities'
user_group = models.ForeignKey(UserGroup, blank=False, null=False, on_delete=models.CASCADE)
user_group = models.ForeignKey(SchoolClass, blank=False, null=False, on_delete=models.CASCADE)
content_block = models.ForeignKey(ContentBlock, blank=False, null=False, on_delete=models.CASCADE, related_name='visible_to')
def __str__(self):

View File

@ -1,4 +1,4 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.db import migrations, models
import django.db.models.deletion

View File

@ -1,4 +1,4 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.conf import settings
from django.db import migrations, models
@ -10,9 +10,9 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('books', '0002_contentblock_hidden_for'),
('objectives', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('books', '0002_contentblock_hidden_for'),
]
operations = [

View File

@ -10,7 +10,7 @@ from books.blocks import ImageUrlBlock
from books.factories import TextBlockFactory, BasicKnowledgeBlockFactory, ImageUrlBlockFactory, LinkBlockFactory
from core.factories import fake, fake_paragraph
from rooms.models import Room, RoomEntry
from user.models import UserGroup
from user.models import SchoolClass
class RoomFactory(factory.django.DjangoModelFactory):
@ -18,7 +18,7 @@ class RoomFactory(factory.django.DjangoModelFactory):
model = Room
title = factory.LazyAttribute(lambda x: fake.sentence(nb_words=random.randint(4, 8)))
user_group = factory.Iterator(UserGroup.objects.all())
user_group = factory.Iterator(SchoolClass.objects.all())
appearance = factory.LazyAttribute(lambda x: random.choice(['red', 'green', 'brown']))

View File

@ -1,4 +1,4 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.db import migrations, models
import django_extensions.db.fields

View File

@ -1,4 +1,4 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.conf import settings
from django.db import migrations, models
@ -29,6 +29,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='room',
name='user_group',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.UserGroup'),
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolClass'),
),
]

View File

@ -5,7 +5,7 @@ from wagtail.core.fields import StreamField
from books.blocks import ImageUrlBlock, LinkBlock, VideoBlock
from books.models import ContentBlock, TextBlock
from user.models import UserGroup
from user.models import SchoolClass
class Room(TitleSlugDescriptionModel):
@ -13,7 +13,7 @@ class Room(TitleSlugDescriptionModel):
verbose_name = 'Raum'
verbose_name_plural = 'Räume'
user_group = models.ForeignKey(UserGroup, blank=False, null=False, on_delete=models.CASCADE)
user_group = models.ForeignKey(SchoolClass, blank=False, null=False, on_delete=models.CASCADE)
appearance = models.CharField(blank=True, null=False, max_length=255)
def __str__(self):

View File

@ -6,7 +6,7 @@ from rooms.inputs import UpdateRoomArgument, AddRoomArgument, AddRoomEntryArgume
from rooms.models import Room, RoomEntry
from rooms.schema import RoomNode, RoomEntryNode
from rooms.serializers import RoomSerializer, RoomEntrySerializer
from user.models import UserGroup
from user.models import SchoolClass
class MutateRoom(relay.ClientIDMutation):
@ -16,7 +16,7 @@ class MutateRoom(relay.ClientIDMutation):
@classmethod
def mutate_and_get_payload(cls, *args, **kwargs):
room_data = kwargs.get('room')
user_group = get_object(UserGroup, room_data.get('user_group').get('id'))
user_group = get_object(SchoolClass, room_data.get('user_group').get('id'))
room_data['user_group'] = user_group.id
if room_data.get('id') is not None:
room = get_object(Room, room_data['id'])

View File

@ -1,12 +1,12 @@
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User, UserGroup, School, SchoolRole, UserSchoolRole
from .models import User, SchoolClass, School, SchoolRole, UserSchoolRole
admin.site.register(User, UserAdmin)
@admin.register(UserGroup)
@admin.register(SchoolClass)
class UserGroupAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'year')
list_filter = ('year',)

View File

@ -2,7 +2,7 @@ import random
import factory
from user.models import UserGroup
from user.models import SchoolClass
class_types = ['DA', 'KV', 'INF', 'EE']
class_suffix = ['A', 'B', 'C', 'D', 'E']
@ -14,7 +14,7 @@ class_suffix = ['A', 'B', 'C', 'D', 'E']
class UserGroupFactory(factory.django.DjangoModelFactory):
class Meta:
model = UserGroup
model = SchoolClass
name = factory.Sequence(lambda n: '{}{}{}'.format(random.choice(class_types), '18', class_suffix[n % len(class_suffix)]))
year = factory.LazyAttribute(lambda x: random.choice([2017, 2018, 2019]))

View File

@ -1,11 +1,13 @@
# Generated by Django 2.0.6 on 2018-10-04 07:39
# Generated by Django 2.0.6 on 2018-10-05 08:56
from django.conf import settings
import django.contrib.auth.models
import django.contrib.auth.validators
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import user.models
class Migration(migrations.Migration):
@ -44,13 +46,49 @@ class Migration(migrations.Migration):
],
),
migrations.CreateModel(
name='UserGroup',
name='School',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100, verbose_name='Name')),
],
),
migrations.CreateModel(
name='SchoolClass',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100)),
('year', models.PositiveIntegerField(validators=[django.core.validators.MinValueValidator(1900), django.core.validators.MaxValueValidator(2200)])),
('is_deleted', models.BooleanField(default=False)),
('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.School')),
('users', models.ManyToManyField(to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='SchoolRole',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('key', models.CharField(max_length=100, verbose_name='Key')),
('name', models.CharField(max_length=100, verbose_name='Name')),
('role_permission', models.ManyToManyField(blank=True, related_name='role_set', related_query_name='role', to='auth.Permission', verbose_name='Role permission')),
('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.School')),
],
options={
'permissions': (('can_create_contentblocks', 'Can create new contentblocks'),),
},
managers=[
('objects', user.models.SchoolRoleManager()),
],
),
migrations.CreateModel(
name='UserSchoolRole',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('school_role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolRole')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.AlterUniqueTogether(
name='schoolrole',
unique_together={('key', 'school')},
),
]

View File

@ -1,53 +0,0 @@
# Generated by Django 2.0.6 on 2018-10-04 12:46
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import user.models
class Migration(migrations.Migration):
dependencies = [
('auth', '0009_alter_user_last_name_max_length'),
('user', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='School',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100, verbose_name='Name')),
('old_id', models.IntegerField(blank=True, null=True)),
],
),
migrations.CreateModel(
name='SchoolRole',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('key', models.CharField(max_length=100, verbose_name='Key')),
('name', models.CharField(max_length=100, verbose_name='Name')),
('role_permission', models.ManyToManyField(blank=True, related_name='role_set', related_query_name='role', to='auth.Permission', verbose_name='Role permission')),
('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.School')),
],
options={
'permissions': (('can_create_contentblocks', 'Can create new contentblocks'),),
},
managers=[
('objects', user.models.SchoolRoleManager()),
],
),
migrations.CreateModel(
name='UserSchoolRole',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('school_role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolRole')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.AlterUniqueTogether(
name='schoolrole',
unique_together={('key', 'school')},
),
]

View File

@ -1,17 +0,0 @@
# Generated by Django 2.0.6 on 2018-10-04 13:13
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('user', '0002_auto_20181004_1246'),
]
operations = [
migrations.RemoveField(
model_name='school',
name='old_id',
),
]

View File

@ -1,20 +0,0 @@
# Generated by Django 2.0.6 on 2018-10-04 13:47
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('user', '0003_remove_school_old_id'),
]
operations = [
migrations.AddField(
model_name='usergroup',
name='school',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='user.School'),
preserve_default=False,
),
]

View File

@ -43,7 +43,7 @@ class School(models.Model):
return self.name
class UserGroup(models.Model):
class SchoolClass(models.Model):
name = models.CharField(max_length=100, blank=False, null=False)
year = models.PositiveIntegerField(blank=False, null=False, validators=[MinValueValidator(1900), MaxValueValidator(2200)])
is_deleted = models.BooleanField(blank=False, null=False, default=False)
@ -51,7 +51,7 @@ class UserGroup(models.Model):
school = models.ForeignKey('School', null=False, on_delete=models.CASCADE)
def __str__(self):
return 'UserGroup {}-{}-{}'.format(self.id, self.name, self.year)
return 'SchoolClass {}-{}-{}'.format(self.id, self.name, self.year)
class SchoolRoleManager(models.Manager):
@ -202,7 +202,7 @@ class UserSchoolRole(models.Model):
@property
def groups(self):
return UserGroup.objects.filter(Q(school_id=self.school_role.school.id) & Q(users=self.user.id))
return SchoolClass.objects.filter(Q(school_id=self.school_role.school.id) & Q(users=self.user.id))
@property
def group_ids(self):

View File

@ -3,7 +3,7 @@ from graphene import relay
from graphene_django import DjangoObjectType
from graphene_django.filter import DjangoFilterConnectionField
from user.models import UserGroup, User
from user.models import SchoolClass, User
class UserNode(DjangoObjectType):
@ -31,7 +31,7 @@ class UserGroupNode(DjangoObjectType):
pk = graphene.Int()
class Meta:
model = UserGroup
model = SchoolClass
filter_fields = ['name']
interfaces = (relay.Node,)