diff --git a/django/contatti_app/admin.py b/django/contatti_app/admin.py index 430c519..c8d2f71 100644 --- a/django/contatti_app/admin.py +++ b/django/contatti_app/admin.py @@ -49,9 +49,9 @@ class CachingPaginator(Paginator): # --------------- FINE PREFISSO TEMPLATE --------------- -@admin.register(models.PersonaContattoAzienda) -class PersonaContattoAziendaAdmin(ImportExportModelAdmin): - # resource = resources.PersonaContattoAziendaResource +@admin.register(models.ContattoAziendale) +class ContattoAziendaleAdmin(ImportExportModelAdmin): + # resource = resources.ContattoAziendaleResource # list_per_page = 15 # paginator = CachingPaginator # show_full_result_count = False diff --git a/django/contatti_app/migrations/0002_alter_email_indirizzo_email.py b/django/contatti_app/migrations/0002_alter_email_indirizzo_email.py new file mode 100644 index 0000000..1535187 --- /dev/null +++ b/django/contatti_app/migrations/0002_alter_email_indirizzo_email.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.2 on 2023-06-20 09:50 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("contatti_app", "0001_initial"), + ] + + operations = [ + migrations.AlterField( + model_name="email", + name="indirizzo_email", + field=models.EmailField(max_length=254), + ), + ] diff --git a/django/contatti_app/migrations/0003_contattoaziendale_and_more.py b/django/contatti_app/migrations/0003_contattoaziendale_and_more.py new file mode 100644 index 0000000..62f28ee --- /dev/null +++ b/django/contatti_app/migrations/0003_contattoaziendale_and_more.py @@ -0,0 +1,39 @@ +# Generated by Django 4.2.2 on 2023-06-20 13:30 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("contatti_app", "0002_alter_email_indirizzo_email"), + ] + + operations = [ + migrations.CreateModel( + name="ContattoAziendale", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("is_personale", models.BooleanField(default=True)), + ], + options={ + "verbose_name": "Contatto aziendale", + "verbose_name_plural": "Contatti aziendali", + }, + ), + migrations.RemoveField( + model_name="personacontattoazienda", + name="azienda", + ), + migrations.RemoveField( + model_name="personacontattoazienda", + name="personafisica_ptr", + ), + ] diff --git a/django/contatti_app/migrations/0004_delete_personacontattoazienda_and_more.py b/django/contatti_app/migrations/0004_delete_personacontattoazienda_and_more.py new file mode 100644 index 0000000..4eb1909 --- /dev/null +++ b/django/contatti_app/migrations/0004_delete_personacontattoazienda_and_more.py @@ -0,0 +1,35 @@ +# Generated by Django 4.2.2 on 2023-06-20 13:30 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + dependencies = [ + ("contatti_app", "0003_contattoaziendale_and_more"), + ("offerte_app", "0002_alter_destinatarioofferta_intestatario"), + ] + + operations = [ + migrations.DeleteModel( + name="PersonaContattoAzienda", + ), + migrations.AddField( + model_name="contattoaziendale", + name="azienda", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="contatti_azienda", + to="contatti_app.societa", + ), + ), + migrations.AddField( + model_name="contattoaziendale", + name="persona", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="aziende_correlate", + to="contatti_app.personafisica", + ), + ), + ] diff --git a/django/contatti_app/modello_database.xml b/django/contatti_app/modello_database.xml index 75b33a2..0f52d5d 100644 --- a/django/contatti_app/modello_database.xml +++ b/django/contatti_app/modello_database.xml @@ -37,7 +37,7 @@ - +
INTEGER NULL diff --git a/django/contatti_app/models.py b/django/contatti_app/models.py index 5c7a71f..f0a4a12 100644 --- a/django/contatti_app/models.py +++ b/django/contatti_app/models.py @@ -94,7 +94,7 @@ class Email(VoceContattoRubrica): eml += ' (!)' return eml - indirizzo_email = models.CharField(null=False,blank=False,max_length=30) + indirizzo_email = models.EmailField(null=False,blank=False,max_length=254) note = models.CharField(null=False,blank=True,default='', max_length=64) @@ -104,7 +104,11 @@ class Pec(Email): verbose_name_plural = 'pec' def __str__(self): - return f"Pec (id: {self.id})" + eml = self.indirizzo_email + if self.note: + eml += ' (!)' + return eml + class Fax(VoceContattoRubrica): @@ -158,14 +162,16 @@ class Societa(models.Model): blank=True, related_name="societa") -class PersonaContattoAzienda(PersonaFisica): +class ContattoAziendale(models.Model): class Meta: - verbose_name = 'personacontattoazienda' - verbose_name_plural = 'personacontattoazienda' + verbose_name = 'Contatto aziendale' + verbose_name_plural = 'Contatti aziendali' def __str__(self): - return f"PersonaContattoAzienda (id: {self.id})" + return f"ContattoAziendale (id: {self.id})" azienda = models.ForeignKey(Societa, on_delete=models.CASCADE, null=False, - blank=False, related_name='persone') + blank=False, related_name='contatti_azienda') + persona = models.ForeignKey(PersonaFisica, on_delete=models.CASCADE, null=False, + blank=False, related_name='aziende_correlate') is_personale = models.BooleanField(null=False, blank=False, default=True) diff --git a/django/contatti_app/resources.py b/django/contatti_app/resources.py index e8c1500..ec954e4 100644 --- a/django/contatti_app/resources.py +++ b/django/contatti_app/resources.py @@ -4,9 +4,9 @@ from . import models # --------------- FINE PREFISSO TEMPLATE --------------- -class PersonaContattoAziendaResource(resources.ModelResource): +class ContattoAziendaleResource(resources.ModelResource): class Meta: - model = models.PersonaContattoAzienda + model = models.ContattoAziendale class VoceContattoRubricaResource(resources.ModelResource): diff --git a/django/contatti_app/serializers.py b/django/contatti_app/serializers.py index 06cd4c0..dcd5135 100644 --- a/django/contatti_app/serializers.py +++ b/django/contatti_app/serializers.py @@ -4,9 +4,9 @@ from . import models # --------------- FINE PREFISSO TEMPLATE --------------- -class PersonaContattoAziendaSerializer(serializers.ModelSerializer): +class ContattoAziendaleSerializer(serializers.ModelSerializer): class Meta: - model = models.PersonaContattoAzienda + model = models.ContattoAziendale fields = ('azienda', 'is_personale') diff --git a/django/contatti_app/urls.py b/django/contatti_app/urls.py index dc8635e..ebbbde3 100644 --- a/django/contatti_app/urls.py +++ b/django/contatti_app/urls.py @@ -11,7 +11,7 @@ router = routers.DefaultRouter() # --------------- FINE PREFISSO TEMPLATE --------------- -router.register(r'personacontattoazienda', views.PersonaContattoAzienda_View) +router.register(r'ContattoAziendale', views.ContattoAziendale_View) router.register(r'vocecontattorubrica', views.VoceContattoRubrica_View) router.register(r'telefono', views.Telefono_View) router.register(r'email', views.Email_View) diff --git a/django/contatti_app/views.py b/django/contatti_app/views.py index 3d10eea..5c87700 100644 --- a/django/contatti_app/views.py +++ b/django/contatti_app/views.py @@ -19,12 +19,12 @@ from . import serializers # --------------- FINE PREFISSO TEMPLATE --------------- -class PersonaContattoAzienda_View(viewsets.ModelViewSet): +class ContattoAziendale_View(viewsets.ModelViewSet): # authentication_classes = [BasicAuthentication, SessionAuthentication, TokenAuthentication] # permission_classes = [DjangoModelPermissions] - queryset = models.PersonaContattoAzienda.objects.all() - serializer_class = serializers.PersonaContattoAziendaSerializer + queryset = models.ContattoAziendale.objects.all() + serializer_class = serializers.ContattoAziendaleSerializer class VoceContattoRubrica_View(viewsets.ModelViewSet): diff --git a/django/offerte_app/migrations/0002_alter_destinatarioofferta_intestatario.py b/django/offerte_app/migrations/0002_alter_destinatarioofferta_intestatario.py new file mode 100644 index 0000000..ea12f9e --- /dev/null +++ b/django/offerte_app/migrations/0002_alter_destinatarioofferta_intestatario.py @@ -0,0 +1,25 @@ +# Generated by Django 4.2.2 on 2023-06-20 13:30 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + dependencies = [ + ("contatti_app", "0003_contattoaziendale_and_more"), + ("offerte_app", "0001_initial"), + ] + + operations = [ + migrations.AlterField( + model_name="destinatarioofferta", + name="intestatario", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="DestinatarioOfferta_da_contatti_appContattoAziendale_intestatario", + to="contatti_app.contattoaziendale", + ), + ), + ] diff --git a/django/offerte_app/models.py b/django/offerte_app/models.py index 28c3b0b..6b85412 100644 --- a/django/offerte_app/models.py +++ b/django/offerte_app/models.py @@ -11,8 +11,8 @@ class DestinatarioOfferta(models.Model): destinazione = models.ForeignKey('contatti_app.Sede', on_delete=models.CASCADE, null=True, blank=True, related_name="DestinatarioOfferta_da_Sede_destinazione") - intestatario = models.ForeignKey('contatti_app.PersonaContattoAzienda', on_delete=models.CASCADE, null=True, - blank=True, related_name="DestinatarioOfferta_da_contatti_appPersonaContattoAzienda_intestatario") + intestatario = models.ForeignKey('contatti_app.ContattoAziendale', on_delete=models.CASCADE, null=True, + blank=True, related_name="DestinatarioOfferta_da_contatti_appContattoAziendale_intestatario") class GruppoOfferte(models.Model): diff --git a/django/sangue_app/modello_database.xml b/django/sangue_app/modello_database.xml index 8e8ce9a..875360c 100644 --- a/django/sangue_app/modello_database.xml +++ b/django/sangue_app/modello_database.xml @@ -47,7 +47,7 @@ NULL INTEGER -NULL +NULL id @@ -214,7 +214,7 @@ id
- +
INTEGER NULL diff --git a/django/sangue_django/modello_dati.xml b/django/sangue_django/modello_dati.xml index eea96fa..272795a 100644 --- a/django/sangue_django/modello_dati.xml +++ b/django/sangue_django/modello_dati.xml @@ -47,7 +47,7 @@ NULL INTEGER -NULL +NULL id @@ -212,7 +212,7 @@ id
- +
INTEGER NULL