ソースを参照

reset corretto sede e azienda in fase di selezione

mauro 10 ヶ月 前
コミット
33e3921750

+ 1 - 0
azienda/forms.py

@@ -18,6 +18,7 @@ class formSede(forms.Form):
     self.fields['cancellasede'] = forms.BooleanField(required=False)
     self.fields['cambiopassword'] = forms.BooleanField(required=False)
     self.fields['forzanuovapassword'] = forms.BooleanField(required=False)
+    self.fields['identificativo'] = forms.CharField(required=False)
 
 class formPinMail(forms.Form):
   def __init__(self,*args,**kwargs):

+ 18 - 0
azienda/migrations/0015_sede_identificativo.py

@@ -0,0 +1,18 @@
+# Generated by Django 5.1.4 on 2025-01-15 14:58
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('azienda', '0014_azienda_otppassword_sede_otppassword'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='sede',
+            name='identificativo',
+            field=models.CharField(max_length=10, null=True),
+        ),
+    ]

+ 18 - 0
azienda/migrations/0016_alter_sede_identificativo.py

@@ -0,0 +1,18 @@
+# Generated by Django 5.1.4 on 2025-01-15 15:05
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('azienda', '0015_sede_identificativo'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='sede',
+            name='identificativo',
+            field=models.CharField(default='', max_length=10),
+        ),
+    ]

+ 1 - 0
azienda/models.py

@@ -31,6 +31,7 @@ class Sede(models.Model):
     '''
     nome = models.CharField(max_length=132,null=False,default="")
     info = models.CharField(max_length=256,null=False,default="")
+    identificativo = models.CharField(max_length=10,null=False,default="")
     azienda = models.ForeignKey(Azienda,on_delete=models.PROTECT)
     cambiopassword = models.BooleanField(null=False,default=False)
     forzanuovapassword = models.BooleanField(null=False,default=False)

+ 7 - 15
azienda/templates/azienda.editSede.html

@@ -12,22 +12,9 @@
 {% block body %}
   <!-- errori form sede -->
   {% if sede.errors %}
+    <div class="alert alert-danger">
     {{ sede.errors }}
-    {% for field in sede %}
-      {% for error in field.errors %}
-        <div class="alert alert-danger">
-          <strong>{{ error|escape }}</strong>
-        </div>
-      {% endfor %}
-    {% endfor %}
-
-    {% for error in sede.non_field_errors %}
-      <div class="alert alert-danger">
-          <strong>{{ error|escape }}</strong>
-      </div>
-    {% endfor %}
-  {% else %}
-    Nessun Errore rilevato
+    </div>
   {% endif %}
   <!-- fine zona errori -->
 
@@ -42,6 +29,11 @@
      <label for="info">Info</label>
       <input type='text' class='form-control form-control-lg' name='info' id='info' value='{{ sede.info.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
     </div>
+    <div class='form-group'>
+     <label for="info">Identificativo</label>
+      <input type='text' class='form-control form-control-lg' name='identificativo' id='identificativo' value='{{ sede.identificativo.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
+    </div>
+
     <br>
     <div class="card">
       <div class="card-header">

+ 8 - 5
azienda/views.py

@@ -63,8 +63,7 @@ def welcome(request):
       try:
         sceltaazienda = int(sceltaazienda)
       except ValueError as ve:
-        print("Non e' stata fatta la scelta corretta")
-        print(ve)
+        print("Non e' stata fatta la scelta corretta",ve)
         return HttpResponseRedirect(reverse('azienda:welcome'))
 
       print("sceltaazienda = ",request.POST.get('sceltaazienda'))
@@ -83,7 +82,7 @@ def welcome(request):
           azienda = Azienda.objects.get(pk=sceltaazienda)
           data['azienda'] = azienda
           request.session['AziendaId'] = azienda.id
-          request.session['SedeId'] = 0
+          request.session['SedeId'] = -1 
         except Azienda.DoesNotExist as dne:
           print("errore, oggetto inesistente",dne)
 
@@ -93,14 +92,15 @@ def welcome(request):
         sceltasede = int(sceltasede)
         request.session['SedeId'] = sceltasede
       except ValueError as ve:
-        print("Non e' stata fatta la scelta corretta")
-        print(ve)
+        print("Non e' stata fatta la scelta corretta",ve)
         return HttpResponseRedirect(reverse('azienda:welcome'))
 
       print("sceltasede = ",request.POST.get('sceltasede'))
 
       if sceltasede == -1:
         print('sceltasede -1:',sceltasede)
+        if 'sede' in data:
+          del data['sede']
       elif sceltasede == 0: #richiesta una nuova azienda
         print('sceltasede 0:',sceltasede)
         request.session['SedeIdEdit'] = 0
@@ -279,6 +279,8 @@ def editSede(request):
       sede.mail = nuovasede.cleaned_data.get('mail')
       sede.cambiopassword = nuovasede.cleaned_data.get('cambiopassword')
       sede.forzanuovapassword = nuovasede.cleaned_data.get('forzanuovapassword')
+      sede.info = nuovasede.cleaned_data.get('info')
+      sede.identificativo = nuovasede.cleaned_data.get('identificativo')
       sede.save()
       print('salvataggio sede',nuovasede.cleaned_data)
       request.session['SedeIdEdit'] = sede.id
@@ -305,6 +307,7 @@ def editSede(request):
     tmp = dict()
     tmp['nome'] = sede.nome
     tmp['info'] = sede.info
+    tmp['identificativo'] = sede.identificativo
     tmp['cambiopassword'] = sede.cambiopassword
     tmp['forzanuovapassword'] = sede.forzanuovapassword
     print('stato tmp',tmp)

+ 7 - 0
documento/managefile.py

@@ -251,6 +251,13 @@ def save_and_load_file_indice(request,fileindice,azienda=None,sede=None):
               utente.luogonascita = sr[3].capitalize()
               utente.mail = sr[4].lower()
 
+              # ricerca sede: se il codice estratto nella colonna corrisponde...
+              tmp_sede = sr[5]
+              lista_sede = Azienda.sede_set.all()
+              for ls in lista_sede:
+                if tmp_sede == ls.identificativo:
+                  utente.sede = ls
+
               utente.inserimento = datetime.datetime.today().strftime("%Y-%m-%d")
 
               utente.pin = str(randint(100000,999999))