From 7a84c2f043287f3c74c989310ddcf09efb67b312 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Wed, 1 Apr 2020 09:37:54 +0200 Subject: [PATCH] Fix default class name generation --- server/registration/mutations_public.py | 2 +- server/users/models.py | 4 +++- server/users/tests/test_school_classes.py | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/server/registration/mutations_public.py b/server/registration/mutations_public.py index 5b53c652..6a3a007b 100644 --- a/server/registration/mutations_public.py +++ b/server/registration/mutations_public.py @@ -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, diff --git a/server/users/models.py b/server/users/models.py index 91c9fd78..6b8659e2 100644 --- a/server/users/models.py +++ b/server/users/models.py @@ -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') diff --git a/server/users/tests/test_school_classes.py b/server/users/tests/test_school_classes.py index 71e39c49..b3139dca 100644 --- a/server/users/tests/test_school_classes.py +++ b/server/users/tests/test_school_classes.py @@ -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):