Răsfoiți Sursa

continuano le modifiche alla parte Sede

Mauro 1 an în urmă
părinte
comite
e41c99f328

+ 0 - 0
amministratore/__init__.py


+ 3 - 0
amministratore/admin.py

@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.

+ 6 - 0
amministratore/apps.py

@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class AmministrazioneConfig(AppConfig):
+    default_auto_field = 'django.db.models.BigAutoField'
+    name = 'amministratore'

+ 29 - 0
amministratore/migrations/0001_initial.py

@@ -0,0 +1,29 @@
+# Generated by Django 5.1.2 on 2024-12-12 20:45
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    initial = True
+
+    dependencies = [
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='Amministratore',
+            fields=[
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('login', models.CharField(max_length=64)),
+                ('nome', models.CharField(max_length=128, unique=True)),
+                ('mail', models.CharField(default='', max_length=128)),
+                ('pin', models.CharField(max_length=64)),
+                ('sola_lettura', models.BooleanField(default=False)),
+                ('crea_azienda', models.BooleanField(default=True)),
+                ('crea_sede', models.BooleanField(default=True)),
+                ('crea_utente', models.BooleanField(default=True)),
+                ('crea_documento', models.BooleanField(default=True)),
+            ],
+        ),
+    ]

+ 0 - 0
amministratore/migrations/__init__.py


+ 0 - 0
utente/models_amministratore.py → amministratore/models.py


+ 3 - 0
amministratore/tests.py

@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.

+ 3 - 0
amministratore/views.py

@@ -0,0 +1,3 @@
+from django.shortcuts import render
+
+# Create your views here.

+ 20 - 0
att/migrations/0020_alter_attivita_amministratore.py

@@ -0,0 +1,20 @@
+# Generated by Django 5.1.2 on 2024-12-12 20:45
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('amministratore', '0001_initial'),
+        ('att', '0019_alter_attivita_amministratore'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='attivita',
+            name='amministratore',
+            field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='amministratore.amministratore'),
+        ),
+    ]

+ 1 - 0
att/models.py

@@ -8,6 +8,7 @@ import datetime
 from utente.models import *
 from azienda.models import *
 from documento.models import *
+from amministratore.models import *
 
 class Causale(models.Model):
   nome = models.CharField(max_length=32,default='',null=False)

+ 1 - 0
azienda/fixtures/AssegnazioneAzienda.json

@@ -0,0 +1 @@
+[{"model": "azienda.assegnazioneazienda", "pk": 4, "fields": {"azienda": 1, "amministratore": 1}}, {"model": "azienda.assegnazioneazienda", "pk": 5, "fields": {"azienda": 1, "amministratore": 2}}, {"model": "azienda.assegnazioneazienda", "pk": 6, "fields": {"azienda": 2, "amministratore": 1}}]

+ 1 - 0
azienda/fixtures/AssegnazioneSede.json

@@ -0,0 +1 @@
+[{"model": "azienda.assegnazioneazienda", "pk": 4, "fields": {"azienda": 1, "amministratore": 1}}, {"model": "azienda.assegnazioneazienda", "pk": 5, "fields": {"azienda": 1, "amministratore": 2}}, {"model": "azienda.assegnazioneazienda", "pk": 6, "fields": {"azienda": 2, "amministratore": 1}}]

+ 25 - 0
azienda/migrations/0009_alter_assegnazioneazienda_amministratore_and_more.py

@@ -0,0 +1,25 @@
+# Generated by Django 5.1.2 on 2024-12-12 20:45
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('amministratore', '0001_initial'),
+        ('azienda', '0008_rename_assegnazione_assegnazioneazienda'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='assegnazioneazienda',
+            name='amministratore',
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='amministratore.amministratore'),
+        ),
+        migrations.AlterField(
+            model_name='assegnazionesede',
+            name='amministratore',
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='amministratore.amministratore'),
+        ),
+    ]

+ 18 - 0
azienda/migrations/0010_rename_nota_sede_info.py

