mirror of
https://github.com/django/django.git
synced 2025-06-05 03:29:12 +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
@ -58,9 +58,9 @@
|
|||||||
elem.value = chosenId;
|
elem.value = chosenId;
|
||||||
}
|
}
|
||||||
$(elem).trigger('change');
|
$(elem).trigger('change');
|
||||||
const index = window.relatedWindows.indexOf(win);
|
const index = relatedWindows.indexOf(win);
|
||||||
if (index > -1) {
|
if (index > -1) {
|
||||||
window.relatedWindows.splice(index, 1);
|
relatedWindows.splice(index, 1);
|
||||||
}
|
}
|
||||||
win.close();
|
win.close();
|
||||||
}
|
}
|
||||||
@ -206,6 +206,7 @@
|
|||||||
window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup;
|
window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup;
|
||||||
window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup;
|
window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup;
|
||||||
window.dismissChildPopups = dismissChildPopups;
|
window.dismissChildPopups = dismissChildPopups;
|
||||||
|
window.relatedWindows = relatedWindows;
|
||||||
|
|
||||||
// Kept for backward compatibility
|
// Kept for backward compatibility
|
||||||
window.showAddAnotherPopup = showRelatedObjectPopup;
|
window.showAddAnotherPopup = showRelatedObjectPopup;
|
||||||
|
@ -8,7 +8,6 @@ QUnit.module('admin.RelatedObjectLookups', {
|
|||||||
<input type="text" id="test_id" name="test" />
|
<input type="text" id="test_id" name="test" />
|
||||||
<input type="text" id="many_test_id" name="many_test" class="vManyToManyRawIdAdminField" />
|
<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