stacked inline collassati togglabili

my-submodulepoetico
Guido Longoni 2023-06-20 22:01:41 +02:00
parent 5527373e35
commit b2203ca938
3 changed files with 25 additions and 2 deletions

View File

@ -23,6 +23,10 @@ class AutocompleteAdmin(admin.ModelAdmin):
js = ('admin/js/autocomplete_auto_focus.js', ) js = ('admin/js/autocomplete_auto_focus.js', )
class StackedInlineCollassati(AutocompleteAdmin):
class Media:
js = ('admin/js/stacked_inline_collassati.js',)
css = { 'all': ('admin/css/stacked_inline_collassati.css',)}
class HiddenIfNotSuperuser(admin.ModelAdmin): class HiddenIfNotSuperuser(admin.ModelAdmin):
@ -142,7 +146,7 @@ class VoceContattoRubricaInline(StackedPolymorphicInline):
@admin.register(models.PersonaFisica) @admin.register(models.PersonaFisica)
class PersonaFisicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdmin): class PersonaFisicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdmin, StackedInlineCollassati):
# resource = resources.PersonaFisicaResource # resource = resources.PersonaFisicaResource
# list_per_page = 15 # list_per_page = 15
# paginator = CachingPaginator # paginator = CachingPaginator
@ -154,7 +158,7 @@ class PersonaFisicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdm
@admin.register(models.PersonaGiuridica) @admin.register(models.PersonaGiuridica)
class PersonaGiuridicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdmin): class PersonaGiuridicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdmin, StackedInlineCollassati):
# resource = resources.PersonaGiuridicaResource # resource = resources.PersonaGiuridicaResource
# list_per_page = 15 # list_per_page = 15
# paginator = CachingPaginator # paginator = CachingPaginator

View File

@ -0,0 +1,6 @@
.inline_label {
margin-left: 20px;
font-weight: normal;
font-size: 18px;
}

View File

@ -0,0 +1,13 @@
function fieldset_from_h3(obj) {
return obj.parentNode.getElementsByTagName('fieldset')[0];
}
document.addEventListener("DOMContentLoaded", function (event) {
document
.querySelectorAll('div.inline-related:not(.empty-form) > h3')
.forEach(x => {
x.addEventListener("click", ev => fieldset_from_h3(ev.currentTarget).classList.toggle('hidden'), false);
x.style.cursor = "pointer";
fieldset_from_h3(x).classList.add('hidden');
});
});