mirror of
https://github.com/django/django.git
synced 2025-04-08 23:46:43 +00:00
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:
parent
a0fb35eb72
commit
a245604277
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 || [];
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user