diff --git a/server/api/schema.py b/server/api/schema.py index d8105f50..648e19f5 100644 --- a/server/api/schema.py +++ b/server/api/schema.py @@ -12,7 +12,7 @@ from filteredbook.schema import BookQuery from objectives.schema import ObjectivesQuery from rooms.mutations import RoomMutations from rooms.schema import RoomsQuery -from user.schema import UsersQuery +from users.schema import UsersQuery class Query(UsersQuery, RoomsQuery, ObjectivesQuery, BookQuery, AssignmentsQuery, graphene.ObjectType): diff --git a/server/books/migrations/0002_contentblock_hidden_for.py b/server/books/migrations/0002_contentblock_hidden_for.py index 3b0ef34b..d6ebf466 100644 --- a/server/books/migrations/0002_contentblock_hidden_for.py +++ b/server/books/migrations/0002_contentblock_hidden_for.py @@ -16,6 +16,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='contentblock', name='hidden_for', - field=models.ManyToManyField(to='user.SchoolClass'), + field=models.ManyToManyField(to='users.SchoolClass'), ), ] diff --git a/server/books/models/contentblock.py b/server/books/models/contentblock.py index 247b655a..f8abcb02 100644 --- a/server/books/models/contentblock.py +++ b/server/books/models/contentblock.py @@ -9,7 +9,7 @@ from wagtail.core import hooks from books.blocks import TextBlock, BasicKnowledgeBlock, LinkBlock, VideoBlock, DocumentBlock, \ ImageUrlBlock, AssignmentBlock from core.wagtail_utils import StrictHierarchyPage -from user.models import SchoolClass +from users.models import SchoolClass logger = logging.getLogger(__name__) diff --git a/server/core/management/commands/dummy_data.py b/server/core/management/commands/dummy_data.py index 00c77dd8..f1692970 100644 --- a/server/core/management/commands/dummy_data.py +++ b/server/core/management/commands/dummy_data.py @@ -12,7 +12,7 @@ from wagtail.core.models import Page from books.factories import BookFactory, TopicFactory, ModuleFactory, ChapterFactory, ContentBlockFactory from core.factories import UserFactory from objectives.factories import ObjectiveGroupFactory, ObjectiveFactory -from user.services import create_school_with_users +from users.services import create_school_with_users data = [ { diff --git a/server/core/management/commands/dummy_rooms.py b/server/core/management/commands/dummy_rooms.py index 05e9d65b..789eb7aa 100644 --- a/server/core/management/commands/dummy_rooms.py +++ b/server/core/management/commands/dummy_rooms.py @@ -9,7 +9,7 @@ from wagtail.core.models import Site from rooms.factories import RoomFactory, RoomEntryFactory from rooms.models import Room -from user.factories import SchoolClassFactory +from users.factories import SchoolClassFactory data = [ { diff --git a/server/core/settings.py b/server/core/settings.py index 243a4171..7fc425dd 100644 --- a/server/core/settings.py +++ b/server/core/settings.py @@ -45,7 +45,7 @@ if not DEBUG: INSTALLED_APPS = [ 'core', 'api', - 'user', + 'users', 'books', 'objectives', 'rooms', @@ -144,7 +144,7 @@ DATABASES = { } # Django custom user -AUTH_USER_MODEL = 'user.User' +AUTH_USER_MODEL = 'users.User' # Password validation # https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators diff --git a/server/rooms/factories.py b/server/rooms/factories.py index 2461af7e..32eb2abc 100644 --- a/server/rooms/factories.py +++ b/server/rooms/factories.py @@ -9,7 +9,7 @@ from wagtail.core.rich_text import RichText from books.factories import TextBlockFactory, ImageUrlBlockFactory, LinkBlockFactory from core.factories import fake, fake_paragraph from rooms.models import Room, RoomEntry -from user.models import SchoolClass +from users.models import SchoolClass class RoomFactory(factory.django.DjangoModelFactory): diff --git a/server/rooms/inputs.py b/server/rooms/inputs.py index c788e8f9..0f4bd10c 100644 --- a/server/rooms/inputs.py +++ b/server/rooms/inputs.py @@ -2,7 +2,7 @@ import graphene from graphene import InputObjectType from books.schema.inputs import ContentElementInput -from user.inputs import SchoolClassInput +from users.inputs import SchoolClassInput class RoomInput(InputObjectType): diff --git a/server/rooms/migrations/0002_auto_20181009_1525.py b/server/rooms/migrations/0002_auto_20181009_1525.py index b198e28d..db356282 100644 --- a/server/rooms/migrations/0002_auto_20181009_1525.py +++ b/server/rooms/migrations/0002_auto_20181009_1525.py @@ -29,6 +29,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='room', name='school_class', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolClass'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SchoolClass'), ), ] diff --git a/server/rooms/models.py b/server/rooms/models.py index a8597d88..f0bc8e18 100644 --- a/server/rooms/models.py +++ b/server/rooms/models.py @@ -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 SchoolClass +from users.models import SchoolClass class Room(TitleSlugDescriptionModel): diff --git a/server/rooms/mutations.py b/server/rooms/mutations.py index bf4f63a3..b8a01f5f 100644 --- a/server/rooms/mutations.py +++ b/server/rooms/mutations.py @@ -6,7 +6,7 @@ from rooms.inputs import UpdateRoomArgument, AddRoomArgument, AddRoomEntryArgume from rooms.models import Room from rooms.schema import RoomNode, RoomEntryNode from rooms.serializers import RoomSerializer, RoomEntrySerializer -from user.models import SchoolClass +from users.models import SchoolClass class MutateRoom(relay.ClientIDMutation): diff --git a/server/rooms/schema.py b/server/rooms/schema.py index dce86391..e1208cd7 100644 --- a/server/rooms/schema.py +++ b/server/rooms/schema.py @@ -7,7 +7,7 @@ from graphene_django.rest_framework.mutation import SerializerMutation from api.utils import get_object from rooms.models import Room, RoomEntry from rooms.serializers import RoomSerializer -from user.schema import UserNode +from users.schema import UserNode class RoomEntryNode(DjangoObjectType): diff --git a/server/user/__init__.py b/server/users/__init__.py similarity index 100% rename from server/user/__init__.py rename to server/users/__init__.py diff --git a/server/user/admin.py b/server/users/admin.py similarity index 100% rename from server/user/admin.py rename to server/users/admin.py diff --git a/server/user/apps.py b/server/users/apps.py similarity index 77% rename from server/user/apps.py rename to server/users/apps.py index 35048d48..758a1560 100644 --- a/server/user/apps.py +++ b/server/users/apps.py @@ -2,4 +2,4 @@ from django.apps import AppConfig class UserConfig(AppConfig): - name = 'user' + name = 'users' diff --git a/server/user/factories.py b/server/users/factories.py similarity index 95% rename from server/user/factories.py rename to server/users/factories.py index 9fd55220..a91ca864 100644 --- a/server/user/factories.py +++ b/server/users/factories.py @@ -2,7 +2,7 @@ import random import factory -from user.models import SchoolClass +from users.models import SchoolClass class_types = ['DA', 'KV', 'INF', 'EE'] class_suffix = ['A', 'B', 'C', 'D', 'E'] diff --git a/server/user/inputs.py b/server/users/inputs.py similarity index 100% rename from server/user/inputs.py rename to server/users/inputs.py diff --git a/server/user/migrations/0001_initial.py b/server/users/migrations/0001_initial.py similarity index 95% rename from server/user/migrations/0001_initial.py rename to server/users/migrations/0001_initial.py index 4f1616e7..6cd3462d 100644 --- a/server/user/migrations/0001_initial.py +++ b/server/users/migrations/0001_initial.py @@ -7,7 +7,7 @@ import django.core.validators from django.db import migrations, models import django.db.models.deletion import django.utils.timezone -import user.models +import users.models class Migration(migrations.Migration): @@ -59,7 +59,7 @@ class Migration(migrations.Migration): ('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')), + ('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.School')), ('users', models.ManyToManyField(related_name='school_classes', to=settings.AUTH_USER_MODEL)), ], ), @@ -70,20 +70,20 @@ class Migration(migrations.Migration): ('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')), + ('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.School')), ], options={ 'permissions': (('can_edit_modules', 'Can create new contentblocks'),), }, managers=[ - ('objects', user.models.SchoolRoleManager()), + ('objects', users.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')), + ('school_role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SchoolRole')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), diff --git a/server/user/migrations/__init__.py b/server/users/migrations/__init__.py similarity index 100% rename from server/user/migrations/__init__.py rename to server/users/migrations/__init__.py diff --git a/server/user/models.py b/server/users/models.py similarity index 94% rename from server/user/models.py rename to server/users/models.py index 91a4f122..55c9c6b3 100644 --- a/server/user/models.py +++ b/server/users/models.py @@ -87,10 +87,10 @@ class SchoolRoleManager(models.Manager): role = self.create(name=value, school=school, key=key) role.save() - can_edit_modules, = self._create_default_permissions() + can_manage_school_class_content, = self._create_default_permissions() if key == "teacher": - role.role_permission.add(can_edit_modules.id) + role.role_permission.add(can_manage_school_class_content.id) # elif key == "school_admin": # role.role_permission.add() @@ -122,9 +122,9 @@ class SchoolRoleManager(models.Manager): #edit_own_comments = Permission.objects.get(content_type=content_type, codename="can_edit_own_comments") #delete_comments = Permission.objects.get(content_type=content_type, codename="can_delete_comments") #admin_school = Permission.objects.get(content_type=content_type, codename="can_admin_school") - can_edit_modules = Permission.objects.get(content_type=content_type, codename='can_edit_modules') + can_manage_school_class_content = Permission.objects.get(content_type=content_type, codename='can_manage_school_class_content') - return can_edit_modules, + return can_manage_school_class_content, class SchoolRole(models.Model): @@ -159,7 +159,7 @@ class SchoolRole(models.Model): # ("can_edit_events", "Can edit events"), # ("can_edit_own_comments", "Can edit own comments"), # ("can_delete_comments", "Can delete comments"), - ('can_edit_modules', 'Can create new contentblocks'), + ('can_manage_school_class_content', 'Can manage contents for assigned school clases'), # ("can_admin_school", "Can admin school"), ) diff --git a/server/user/schema.py b/server/users/schema.py similarity index 99% rename from server/user/schema.py rename to server/users/schema.py index fa5051b2..31debb94 100644 --- a/server/user/schema.py +++ b/server/users/schema.py @@ -3,7 +3,7 @@ from graphene import relay from graphene_django import DjangoObjectType from graphene_django.filter import DjangoFilterConnectionField -from user.models import SchoolClass, User +from users.models import SchoolClass, User class UserNode(DjangoObjectType): diff --git a/server/user/services.py b/server/users/services.py similarity index 84% rename from server/user/services.py rename to server/users/services.py index e2f308cb..555f2ac6 100644 --- a/server/user/services.py +++ b/server/users/services.py @@ -1,6 +1,6 @@ from core.factories import UserFactory -from user.factories import SchoolClassFactory -from user.models import School, SchoolRole, UserSchoolRole, DEFAULT_SCHOOL_ID +from users.factories import SchoolClassFactory +from users.models import School, SchoolRole, UserSchoolRole, DEFAULT_SCHOOL_ID def create_school_with_users(school_name):