From 2e1d7b46bca4735b139295f122b31cf89ae8e379 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Mon, 24 Feb 2020 18:32:43 +0100 Subject: [PATCH] Add error message and add styling --- client/src/pages/joinClass.vue | 17 ++++++++++++----- server/users/mutations.py | 10 +++++++--- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/client/src/pages/joinClass.vue b/client/src/pages/joinClass.vue index 2f83c2ab..7318b0ad 100644 --- a/client/src/pages/joinClass.vue +++ b/client/src/pages/joinClass.vue @@ -2,17 +2,21 @@

Zugangscode eingeben

-
- {{error}} -
+ {{ error }} +
@@ -65,8 +69,11 @@ }) .catch(e => { console.debug(e); - console.error(e.message); - this.error = 'Code ist nicht gültig'; + if (e.message.indexOf('[CAJ]') > -1) { + this.error = 'Klasse bereits beigetreten'; + } else { + this.error = 'Code ist nicht gültig'; + } }) }, cancel() { diff --git a/server/users/mutations.py b/server/users/mutations.py index 8ce94560..96490bc9 100644 --- a/server/users/mutations.py +++ b/server/users/mutations.py @@ -120,13 +120,17 @@ class JoinClass(relay.ClientIDMutation): user = info.context.user code = kwargs.get('code') try: - school_class = SchoolClass.objects.get(Q(code__iexact=code) & ~Q(users=user)) + school_class = SchoolClass.objects.get(Q(code__iexact=code)) - school_class.users.add(user) + + if user not in list(school_class.users.all()): + school_class.users.add(user) + else: + raise CodeNotFoundException('[CAJ] Schüler ist bereits in Klasse') # CAJ = Class Already Joined return cls(success=True, school_class=school_class) except SchoolClass.DoesNotExist: - raise CodeNotFoundException('Code ist nicht gültig') + raise CodeNotFoundException('[CNV] Code ist nicht gültig') # CAV = Code Not Valid class ProfileMutations: