From 10349d91b552225da4a90765c4712ba789784279 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Wed, 26 Feb 2020 12:46:10 +0100 Subject: [PATCH] Update dummy data --- server/core/management/commands/dummy_data.py | 12 ++++++++--- server/users/services.py | 20 ++++++++++++++----- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/server/core/management/commands/dummy_data.py b/server/core/management/commands/dummy_data.py index 27b9798a..501f03a8 100644 --- a/server/core/management/commands/dummy_data.py +++ b/server/core/management/commands/dummy_data.py @@ -12,7 +12,8 @@ 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 users.services import create_users +from users.models import Role +from users.services import create_users, create_student from .data.module_data import data from .data.user_data import user_data @@ -57,6 +58,13 @@ class Command(BaseCommand): create_users(user_data) + # create student without class + create_student( + username='hansli', + first_name='Hansli', + last_name='Alleini' + ) + for book_idx, book_data in enumerate(data): book = BookFactory.create(parent=site.root_page, **self.filter_data(book_data, 'topics')) @@ -102,8 +110,6 @@ class Command(BaseCommand): # ContentBlockFactory.create(parent=chapter, **self.filter_data(content_block_data, 'contents')) ContentBlockFactory.create(parent=chapter, module=module, **content_block_data) - - # now create all and rooms management.call_command('dummy_rooms', verbosity=0) diff --git a/server/users/services.py b/server/users/services.py index b76353eb..d90de387 100644 --- a/server/users/services.py +++ b/server/users/services.py @@ -3,11 +3,23 @@ from users.factories import SchoolClassFactory from users.models import Role, UserRole, DEFAULT_SCHOOL_ID +def create_student(**kwargs): + try: + student_role = Role.objects.get_default_student_role() + except Role.DoesNotExist: + Role.objects.create_default_roles() + student_role = Role.objects.get_default_student_role() + user = UserFactory( + **kwargs + ) + UserRole.objects.create(user=user, role=student_role) + return user + + def create_users(data=None): Role.objects.create_default_roles() teacher_role = Role.objects.get_default_teacher_role() - student_role = Role.objects.get_default_student_role() if data is None: teacher = UserFactory(username='teacher') @@ -15,8 +27,7 @@ def create_users(data=None): students = [] for i in range(1, 7): - student = UserFactory(username='student{}'.format(i)) - UserRole.objects.create(user=student, role=student_role) + student = create_student(username='student{}'.format(i)) students.append(student) SchoolClassFactory( @@ -45,13 +56,12 @@ def create_users(data=None): students = [] for first, last in school_class.get('students'): - student = UserFactory( + student = create_student( username='{}.{}'.format(first, last).lower(), first_name=first, last_name=last, email='{}.{}@skillbox.example'.format(first, last).lower() ) - UserRole.objects.create(user=student, role=student_role) students.append(student) SchoolClassFactory(