Fix default class name generation

This commit is contained in:
Ramon Wenger 2020-04-01 09:37:54 +02:00
parent 4cf8a6fe27
commit 7a84c2f043
3 changed files with 9 additions and 2 deletions

View File

@ -59,7 +59,7 @@ class Registration(relay.ClientIDMutation):
if sb_license.license_type.is_teacher_license():
teacher_role = Role.objects.get(key=Role.objects.TEACHER_KEY)
UserRole.objects.get_or_create(user=user, role=teacher_role)
default_class_name = SchoolClass.generate_default_group_name()
default_class_name = SchoolClass.generate_default_group_name(user=user)
default_class = SchoolClass.objects.create(name=default_class_name)
SchoolClassMember.objects.create(
user=user,

View File

@ -91,8 +91,10 @@ class SchoolClass(models.Model):
return '{}'.format(self.name)
@classmethod
def generate_default_group_name(cls):
def generate_default_group_name(cls, user=None):
prefix = 'Meine Klasse'
if user is not None:
return f'{prefix} {user.pk}'
prefix_regex = r'Meine Klasse (\d+)'
initial_default_group = '{} 1'.format(prefix)
my_group_filter = cls.objects.filter(name__startswith=prefix).order_by('-pk')

View File

@ -22,6 +22,7 @@ from graphene.test import Client
from graphql_relay import to_global_id
from api.utils import get_graphql_mutation, get_object
from core.factories import UserFactory
from users.models import SchoolClass, User
from api.schema import schema
from users.services import create_users
@ -47,6 +48,10 @@ class SchoolClassesTest(TestCase):
class_name = SchoolClass.generate_default_group_name()
self.assertEqual('{} 11'.format(self.prefix), class_name)
def test_default_class_name_with_user(self):
user = UserFactory(username='hansli')
class_name = SchoolClass.generate_default_group_name(user=user)
self.assertEqual(f'{self.prefix} {user.pk}', class_name)
class ModifySchoolClassTest(TestCase):
def setUp(self):