From da6654f57ef683c8c1f2f4c2eab52d907ba1925b Mon Sep 17 00:00:00 2001 From: Andrea Lepori Date: Tue, 25 Jul 2023 12:14:12 +0200 Subject: change branca and color to show --- accounts/templates/accounts/user_edit.html | 8 +-- accounts/views.py | 69 +++++++---------------- client/migrations/0018_alter_usercode_branca.py | 20 +++++++ client/migrations/0019_alter_document_usercode.py | 19 +++++++ client/models.py | 4 +- client/templates/client/index.html | 3 +- client/views.py | 13 ++++- version.txt | 2 +- 8 files changed, 80 insertions(+), 58 deletions(-) create mode 100644 client/migrations/0018_alter_usercode_branca.py create mode 100644 client/migrations/0019_alter_document_usercode.py diff --git a/accounts/templates/accounts/user_edit.html b/accounts/templates/accounts/user_edit.html index bbbbecd..44eae5b 100644 --- a/accounts/templates/accounts/user_edit.html +++ b/accounts/templates/accounts/user_edit.html @@ -10,8 +10,8 @@ {% block content %}
-
Continua l'attivazione
-

Usa questo pulsante per tornare alla home e continuare il processo d'attivazione

+
Continua l'iscrizione
+

Usa questo pulsante per tornare alla home e continuare il processo d'iscrizione