@@ -0,0 +1,18 @@
+# Generated by Django 5.1.2 on 2024-12-12 21:51
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('azienda', '0009_alter_assegnazioneazienda_amministratore_and_more'),
+    ]
+
+    operations = [
+        migrations.RenameField(
+            model_name='sede',
+            old_name='nota',
+            new_name='info',
+        ),
+    ]

+ 2 - 2
azienda/models.py

@@ -1,6 +1,6 @@
 from django.db import models
 from django.contrib.auth.models import User
-from utente.models_amministratore import Amministratore
+from amministratore.models import Amministratore
 
 class Azienda(models.Model):
    '''
@@ -21,7 +21,7 @@ class Sede(models.Model):
     'ogni azienda ha almeno una sede'.
     '''
     nome = models.CharField(max_length=132,null=False,default="")
-    nota = models.CharField(max_length=256,null=False,default="")
+    info = models.CharField(max_length=256,null=False,default="")
     azienda = azienda = models.ForeignKey(Azienda,on_delete=models.PROTECT)
 
 class AssegnazioneAzienda(models.Model):

+ 4 - 8
azienda/templates/azienda.editSede.html

@@ -33,19 +33,15 @@
   <!-- fine zona errori -->
 
   <!-- profilo utente -->
-  <form name='AziendaEdit' method='post'>
+  <form name='SedeEdit' method='post'>
     {% csrf_token %}
     <div class='form-group'>
-      <label for="nome">Nome Azienda</label>
+      <label for="nome">Nome Sede</label>
       <input type='text' class='form-control form-control-lg' name='nome' id='nome' value='{{ sede.nome.value }}'>
     </div>
     <div class='form-group'>
-      <label for="partitaiva">Partita IVA</label>
-      <input type='text' class='form-control' name='partitaiva' id='partitaiva' value='{{ sede.partitaiva.value }}'>
-    </div>
-    <div class='form-group'>
-      <label for="mail" class="form-control-label">Email</label>
-      <input type='mail' class='form-control' name='mail' id='mail' value='{{ sede.mail.value }}'>
+      <label for="info">Info</label>
+      <input type='text' class='form-control form-control-lg' name='info' id='info' value='{{ sede.info.value }}'>
     </div>
     <div class='form-check'>
       <input class="form-check-input" type="checkbox" value="{{ sede.forzanuovapassword.value }}" id="forzanuovapassword" name="forzanuovapassword">

+ 1 - 0
azienda/urls.py

@@ -5,4 +5,5 @@ app_name='azienda'
 urlpatterns = [
   path('welcome',views.welcome,name='welcome'),
   path('editAzienda',views.editAzienda,name='editAzienda'),
+  path('editSede',views.editSede,name='editSede'),
   ]

+ 20 - 8
azienda/views.py

@@ -37,7 +37,7 @@ def welcome(request):
 
   assegnazioneazienda = AssegnazioneAzienda.objects.filter(amministratore=admin.id)
   print('assegnazioneazienda',len(assegnazioneazienda))
-  assegnazionesede = AssegnazioneSede.objects.filter(amministratore=admin.id)
+  assegnazionesede = AssegnazioneSede.objects.filter(amministratore=admin)
   print('assegnazionesede',len(assegnazionesede))
 
   data['listaAttivitaxAmministrazione']=getLogxAmministrazione(admin)
@@ -93,8 +93,8 @@ def welcome(request):
       elif sceltasede == 0: #richiesta una nuova azienda
         print('sceltasede 0:',sceltasede)
         request.session['SedeIdEdit'] = 0
-        print('SedeId',requestSession['Sedeid'])
         return HttpResponseRedirect(reverse('azienda:editSede'))
+      '''
       else:
         try:
           sede = Sede.objects.get(pk=sceltasede)
@@ -102,6 +102,7 @@ def welcome(request):
           request.session['SedeId'] = sede.id
         except Sede.DoesNotExist as dne:
           print("errore,oggetto inesistente",dne)
+    '''
 
     if  "utenti" in request.POST:
       print('premuto tasto utenti')
