Selaa lähdekoodia

iniziato a mettere mano sull'area di comunicazione e testato accesso delle funzioni dall'amministratore

mauro 1 vuosi sitten
vanhempi
sitoutus
d259cced3a

+ 18 - 0
azienda/migrations/0004_azienda_comm.py

@@ -0,0 +1,18 @@
+# Generated by Django 5.1.2 on 2024-11-29 15:12
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('azienda', '0003_azienda_azienda_azi_partita_d03251_idx'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='azienda',
+            name='comm',
+            field=models.CharField(default='', max_length=256),
+        ),
+    ]

+ 2 - 0
azienda/models.py

@@ -9,6 +9,8 @@ class Azienda(models.Model):
    nome = models.CharField(max_length=132,null=False,default="")
    partitaiva = models.CharField(max_length=11,null=False,default="")
    mail = models.CharField(max_length=256,null=False,default="")
+   comm=models.CharField(max_length=256,null=False,default="") # email usata come mittente per le comunicazioni
+
    class Meta:
      constraints = [ models.UniqueConstraint(fields=['nome','partitaiva'], name="unique-azienda") ]
      indexes = [ models.Index(fields=['partitaiva','nome']) ]

+ 9 - 5
azienda/views.py

@@ -15,16 +15,20 @@ def welcome(request):
   AdminId = request.session['AdminId']
   print('AdminId',AdminId)
 
-  AziendaId = request.session['AziendaId']
-  print('AziendaId',AziendaId)
-
   data = dict()
+
+  if 'AziendaId' in request.session:
+    AziendaId = request.session['AziendaId']
+    print('AziendaId',AziendaId)
+    azienda = Azienda.objects.get(pk=AziendaId)
+    data['azienda'] = azienda
+
   data['Navbar']=True
   data['HeaderTitle'] = getConfig('HeaderTitle')
 
   admin = User.objects.get(pk=AdminId)
   data['admin'] = admin
-  print('admin',admin.id,dir(admin),admin.get_username())
+  print('admin',admin.id,admin.get_username())
 
   assegnazione = Assegnazione.objects.filter(user=admin.id)
   print('assegnazione',len(assegnazione))
@@ -61,7 +65,7 @@ def welcome(request):
 
     if 'documenti' in request.POST:
       # stato premuto il tasto documenti
-      print('premuto tasto documenti',azienda)
+      print('premuto tasto documenti')
       return HttpResponseRedirect(reverse('documento:welcome'))
 
     if "attivita" in request.POST:

+ 2 - 1
comunicazione/forms.py

@@ -5,5 +5,6 @@ class formDocumento(forms.Form):
     forms.Form.__init__(self,*args,**kwargs)
     self.fields['mittente'] = forms.CharField(required=True)
     self.fields['soggetto'] = forms.CharField(required=True)
-    self.fields['corpo'] = forms.CharField(required=True)
+    self.fields['oggetto'] = forms.CharField(required=True)
+    self.fields['id'] = forms.IntegerField(required=False)
 

+ 8 - 10
comunicazione/templates/comunicazione.edit.html

@@ -3,34 +3,32 @@
 </div>
 
 <!-- Modal Abilita Dominio -->
-  <div class="modal" id="EditPage{{ az.id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
+  <div class="modal" id="EditPage{{ com.id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
     <div class="modal-dialog" role="document">
       <div class="modal-content">
         <div class="modal-header"><h5>Modulo Comunicazione</h5>
-          <h5 class="modal fade" id="Titolo Modulo Comunicazione">Modulo Comunicazioni</h5>
+          <h5 class="modal fade" id="TMComunicazione">Modulo Comunicazioni</h5>
           <span aria-hidden="true">&times;</span>
         </div>
-        <form name='modulo' method='post'>
-        {% csrf_token %}
         <div class="modal-body">
           <div class='form-group'>
             <label for='mittente'>Mittente</label>
