autocomplete bugfix eliminato crosstalk negli inline

my-submodulepoetico
Guido Longoni 2023-07-04 09:19:44 +02:00
parent 4009628837
commit 2c214342f0
2 changed files with 7 additions and 6 deletions

View File

@ -140,7 +140,7 @@ class EmailAdmin(HiddenModel, PolymorphicParentModelAdmin, PolymorphicChildModel
pass
class RecapitoInline(StackedPolymorphicInline):
class RecapitoInline(StackedPolymorphicInline, DrillDownAutocompleteModelAdmin):
class IndirizzoInline(StackedPolymorphicInline.Child, DrillDownAutocompleteModelAdmin):
model = models.Indirizzo
autocomplete_fields = ('dug','comune','cap','nazione',)
@ -197,7 +197,7 @@ class RecapitoInline(StackedPolymorphicInline):
@admin.register(models.PersonaFisica)
class PersonaFisicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdmin, StackedInlineCollassati):
class PersonaFisicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdmin, StackedInlineCollassati,AutocompleteAdmin):
# resource = resources.PersonaFisicaResource
# list_per_page = 15
# paginator = CachingPaginator
@ -209,7 +209,7 @@ class PersonaFisicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdm
@admin.register(models.PersonaGiuridica)
class PersonaGiuridicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdmin, StackedInlineCollassati):
class PersonaGiuridicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdmin, StackedInlineCollassati,AutocompleteAdmin):
# resource = resources.PersonaGiuridicaResource
# list_per_page = 15
# paginator = CachingPaginator

View File

@ -20,11 +20,12 @@
var some_obj = false;
for (var i in linkedfields) {
if (linkedfields.hasOwnProperty(i)) {
var field = linkedfields[i];
var value = document.querySelectorAll('[data-field-name=' + field + '].admin-autocomplete')[0].value;
var remote_field = linkedfields[i];
var remote_id = element.dataset.select2Id.split('-' + element.dataset.fieldName)[0] + '-' + remote_field;
var value = document.querySelectorAll('[data-select2-id=' + remote_id +'].admin-autocomplete')[0].value;
if (value !== '') {
//console.log(field + '=' + value);
linkedfields_obj[field] = value;
linkedfields_obj[remote_field] = value;
some_obj = true;
}
}