@@ -129,11 +130,18 @@ def welcome(request):
       request.session['AziendaIdEdit'] = azienda.id
       return HttpResponseRedirect(reverse('azienda:editAzienda'))
 
-  tmplist = list()
+  #################
+  tmplist1 = dict()
   for tmp in assegnazioneazienda:
-    tmplist.append(tmp.azienda)
+    tmplist1[tmp.azienda.id] = tmp.azienda
+  print(len(tmplist1))
+
+  tmplist = list()
+  for k in tmplist1:
+    tmplist.append(tmplist1[k])
 
   data['aziendaLista'] = tmplist
+  ##############################
 
   if 'azienda' in data:
     print('azienda selezionata:',data['azienda'].nome)
@@ -213,11 +221,13 @@ def editAzienda(request):
 def editSede(request):
   AdminId = request.session['AdminId']
   AziendaId = request.session['AdminId']
+  print("AziendaId",AziendaId)
 
   data={}
   data['HeaderTitle'] = getConfig('HeaderTitle')
-  user = data['admin'] = Amministratore.objects.get(pk=AdminId)
+  admin = data['admin'] = Amministratore.objects.get(pk=AdminId)
 
+  sede = None
   if 'SedeId' in request.session:
     print('trovato riferimento SedeId',request.session.get('SedeId'))
     azid = request.session.get('SedeId')
@@ -230,11 +240,11 @@ def editSede(request):
   if request.method == "POST":
     print("Richiesta creazione nuova azienda")
     nuovasede = formSede(request.POST)
-    if nuovaazienda.is_valid():
+    if nuovasede.is_valid():
       print("il form e' valido",request.POST)
       if not sede:
         sede = Sede()
-        sede.azienda = Azienda.objects.get(pk=AziondaId)
+        sede.azienda = Azienda.objects.get(pk=AziendaId)
       sede.nome = nuovasede.cleaned_data.get('nome')
       sede.mail = nuovasede.cleaned_data.get('mail')
       sede.save()
@@ -244,8 +254,9 @@ def editSede(request):
       # verifica assegnazione
       az = AssegnazioneSede.objects.filter(sede=sede,amministratore=admin)
       if not az:
+        az = AssegnazioneSede()
         az.sede=sede
-        az.amministratore=user
+        az.amministratore=admin
         az.save()
       return HttpResponseRedirect(reverse('azienda:welcome'))
     else:
@@ -259,6 +270,7 @@ def editSede(request):
         tmp = dict()
         tmp['id'] = sede.id
         tmp['nome'] = sede.nome
+        tmp['info'] = sede.info
         formSedeField = formSede(tmp)
     else:
         tmp = dict()

BIN
db/db.sqlite3


+ 4 - 1
static/templates/base.html

@@ -37,8 +37,11 @@
               {% endfor %}
               <option value=0>Nuova Azienda</option>
             </select>
-
+            </form>
+            <form name="sceglisede" method=POST class='d-flex'>
+            {% csrf_token %}
             <select class="form-select form-select-lg mb-1" aria-label=".form-select-lg" name="sceltasede" onchange="this.form.submit()">
+	      <option value=-1>Scelta Sede</option>
               {% for s in sedelista %}
 	      <option value={{ s.id }} {% if s.id == sede.id %}selected{% endif %}>{{ s.nome }}</button></option>
               {% endfor %}

+ 1 - 1
utente/admin.py

@@ -1,6 +1,6 @@
 from django.contrib import admin
 from .models import *
-from .models_amministratore import *
+from amministratore.models import *
 
 @admin.register(Amministratore)
 class AmministratoreAdmin(admin.ModelAdmin):

+ 18 - 0
utente/migrations/0017_delete_amministratore.py

@@ -0,0 +1,18 @@
+# Generated by Django 5.1.2 on 2024-12-12 20:45
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('att', '0020_alter_attivita_amministratore'),
+        ('azienda', '0009_alter_assegnazioneazienda_amministratore_and_more'),
+        ('utente', '0016_utente_sede_alter_utente_azienda'),
+    ]
+
+    operations = [
+        migrations.DeleteModel(
+            name='Amministratore',
+        ),
+    ]