浏览代码

nel caso ci sia una partita doppia, viene visualizzato un messaggio di avviso

mauro 9 月之前
父节点
当前提交
8940ea9ab6
共有 3 个文件被更改,包括 92 次插入35 次删除
  1. 55 7
      azienda/templates/azienda.editAzienda.html
  2. 1 0
      azienda/templates/azienda.welcome.html
  3. 36 28
      azienda/views.py

+ 55 - 7
azienda/templates/azienda.editAzienda.html

@@ -1,11 +1,20 @@
 {% extends 'base.html' %}
 
-    <div class='form-outline mb-3 text-center btn-primary h3'>
-           {{ HeaderTitle }}
-    </div>
-    <div class='form-outline mb-3 text-center btn-primary h3'>
-           Amministratore: {{ admin.username }} 
-    </div>
+{% block headersupplement %}
+  <script language="JavaScript">
+
+    {% if AziendaEsistente %}
+//      $(window).on('load',function() {
+	$(document).ready(function() {
+	$('#AlertAziendaEsistente').modal('show');
+        $("#dest_nome").html($("#nome").val());
+        $("#dest_partitaiva").html($("#partitaiva").val());
+        console.log($("#partitaiva").val());
+      });
+    {% endif %}
+    
+   </script>
+{% endblock %}
 
 {% block body %}
 
@@ -102,8 +111,47 @@
       <button type='submit' class="btn btn-primary" name="indietro">Indietro/Chiudi</button>
     </div>
   </form>
+</div>
 
-</div>{% endblock %}
+<!-- Modal -->
+<div class="modal fade" id="AlertAziendaEsistente" tabindex="-1" role="dialog" aria-labelledby="AziendaEsistente" aria-hidden="true">
+  <div class="modal-dialog modal-dialog-centered" role="document">
+    <div class="modal-content">
+      <div class="modal-header">
+        <h5 class="modal-title" id="TitleModalTitle">Attenzione: Azienda Esistente</h5>
+      </div>
+      <div class="modal-body">
+	Attenzione:<br>
+	L'azienda appena inserita <div id="dest_nome"></div> con partita iva <div id="dest_partitaiva"></div><br>
+	risulta gia' presente in archivio.
+	Se non è visualizzata, è possibile che non ne abbiate i diritti di accesso.
+      </div>
+      <div class="modal-body">
+        <!-- errori form azienda -->
+        {% if aziendaForm.errors %}
+          {{ aziendaForm.errors }}
+          {% for field in aziendaForm %}
+            {% for error in field.errors %}
+              <div class="alert alert-danger">
+                <strong>{{ error|escape }}</strong>
+              </div>
+            {% endfor %}
+          {% endfor %}
+          {% for error in aziendaForm.non_field_errors %}
+            <div class="alert alert-danger">
+              <strong>{{ error|escape }}</strong>
+            </div>
+          {% endfor %}
+        {% endif %}
+      
+  <!-- fine zona errori -->
+      <div class="modal-footer">
+        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
+      </div>
+    </div>
+  </div>
+</div>
+{% endblock %}
 
 {% block bodybottom %}
   <br>

+ 1 - 0
azienda/templates/azienda.welcome.html

@@ -35,6 +35,7 @@
 
   </form>
   </div>
+
 {% endblock %}
 
 {% block bodybottom %}

+ 36 - 28
azienda/views.py

@@ -1,5 +1,6 @@
 from django.shortcuts import render
 from django.http import HttpResponseRedirect
+from django.db.utils import IntegrityError
 from django.urls import reverse
 from .models import *
 from config.views import *
@@ -284,34 +285,41 @@ def editAzienda(request):
         azienda.cambiopassword = nuovaazienda.cleaned_data.get('cambiopassword')
         azienda.forzanuovapassword = nuovaazienda.cleaned_data.get('forzanuovapassword')
         azienda.otppassword = nuovaazienda.cleaned_data.get('otppassword')
-        azienda.save()
-        
-        request.session['AziendaIdEdit'] = azienda.id
-        print('azienda:',azienda.id)
-
-        request.session['AziendaId'] = azienda.id
-        data['azienda'] = azienda
-       
-        ### nel caso l'azienda non esista, si aggiungono i permessi di base
-        print("data['admin']",data['admin'])
-        if 'AZIENDA' in getAMP(data['admin'])[0]:
-            print('getAMP: Azienda')
-            setAZP(azienda,data['admin'],"AZIENDA")
-        if 'AZIENDA.CREA' in getAMP(data['admin'])[0]:
-          print('getAMP: AZIENDA.CREA')
-          setAZP(azienda,data['admin'],"AZIENDA.CREA")
-        if 'AZIENDA.EDIT' in getAMP(data['admin'])[0]:
-          print('getAMP: AZIENDA.EDIT')
-          setAZP(azienda,data['admin'],"AZIENDA.EDIT")
-        if 'UTENTE' in getAMP(data['admin'])[0]:
-          print('getAMP:  UTENTE')
-          setAZP(azienda,data['admin'],"UTENTE")
-        if 'UTENTE.CREA' in getAMP(data['admin'])[0]:
-          print('getAMP:  UTENTE.CREA')
-          setAZP(azienda,data['admin'],"UTENTE.CREA")
-        if 'UTENTE.EDIT' in getAMP(data['admin'])[0]:
-          print('getAMP:  UTENTE.EDIT')
-          setAZP(azienda,data['admin'],"UTENTE.EDIT")
+        try:
+          azienda.save()
+        except IntegrityError as ie:
+          print("Errore, azienda gia' presente:",azienda.nome,azienda.partitaiva)
+          data['AziendaEsistente']=True
+
+        if not 'AziendaEsistente' in data: 
+          request.session['AziendaIdEdit'] = azienda.id
+          print('azienda:',azienda.id)
+          request.session['AziendaId'] = azienda.id
+          data['azienda'] = azienda
+      
+          ### nel caso l'azienda non esista, si aggiungono i permessi di base
+          print("data['admin']",data['admin'])
+          if 'AZIENDA' in getAMP(data['admin'])[0]:
+              print('getAMP: Azienda')
+              setAZP(azienda,data['admin'],"AZIENDA")
+          if 'AZIENDA.CREA' in getAMP(data['admin'])[0]:
+            print('getAMP: AZIENDA.CREA')
+            setAZP(azienda,data['admin'],"AZIENDA.CREA")
+          if 'AZIENDA.EDIT' in getAMP(data['admin'])[0]:
+            print('getAMP: AZIENDA.EDIT')
+            setAZP(azienda,data['admin'],"AZIENDA.EDIT")
+          if 'UTENTE' in getAMP(data['admin'])[0]:
+            print('getAMP:  UTENTE')
+            setAZP(azienda,data['admin'],"UTENTE")
+          if 'UTENTE.CREA' in getAMP(data['admin'])[0]:
+            print('getAMP:  UTENTE.CREA')
+            setAZP(azienda,data['admin'],"UTENTE.CREA")
+          if 'UTENTE.EDIT' in getAMP(data['admin'])[0]:
+            print('getAMP:  UTENTE.EDIT')
+            setAZP(azienda,data['admin'],"UTENTE.EDIT")
+
+          data['aziendaForm'] = formAzienda(request.POST)
+          return render(request,'azienda.editAzienda.html',data)
       else:
         data['aziendaForm'] = formAzienda(request.POST)
         print("il form 'AggiornaAziendaButton' non è valido")