From 49119af40d71c2262b11f069a6dd94e0df610389 Mon Sep 17 00:00:00 2001
From: Zdenek Kubala <zdenek.kubala@pirati.cz>
Date: Sat, 4 Sep 2021 10:56:34 +0000
Subject: [PATCH] fixed signup to sifrovacka

---
 sifrovacka/templates/home.html |  5 +++++
 sifrovacka/views.py            | 29 +++++++++++++++++++----------
 2 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/sifrovacka/templates/home.html b/sifrovacka/templates/home.html
index 0770db6..d273242 100644
--- a/sifrovacka/templates/home.html
+++ b/sifrovacka/templates/home.html
@@ -1,6 +1,11 @@
 {% extends "base.html" %}
 {% if request.user.is_authenticated %}
  {% block content %}
+  {% if error_alreadysigned %}
+   <div class="alert alert--yellow-400">
+   <span> K Sifrovacce jste jiz prihlaseni  </span>
+   </div>
+  {% endif %}
   <ul>
    <p> <b>Dostupne sifrovacky: </b> <a href={% url 'index' %}> Zde </a></p>
 {% comment %}
diff --git a/sifrovacka/views.py b/sifrovacka/views.py
index c068f42..5eb47d6 100644
--- a/sifrovacka/views.py
+++ b/sifrovacka/views.py
@@ -1,6 +1,7 @@
-from django.shortcuts import render
+from django.shortcuts import get_object_or_404, render
 
 # Create your views here.
+from django.db import IntegrityError
 from django.utils import timezone
 from django.http import HttpResponse
 from django.template import loader
@@ -28,20 +29,28 @@ def home(request):
                                     #participation_sifrovacky_list)
         if request.method == 'POST':
               if request.POST["signupsif"]:
-                  print(request.POST["signupsif"])
-                  p = Participants.objects.create(user_id=1, sifrovacka_id=1)
-                  p.save()
+                  post_signupsif = request.POST["signupsif"]
+                  print(post_signupsif)
+                  try:
+                      p = Participants.objects.create(user=request.user,
+                              sifrovacka_id=post_signupsif)
+                  except IntegrityError as e:
+
+                      context = {"active_sifrovacky_list": all_sifrovacky_list,
+                                  "participation_sifrovacky_list": participation_sifrovacky_list,
+                                  "error_alreadysigned": e
+                                }
+                  else:
+                      p.save()
     else:
         participation_sifrovacky_list = None
 
-
-   # sifrovacka_name = Sifrovacka.objects.get(id = sifrovacka_id)
-
+   #    import pdb
+   #    pdb.set_trace()
+       # sifrovacka_name = Sifrovacka.objects.get(id = sifrovacka_id)
     context = {"active_sifrovacky_list": all_sifrovacky_list,
-               "participation_sifrovacky_list": participation_sifrovacky_list}
+                   "participation_sifrovacky_list": participation_sifrovacky_list}
 
-#    import pdb
-#    pdb.set_trace()
     return render(request, 'home.html', context)
 
 def index(request):
-- 
GitLab