1
0
mirror of https://github.com/django/django.git synced 2025-04-08 23:46:43 +00:00

Fixed , Refs -- Ensured related lookup popups are closed properly.

In the admin, when selecting related objects via the helpers defined in
`RelatedObjectLookups.js`, the `dismissRelatedLookupPopup` function was
attempting to access `window.relatedWindows`, which does not exist in
real execution, causing related lookup popups to remain open.
    
This change ensures that this code correctly accesses the module-local
`relatedWindows` by explicitly assigning it to `window.relatedWindows`.
    
Regression in 91bebf1adb43561b54bac18e76224759dc70acb3.
    
Thanks Matthias Kestenholz for the report, the fix ideas, and testing.

Co-authored-by: Matthias Kestenholz <mk@feinheit.ch>
This commit is contained in:
nessita 2025-04-01 13:52:22 -03:00 committed by GitHub
parent a0fb35eb72
commit a245604277
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 3 deletions
django/contrib/admin/static/admin/js/admin
js_tests/admin

@ -58,9 +58,9 @@
elem.value = chosenId;
}
$(elem).trigger('change');
const index = window.relatedWindows.indexOf(win);
const index = relatedWindows.indexOf(win);
if (index > -1) {
window.relatedWindows.splice(index, 1);
relatedWindows.splice(index, 1);
}
win.close();
}
@ -206,6 +206,7 @@
window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup;
window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup;
window.dismissChildPopups = dismissChildPopups;
window.relatedWindows = relatedWindows;
// Kept for backward compatibility
window.showAddAnotherPopup = showRelatedObjectPopup;

@ -8,7 +8,6 @@ QUnit.module('admin.RelatedObjectLookups', {
<input type="text" id="test_id" name="test" />
<input type="text" id="many_test_id" name="many_test" class="vManyToManyRawIdAdminField" />
`);
window.relatedWindows = window.relatedWindows || [];
}
});