Bladeren bron

Aggiunta possibilità di fare editing amministratore da azienda

mauro 9 maanden geleden
bovenliggende
commit
203cb4473a

+ 42 - 0
amministratore/templates/amministratore.edit.amministratore.edit.html

@@ -0,0 +1,42 @@
+{% extends 'base.html' %}
+
+{% block body %}
+
+ <div class="error">
+  <!-- errori form sede -->
+  {% if sede.errors %}
+    <div class="alert alert-danger">
+    {{ sede.errors }}
+    </div>
+  {% endif %}
+  <!-- fine zona errori -->
+  </div>
+
+  <!-- profilo sede -->
+  <form name='AmministratoreEdit' method='post'>
+    {% csrf_token %}
+    <div class='form-group'>
+      <label for="login">Login Amministratore</label>
+      <input type='text' class='form-control form-control-lg' name='login' id='login' value='{{ amministratore.login.value }}' {% if not "AMMINISTRATORE.EDITSELFLOGIN" in permesso %}readonly{% endif %}>
+    </div>
+    <div class='form-group'>
+      <label for="nome">Nome</label>
+      <input type='text' class='form-control form-control-lg' name='nome' id='nome' value='{{ amministratore.nome.value }}' {% if not "AMMINISTRATORE.EDITSELFNOME" in permesso %}readonly{% endif %}>
+    </div>
+    <div class='form-group'>
+      <label for="mail">Email</label>
+      <input type='text' class='form-control form-control-lg' name='mail' id='mail' value='{{ amministratore.mail.value }}' {% if not "AMMINISTRATORE.EDITSELFMAIL" %}readonly{% endif %}>
+    </div>
+    <div class='form-group'>
+      <label for="pin">Pin/Password</label>
+      <input type='password' class='form-control form-control-lg' name='pin' id='pin' value='{{ amministratore.pin.value }}' {% if not "AMMINISTRATORE.EDITSELFPIN" in permesso %}readonly{% endif %}>
+    </div>
+    <p></p>
+    <div class="btn-group">
+      <br>
+      <input type='submit' name="AmministratoreUpdateButton" class="btn btn-primary" value='Aggiorna' {% if "AMMINISTRATORE.EDITSELF" in permesso %} disable {% endif %}>
+      <input type='submit' class="btn btn-primary" name="indietro" value="Indietro">
+    </div>
+  </form>
+
+{% endblock %}

+ 1 - 36
amministratore/templates/amministratore.edit.amministratore.html

@@ -1,38 +1,3 @@
 <div class="tab-pane fade {% if pane == 'Amministratore' %}show active{% endif %}" id="amministratore-pane" role="tabpanel" aria-labelledby="amministratore-tab" tabindex="0">
-  <div class="error">
-  <!-- errori form sede -->
-  {% if sede.errors %}
-    <div class="alert alert-danger">
-    {{ sede.errors }}
-    </div>
-  {% endif %}
-  <!-- fine zona errori -->
-  </div>
-
-  <!-- profilo sede -->
-  <form name='AmministratoreEdit' method='post'>
-    {% csrf_token %}
-    <div class='form-group'>
-      <label for="login">Login Amministratore</label>
-      <input type='text' class='form-control form-control-lg' name='login' id='login' value='{{ amministratore.login.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
-    </div>
-    <div class='form-group'>
-      <label for="nome">Nome</label>
-      <input type='text' class='form-control form-control-lg' name='nome' id='nome' value='{{ amministratore.nome.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
-    </div>
-    <div class='form-group'>
-      <label for="mail">Email</label>
-      <input type='text' class='form-control form-control-lg' name='mail' id='mail' value='{{ amministratore.mail.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
-    </div>
-    <div class='form-group'>
-      <label for="pin">Pin/Password</label>
-      <input type='text' class='form-control form-control-lg' name='pin' id='pin' value='{{ amministratore.pin.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
-    </div>
-    <p></p>
-    <div class="btn-group">
-      <br>
-      <input type='submit' name="AmministratoreUpdateButton" class="btn btn-primary" value='Aggiorna' {% if admin.sola_lettura %} disable {% endif %}>
-      <input type='submit' class="btn btn-primary" name="indietro" value="Indietro">
-    </div>
-  </form>
+  {% include "amministratore.edit.amministratore.edit.html" %}
 </div>

