Set selected class to newly joined or created one
This commit is contained in:
parent
d4845f0dd1
commit
aa9e72b087
|
|
@ -64,6 +64,11 @@ class User(AbstractUser):
|
|||
else:
|
||||
return None
|
||||
|
||||
def set_selected_class(self, school_class):
|
||||
user_settings, created = UserSetting.objects.get_or_create(user=self)
|
||||
user_settings.selected_class = school_class
|
||||
user_settings.save()
|
||||
|
||||
@property
|
||||
def full_name(self):
|
||||
return self.get_full_name()
|
||||
|
|
|
|||
|
|
@ -100,9 +100,7 @@ class UpdateSetting(relay.ClientIDMutation):
|
|||
if school_class and school_class not in user.school_classes.all():
|
||||
raise PermissionDenied('Permission denied: Incorrect school class')
|
||||
|
||||
user_settings, created = UserSetting.objects.get_or_create(user=user)
|
||||
user_settings.selected_class = school_class
|
||||
user_settings.save()
|
||||
user.set_selected_class(school_class)
|
||||
return cls(success=True)
|
||||
|
||||
success = graphene.Boolean()
|
||||
|
|
@ -128,6 +126,7 @@ class JoinClass(relay.ClientIDMutation):
|
|||
user=user,
|
||||
school_class=school_class
|
||||
)
|
||||
user.set_selected_class(school_class)
|
||||
else:
|
||||
raise CodeNotFoundException('[CAJ] Schüler ist bereits in Klasse') # CAJ = Class Already Joined
|
||||
|
||||
|
|
@ -206,6 +205,7 @@ class CreateSchoolClass(relay.ClientIDMutation):
|
|||
|
||||
school_class = SchoolClass.objects.create(name=name)
|
||||
SchoolClassMember.objects.create(school_class=school_class, user=user)
|
||||
user.set_selected_class(school_class)
|
||||
return cls(success=True, school_class=school_class)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ class JoinSchoolClassTest(TestCase):
|
|||
self.assertEqual(result['success'], True)
|
||||
self.assertEqual(result['schoolClass']['name'], 'Klasse 2B')
|
||||
self.assertEqual(self.user.school_classes.count(), 2)
|
||||
self.assertEqual(self.user.selected_class().code, 'YYYY')
|
||||
|
||||
def test_class_already_joined(self):
|
||||
code = 'YYYY'
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ class ModifySchoolClassTest(TestCase):
|
|||
school_class = get_object(SchoolClass, id)
|
||||
self.assertEqual(school_class.name, class_name)
|
||||
self.assertEqual(school_class.get_teacher(), self.teacher)
|
||||
self.assertEqual(self.teacher.selected_class().name, class_name)
|
||||
|
||||
def test_create_school_class_fail(self):
|
||||
self.assertEqual(SchoolClass.objects.count(), 2)
|
||||
|
|
|
|||
Loading…
Reference in New Issue