-            <input class='form-control' type='email' name='email' value='email'>
+	    <input class='form-control' type='email' name='mittente' value='{{ documento.mittente.value }}'>
           </div>
           <div class='form-group'>
             <label for='soggetto'>Soggetto</label>
-            <input class='form-control' type='text' name='soggetto' value='soggetto'>
+	    <input class='form-control' type='text' name='soggetto' value='{{ documento.soggetto.value }}'>
           </div>
           <div class='form-group'>
-            <label for='corpo'>Corpo</email>
-            <textarea class="form-control" id="corpo" rows="3"></textarea>
+            <label for='corpo'>Corpo</label>
+		    <textarea class="form-control" id="oggetto" name='oggetto' rows="3">{{ documento.oggetto.value }}</textarea>
           </div> 
         </div>
         <div class="modal-footer">
           <button type="submit" class="btn btn-primary" name='conferma'>Conferma</button>
-          <button type="reset" class="btn btn-secondary" data-dismiss="modal">Close</button>
+          <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
+	  {{ documento.id }}
         </div>
-        </form>
       </div>
     </div>
   </div>

+ 38 - 0
comunicazione/templates/comunicazione.edit.html.ori

@@ -0,0 +1,38 @@
+<div class='collapse' id='test'>
+
+</div>
+
+<!-- Modal Abilita Dominio -->
+  <div class="modal" id="EditPage{{ az.id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
+    <div class="modal-dialog" role="document">
+      <div class="modal-content">
+        <div class="modal-header"><h5>Modulo Comunicazione</h5>
+          <h5 class="modal fade" id="Titolo Modulo Comunicazione">Modulo Comunicazioni</h5>
+          <span aria-hidden="true">&times;</span>
+        </div>
+        <form name='modulo' method='post'>
+        {% csrf_token %}
+        <div class="modal-body">
+          <div class='form-group'>
+            <label for='mittente'>Mittente</label>
+            <input class='form-control' type='email' name='email' value='email'>
+          </div>
+          <div class='form-group'>
+            <label for='soggetto'>Soggetto</label>
+            <input class='form-control' type='text' name='soggetto' value='soggetto'>
+          </div>
+          <div class='form-group'>
+            <label for='corpo'>Corpo</email>
+            <textarea class="form-control" id="corpo" rows="3"></textarea>
+          </div> 
+        </div>
+        <div class="modal-footer">
+          <button type="submit" class="btn btn-primary" name='conferma'>Conferma</button>
+          <button type="reset" class="btn btn-secondary" data-dismiss="modal">Close</button>
+        </div>
+        </form>
+      </div>
+    </div>
+  </div>
+<!--modal Fine -->
+

+ 6 - 5
comunicazione/templates/comunicazione.welcome.html

@@ -11,11 +11,11 @@
     </thead>
     <tbody>
       {% csrf_token %}
-      {% for az in comunicazione %}
+      {% for com in comunicazione %}
         <tr>
-	  <td> {{ az.from }} </td>
-	  <td> {{ az.soggetto }}</td>
-	  <td><button type='button' class='btn btn-primary' name="Edit" value="{{ az.id }}" data-bs-toggle='modal' data-bs-target='#EditPage{{ az.id }}'> >Edit</button></td>
+	  <td> {{ com.from }} </td>
+	  <td> {{ com.soggetto }}</td>
+	  <td><button type='button' class='btn btn-primary' name="Edit" value="{{ com.id }}" data-bs-toggle='modal' data-bs-target='#EditPage{{ com.id }}'> >Edit</button></td>
 	  {% include 'comunicazione.edit.html' %}
   	</tr>
       {% endfor %} 
@@ -24,7 +24,8 @@
   <div>
     <button type='button' class='btn btn-primary' name='nuovo' value='nuovo' data-bs-toggle='modal' data-bs-target='#EditPage'>Nuovo</button>
     <input type='reset' class='btn btn-primary' name='reset' value='reset'>
-    <input type='submit' class='btn btn-primary' name='Ritorna' value='Ritorna'>
+    <input type='submit' class="btn btn-primary" name="Ritorna" value="Ritorna">
+
     {% include 'comunicazione.edit.html' %}
   </div>
 </form>