+ 1 - 0
amministratore/urls.py

@@ -5,5 +5,6 @@ app_name='amministratore'
 urlpatterns = [
   path('welcome',views.welcome,name='welcome'),
   path('edit',views.edit,name='edit'),
+  path('editAmministratore',views.editAmministratore,name='editAmministratore'),
 ]
 

+ 57 - 0
amministratore/views.py

@@ -351,3 +351,60 @@ def edit(request):
     print('Differenza aziende',len(data['listaaziendadiff']))
  
   return render(request,'amministratore.edit.html',data)
+
+### editing amministratore senza ulteriori funzioni ###
+def editAmministratore(request):
+  if not 'AdminId' in request.session:
+    return HttpResponseRedirect(reverse("login:start"))
+
+  ### funzioni esterne ###
+  d = DataDict()
+  data = d.getData()
+  data['NavBar']=True
+  data['ShowSelectAzienda'] = False
+  data['ShowSelectSede'] = False
+
+  define = Define(request)
+  data['admin'] = define.getAdmin()
+  data['azienda'] = define.getAzienda()
+  data['AziendaId'] = define.getAziendaId()
+  data['sede'] = define.getSede()
+  data['SedeId'] = define.getSedeId()
+  print('cazzo cazzo')
+  ### funzioni esterne fine ###
+
+  if 'AdminId' in request.session:
+    data['AdminId'] = request.session['AdminId']
+    admin = Amministratore.objects.get(pk=data['AdminId'])
+    data['admin'] = admin
+    print('admin',admin.id,admin.nome)
+    data['permesso'] = getAMP(admin)[0]
+
+  amministratore = data['admin']
+  print('amministratore',amministratore.id,amministratore.nome)
+
+  if request.method == 'POST':
+    print("qualcosa e' stato premuto")
+
+    if 'indietro' in request.POST:
+        return HttpResponseRedirect(reverse("azienda:welcome"))
+
+    if 'AmministratoreUpdateButton' in request.POST:
+      formamministratore = FormAmministratore(request.POST)
+      if formamministratore.is_valid():
+        print('form valida formamministratore')
+        amministratore.login=formamministratore.cleaned_data.get('login')
+        amministratore.nome=formamministratore.cleaned_data.get('nome')
+        amministratore.mail=formamministratore.cleaned_data.get('mail')
+        amministratore.pin=formamministratore.cleaned_data.get('pin')
+        amministratore.save()
+        print('id amministratore salvato/nuovo',amministratore.id,":",amministratore.nome)
+
+  tmp = dict()
+  tmp['nome'] = amministratore.nome
+  tmp['login'] = amministratore.login
+  tmp['pin'] = amministratore.pin
+  tmp['mail'] = amministratore.mail
+  data['amministratore'] = FormAmministratore(tmp)
+
+  return render(request,'amministratore.edit.amministratore.edit.html',data)

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

@@ -28,6 +28,9 @@
       {% if 'SEDE.EDIT' in permesso %}
       <button type='submit' class='btn btn-primary' name='parsede' value='{{ sede.id }}' {% if not sede.id %} disabled {% endif %}>Par.Sede</button>
       {% endif %}
+      {% if "AMMINISTRATORE.EDITSELF" in permesso %}
+      <button type='submit' class='btn btn-primary' name='paramm' value='{{ admin.id }}'>Par.Amministratore</button>
+      {% endif %}
     {% endif %}
     {% if 'LOG.ALL' in permesso %}
     <button type='submit' class='btn btn-primary' name='logall'>Tutti i Log</button>

+ 6 - 0
azienda/views.py

@@ -180,6 +180,12 @@ def welcome(request):
       request.session['SedeIdEdit'] = sede.id
       return HttpResponseRedirect(reverse('azienda:editSede'))
 
+    if 'paramm' in request.POST:
+      print('premuto tasto Par.Amministratore')
+      amid = request.POST.get('paramm')
+      print('amministratore passato',request.POST.get('paramm'))
+      return HttpResponseRedirect(reverse('amministratore:editAmministratore'))
+
     if 'amministratore' in request.POST:
       print(' premuto tasto Amministratore')
       return HttpResponseRedirect(reverse('amministratore:welcome'))