From b21a9c71a13691a0180e557f0686adba63a8c7ac Mon Sep 17 00:00:00 2001 From: Mikkel <4072916+Mikk3@users.noreply.github.com> Date: Tue, 31 May 2022 16:40:38 +0200 Subject: [PATCH] =?UTF-8?q?Tilf=C3=B8j=20tjek=20af=20gruppe=20navn=20duple?= =?UTF-8?q?tter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aula/Group/routes.py | 7 +++++-- aula/models.py | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/aula/Group/routes.py b/aula/Group/routes.py index 9fa0be1..7375e96 100644 --- a/aula/Group/routes.py +++ b/aula/Group/routes.py @@ -29,6 +29,9 @@ def show(group_id): @login_required def create(): form = CreateGroupForm() - insert_group(form.title.data, form.hidden.data) - flash('Gruppen blev oprettet', 'success') + + if insert_group(form.title.data, form.hidden.data): + flash('Gruppen blev oprettet', 'success') + else: + flash('En gruppe med det navn findes allerede', 'danger') return redirect(f"/groups") \ No newline at end of file diff --git a/aula/models.py b/aula/models.py index 7e38b1a..ee14ce1 100644 --- a/aula/models.py +++ b/aula/models.py @@ -331,13 +331,23 @@ def insert_thread(group_id, title): cur.close() def insert_group(name, hidden): + # Make sure we dont try to create group with same name as others + # Since name has UNIQUE constraint. cur = conn.cursor() sql = """ + SELECT COUNT(*) FROM groups WHERE name = %s + """ + cur.execute(sql, (name,)) + if cur.fetchone()[0] > 0: return False + + # Do insertion + sql = """ INSERT INTO groups(name, hidden) VALUES (%s, %s) """ cur.execute(sql, (name, hidden)) conn.commit() cur.close() + return True def insert_post(group_id, author_id, title, content): cur = conn.cursor()