parent
b2203ca938
commit
99c5be9439
|
|
@ -5,6 +5,7 @@ from django.core.cache import cache
|
|||
from django.core.paginator import Paginator
|
||||
from django.db.models import Case, Count, Value, When
|
||||
from django.db.models.functions import Concat
|
||||
from django.db.models import F
|
||||
from import_export.admin import ImportExportModelAdmin
|
||||
from polymorphic.admin import (PolymorphicChildModelAdmin,
|
||||
PolymorphicChildModelFilter,
|
||||
|
|
@ -88,7 +89,8 @@ class VoceContattoRubricaAdmin(ImportExportModelAdmin, PolymorphicParentModelAdm
|
|||
# list_per_page = 15
|
||||
# paginator = CachingPaginator
|
||||
# show_full_result_count = False
|
||||
child_models = (models.Indirizzo, models.Email, models.Telefono, models.Fax,)
|
||||
base_model = models.VoceContattoRubrica
|
||||
child_models = (models.Indirizzo, models.Email, models.Pec, models.Telefono, models.Fax,)
|
||||
list_filter = (PolymorphicChildModelFilter,)
|
||||
readonly_fields = ('descrizione','tipo',)
|
||||
list_display = ('soggetto','descrizione','tipo',)
|
||||
|
|
@ -98,9 +100,11 @@ class VoceContattoRubricaAdmin(ImportExportModelAdmin, PolymorphicParentModelAdm
|
|||
|
||||
def tipo(self, obj):
|
||||
return getattr(obj,obj.polymorphic_ctype.model)._meta.verbose_name.title()
|
||||
tipo.admin_order_field = '_tipo'
|
||||
|
||||
def get_queryset(self, request):
|
||||
qs=super().get_queryset(request).prefetch_related('polymorphic_ctype')
|
||||
qs=qs.annotate(_tipo=F('polymorphic_ctype__model'))
|
||||
return qs
|
||||
pass
|
||||
|
||||
|
|
@ -111,6 +115,8 @@ class TelefonoAdmin(HiddenModel, PolymorphicChildModelAdmin):
|
|||
# list_per_page = 15
|
||||
# paginator = CachingPaginator
|
||||
# show_full_result_count = False
|
||||
fields = ('soggetto','numero','interno','note',)
|
||||
autocomplete_fields = ('soggetto',)
|
||||
pass
|
||||
|
||||
|
||||
|
|
@ -120,16 +126,22 @@ class EmailAdmin(HiddenModel, PolymorphicChildModelAdmin):
|
|||
# list_per_page = 15
|
||||
# paginator = CachingPaginator
|
||||
# show_full_result_count = False
|
||||
fields = ('soggetto','indirizzo_email','note',)
|
||||
autocomplete_fields = ('soggetto',)
|
||||
pass
|
||||
|
||||
|
||||
class VoceContattoRubricaInline(StackedPolymorphicInline):
|
||||
class IndirizzoInline(StackedPolymorphicInline.Child):
|
||||
model = models.Indirizzo
|
||||
autocomplete_fields = ('comune','cap',)
|
||||
|
||||
class EmailInline(StackedPolymorphicInline.Child):
|
||||
model = models.Email
|
||||
|
||||
class PecInline(StackedPolymorphicInline.Child):
|
||||
model = models.Pec
|
||||
|
||||
class TelefonoInline(StackedPolymorphicInline.Child):
|
||||
model = models.Telefono
|
||||
|
||||
|
|
@ -140,6 +152,7 @@ class VoceContattoRubricaInline(StackedPolymorphicInline):
|
|||
child_inlines = (
|
||||
IndirizzoInline,
|
||||
EmailInline,
|
||||
PecInline,
|
||||
TelefonoInline,
|
||||
FaxInline,
|
||||
)
|
||||
|
|
@ -184,6 +197,8 @@ class FaxAdmin(HiddenModel, PolymorphicChildModelAdmin):
|
|||
# list_per_page = 15
|
||||
# paginator = CachingPaginator
|
||||
# show_full_result_count = False
|
||||
fields = ('soggetto','numero','note',)
|
||||
autocomplete_fields = ('soggetto',)
|
||||
pass
|
||||
|
||||
|
||||
|
|
@ -193,6 +208,8 @@ class PecAdmin(ImportExportModelAdmin):
|
|||
# list_per_page = 15
|
||||
# paginator = CachingPaginator
|
||||
# show_full_result_count = False
|
||||
fields = ('soggetto','indirizzo_email','note',)
|
||||
autocomplete_fields = ('soggetto',)
|
||||
pass
|
||||
|
||||
|
||||
|
|
@ -202,6 +219,7 @@ class SoggettoContattabileAdmin(PolymorphicParentModelAdmin):
|
|||
# list_per_page = 15
|
||||
# paginator = CachingPaginator
|
||||
# show_full_result_count = False
|
||||
base_model = models.SoggettoContattabile
|
||||
child_models = (models.PersonaFisica, models.PersonaGiuridica,)
|
||||
list_filter = (PolymorphicChildModelFilter,)
|
||||
readonly_fields = ('descrizione','tipo',)
|
||||
|
|
|
|||
Loading…
Reference in New Issue