@@ -44,7 +44,7 @@
- @@ -52,7 +52,7 @@ - +
diff --git a/accounts/views.py b/accounts/views.py index a76ba8d..59afbf8 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -3,7 +3,7 @@ from django.shortcuts import render from django.urls import reverse from django.conf import settings from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm, SetPasswordForm, UserCreationForm -from django.contrib.auth.models import User +from django.contrib.auth.models import User, Group from django.contrib.auth import login, authenticate, logout from django.contrib.auth.views import LoginView from django.http import FileResponse @@ -422,9 +422,6 @@ def edit(request, code): errors = [] context = {} ok_message = "" - personal_active = "active" - medic_active = "" - settings_active = "" # additional user information if (code == 0): # generate code @@ -434,7 +431,7 @@ def edit(request, code): break medic = MedicalData() medic.save() - userCode = UserCode(user=request.user, code=code, medic=medic) + userCode = UserCode(user=request.user, code=code, medic=medic, branca=None) userCode.save() usercode = UserCode.objects.filter(user=request.user, code=code) @@ -458,9 +455,7 @@ def edit(request, code): # variables for validation validation_dic = {} - required_fields = ["first_name", "last_name", "parent_name", "via", "cap", "country", "nationality", "phone", "avs_number", "emer_name", "emer_relative", "cell_phone", "address", "health_care", "injuries", "rc", "medic_name", "medic_phone", "medic_address"] - personal_fields = ["first_name", "last_name", "parent_name", "via", "cap", "country", "nationality", "phone", "avs_number"] - medic_fields = ["emer_name", "emer_relative", "cell_phone", "address", "health_care", "injuries", "rc", "medic_name", "medic_phone", "medic_address"] + required_fields = ["first_name", "last_name", "parent_name", "via", "cap", "country", "nationality", "phone", "avs_number", "emer_name", "emer_relative", "cell_phone", "address", "health_care", "injuries", "rc", "medic_name", "medic_phone", "medic_address", "sickness", "vaccine"] if request.method == "POST": # requested download @@ -524,6 +519,10 @@ def edit(request, code): else: errors.append("L'anno scolastico deve essere un numero") + if "branca" in request.POST: + if request.POST["branca"] != "" and request.POST["branca"] in ["diga", "muta", "reparto", "posto", "clan"]: + usercode.branca = Group.objects.get(name=request.POST["branca"]) + usercode.save() medic.emer_name = request.POST["emer_name"] @@ -549,35 +548,28 @@ def edit(request, code): medic.save() missing_fields = False - missing_personal_field = False if request.POST["birth_date"] == "" or request.POST["birth_date"] == "01 Gennaio 1970" or request.POST["birth_date"] == "None": validation_dic["birth_date"] = 'class="datepicker validate invalid" required="" aria-required="true"' missing_fields = True - missing_personal_field = True else: validation_dic["birth_date"] = 'class="datepicker validate" required="" aria-required="true"' + if request.POST["tetanus_date"] == "" or request.POST["tetanus_date"] == "01 Gennaio 1970" or request.POST["tetanus_date"] == "None": + validation_dic["tetanus_date"] = 'class="datepicker validate invalid" required="" aria-required="true"' + missing_fields = True + else: + validation_dic["tetanus_date"] = 'class="datepicker validate" required="" aria-required="true"' + for i in required_fields: if request.POST[i] == "": missing_fields = True - if i in personal_fields: - missing_personal_field = True validation_dic[i] = 'class="validate invalid" required="" aria-required="true"' else: validation_dic[i] = 'class="validate" required="" aria-required="true"' if missing_fields: errors.append("Alcuni campi richiesti non sono stati compilati") - if not missing_personal_field: - personal_active = "" - medic_active = "active" - - # if "branca" in request.POST: - # if request.POST["branca"] != "": - # request.user.groups.clear() - # request.user.groups.add( - # Group.objects.get(name=request.POST["branca"])) # check if user uploaded a file if "vac_certificate" in request.FILES: @@ -678,19 +670,19 @@ def edit(request, code): validation_dic[i] = 'class="validate" required="" aria-required="true"' # check if user is in a group and set multiple choice to that - if len(request.user.groups.values_list('name', flat=True)) == 0: + if usercode.branca == None: branca_default = "selected" else: - parent_group = request.user.groups.values_list('name', flat=True)[0] - if parent_group == "diga": + branca = usercode.branca.name + if branca == "diga": branca_castorini = "selected" - elif parent_group == "muta": + elif branca == "muta": branca_lupetti = "selected" - elif parent_group == "reparto": + elif branca == "reparto": branca_esploratori = "selected" - elif parent_group == "posto": + elif branca == "posto": branca_pionieri = "selected" - elif parent_group == "clan": + elif branca == "clan": branca_rover = "selected" else: branca_default = "selected" @@ -719,23 +711,11 @@ def edit(request, code): else: card_name = '' - # check if user is connected with midata - midata_user = (usercode.midata_id > 0) - midata_disable = "" - - # get user info from midata - if midata_user: - midata_disable = " readonly disabled" - if not copy_from_midata(request, usercode): - return HttpResponseRedirect(request.get_full_path()) - - usable_password = request.user.has_usable_password() - # check if user has saved the form home_tooltip = False if "saved" in request.GET: # show tooltip only if user is not approved and there are no errors - home_tooltip = (not request.user.has_perm("client.approved")) and (len(errors) == 0) + home_tooltip = (len(errors) == 0) # fill context context = { @@ -784,13 +764,6 @@ def edit(request, code): 'vac_certificate': vac_name, 'errors': errors, 'ok_message': ok_message, - 'midata_user': midata_user, - 'midata_disable': midata_disable, - 'usable_password': usable_password, - 'personal_active': personal_active, - 'medic_active': medic_active, - 'settings_active': settings_active, - 'midata_enabled': MIDATA_ENABLED, 'home_tooltip': home_tooltip, } diff --git a/client/migrations/0018_alter_usercode_branca.py b/client/migrations/0018_alter_usercode_branca.py new file mode 100644 index 0000000..2e43506 --- /dev/null +++ b/client/migrations/0018_alter_usercode_branca.py @@ -0,0 +1,20 @@ +# Generated by Django 4.1.5 on 2023-07-25 09:58 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + ('client', '0017_document_usercode'), + ] + + operations = [ + migrations.AlterField( + model_name='usercode', + name='branca', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.PROTECT, to='auth.group'), + ), + ] diff --git a/client/migrations/0019_alter_document_usercode.py b/client/migrations/0019_alter_document_usercode.py new file mode 100644 index 0000000..04f030a --- /dev/null +++ b/client/migrations/0019_alter_document_usercode.py @@ -0,0 +1,19 @@ +# Generated by Django 4.1.5 on 2023-07-25 09:59 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('client', '0018_alter_usercode_branca'), + ] + + operations = [ + migrations.AlterField( + model_name='document', + name='usercode', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='client.usercode'), + ), + ] diff --git a/client/models.py b/client/models.py index 1548893..c39a5ea 100644 --- a/client/models.py +++ b/client/models.py @@ -77,7 +77,7 @@ class UserCode(models.Model): user = models.ForeignKey(User, default=None, on_delete=models.CASCADE) medic = models.ForeignKey(MedicalData, default=None, on_delete=models.PROTECT) code = models.IntegerField(default=0) - branca = models.ForeignKey(Group, default=1, on_delete=models.PROTECT) + branca = models.ForeignKey(Group, default=None, on_delete=models.PROTECT, null=True) first_name = models.CharField(default="", max_length=250) last_name = models.CharField(default="", max_length=250) email = models.CharField(default="", max_length=250) @@ -97,7 +97,7 @@ class UserCode(models.Model): class Document(models.Model): - usercode = models.ForeignKey(UserCode, default=1, on_delete=models.CASCADE) + usercode = models.ForeignKey(UserCode, default=None, on_delete=models.CASCADE, null=True) user = models.ForeignKey(User, default=None, on_delete=models.CASCADE) group = models.ForeignKey(Group, default=None, on_delete=models.CASCADE) code = models.IntegerField(default=0) diff --git a/client/templates/client/index.html b/client/templates/client/index.html index ef9b67d..8bb2d41 100644 --- a/client/templates/client/index.html +++ b/client/templates/client/index.html @@ -35,8 +35,7 @@
- {{data.0.first_name}} {{data.0.last_name}} - edit +

{{data.0.first_name}} {{data.0.last_name}}edit

{{data.0.born_date}}
add diff --git a/client/views.py b/client/views.py index dfb5dbf..5160927 100644 --- a/client/views.py +++ b/client/views.py @@ -95,7 +95,18 @@ def index(request): for uc in ucs: documents = Document.objects.filter( Q(usercode=uc) & ~Q(status='archive')).select_related("personal_data", "medical_data", "document_type", "user") - docs.append([uc, documents]) + color_mapping = { + "diga": "#ffeb3b", + "muta": "#03a9f4", + "reparto": "#795548", + "posto": "#f44336", + "clan": "#4caf50" + } + if uc.branca == None: + color = "black" + else: + color = color_mapping[uc.branca.name] + docs.append([uc, documents, color]) # show only docs of the user and non archived vac_file = ["/server/media/", "/vac_certificate/doc"] diff --git a/version.txt b/version.txt index 3647ad5..4936b1d 100644 --- a/version.txt +++ b/version.txt @@ -1,2 +1,2 @@ version=0.6 -rev=30 +rev=31 -- cgit v1.2.1