+ 46 - 3
comunicazione/views.py

@@ -153,8 +153,7 @@ def welcome(request):
   if not 'AdminId' in request.session or 'UserId' in request.session:
     print("Non rilevo presensa UserId e AdminId in request.session")
     return HttpResponseRedirect(reverse("login:start"))
-
-  if 'AdminId' in request.session:
+  else:
     data['AdminId'] = request.session['AdminId']
 
   if 'UserId' in request.session:
@@ -166,11 +165,12 @@ def welcome(request):
 
   data['azienda'] = Azienda.objects.get(pk=data['AziendaId'])
   data['comunicazione'] = data['azienda'].comunicazione_set.all()
+  data['comm'] = data['azienda'].comm
   print(data)
 
-
   if request.method == "POST":
     print('Richiesta effettuata')
+    print(request.POST)
 
     if 'Ritorna' in request.POST:
       return HttpResponseRedirect(reverse("azienda:welcome"))
@@ -178,12 +178,55 @@ def welcome(request):
     fd = formDocumento(request.POST)
     if fd.is_valid():
       print('documento valido')
+    else: 
+      print('documento non valido')
+      data['documento'] = formDocumento(request.POST)
 
+  else:
+    data['documento'] = formDocumento()
+    
   return render(request,'comunicazione.welcome.html',data)
 
 
 
   '''
+
+  def edit(request):
+  AdminId = request.session['AdminId']
+
+  data={}
+  data['HeaderTitle'] = getConfig('HeaderTitle')
+  data['admin' ] = User.objects.get(pk=AdminId)
+
+  if request.method == "POST":
+    print("Richiesta creazione nuova azienda")
+    nuovaazienda = formAzienda(request.POST)
+    if nuovaazienda.is_valid():
+      print("il form e' valido",request.POST)
+      azienda = Azienda()
+      azienda.nome = nuovaazienda.cleaned_data.get('nome')
+      azienda.mail = nuovaazienda.cleaned_data.get('mail')
+      azienda.partitaiva = nuovaazienda.cleaned_data.get('partitaiva')
+      azienda.save()
+      request.session['AziendaId'] = azienda.id
+      assegnazione = Assegnazione()
+      assegnazione.azienda=azienda
+      assegnazione.user=User.objects.get(pk=AdminId)
+      assegnazione.save()
+      return HttpResponseRedirect(reverse('azienda:welcome'))
+    else:
+      print("form non valido")
+      data['azienda'] = formAzienda(request.POST)
+
+  else: #non è un post
+    print("Non è un post")
+    formAziendaField = formAzienda()
+    data['azienda'] = formAziendaField
+
+  return render(request,'azienda.edit.html',data)
+
+
+
   #filtro:
   # selezionare tutti gli utenti per AziendaId
   admin = User.objects.get(pk=data['AdminId'])

BIN
db/db.sqlite3


+ 2 - 0
documento/views.py

@@ -63,6 +63,8 @@ def welcome(request):
   if request.method == 'POST':
 
     if 'Ritorna' in request.POST:
+      print("AziendaId",request.session['AziendaId'])
+      print("AdminId",request.session['AdminId'])
       return HttpResponseRedirect(reverse("azienda:welcome"))
 
     if 'DeleteOldDocuments' in request.POST:

+ 1 - 1
static/templates/base.html

@@ -30,7 +30,7 @@
           <ul>
             <form name="scegliazienda" method=POST>
             {% csrf_token %}
-            <select class="form-select form-select-lg mb-3" aria-label=".form-select-lg" name="sceltaazienda" onchange="this.form.submit()">
+            <select class="form-select form-select-lg mb-1" aria-label=".form-select-lg" name="sceltaazienda" onchange="this.form.submit()">
 	      <option>Scelta Azienda</option>
               {% for a in aziendaLista %}
 	      <option value={{ a.id }} {% if a.id == azienda.id %}selected{% endif %}>{{ a.nome }}</button></option>