diff options
| author | Fabian Braun <fsbraun@gmx.de> | 2025-04-26 19:08:28 +0200 |
|---|---|---|
| committer | nessita <124304+nessita@users.noreply.github.com> | 2025-04-28 17:48:19 -0300 |
| commit | 65bbdbd10b25700d1166b1a698e672a4695281bc (patch) | |
| tree | 048c391840cf2a1b69aec74c9634e0196422dc5b | |
| parent | 0ee06c04e0256094270db3ffe8b5dafa6a8457a3 (diff) | |
Fixed #36354 -- Removed JavaScript workaround for browsers lacking `:has()` CSS support.
This branch removes the JavaScript fallback added in the admin for the
add user and change password templates/flows (Refs #34429).
Django documents suport for "modern, web standards compliant browsers".
See https://caniuse.com/css-has for info on browser support per version.
3 files changed, 0 insertions, 34 deletions
diff --git a/django/contrib/admin/static/admin/js/unusable_password_field.js b/django/contrib/admin/static/admin/js/unusable_password_field.js deleted file mode 100644 index ec26238c29..0000000000 --- a/django/contrib/admin/static/admin/js/unusable_password_field.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -// Fallback JS for browsers which do not support :has selector used in -// admin/css/unusable_password_fields.css -// Remove file once all supported browsers support :has selector -try { - // If browser does not support :has selector this will raise an error - document.querySelector("form:has(input)"); -} catch (error) { - console.log("Defaulting to javascript for usable password form management: " + error); - // JS replacement for unsupported :has selector - document.querySelectorAll('input[name="usable_password"]').forEach(option => { - option.addEventListener('change', function() { - const usablePassword = (this.value === "true" ? this.checked : !this.checked); - const submit1 = document.querySelector('input[type="submit"].set-password'); - const submit2 = document.querySelector('input[type="submit"].unset-password'); - const messages = document.querySelector('#id_unusable_warning'); - document.getElementById('id_password1').closest('.form-row').hidden = !usablePassword; - document.getElementById('id_password2').closest('.form-row').hidden = !usablePassword; - if (messages) { - messages.hidden = usablePassword; - } - if (submit1 && submit2) { - submit1.hidden = !usablePassword; - submit2.hidden = usablePassword; - } - }); - option.dispatchEvent(new Event('change')); - }); -} diff --git a/django/contrib/admin/templates/admin/auth/user/add_form.html b/django/contrib/admin/templates/admin/auth/user/add_form.html index 7c7ca1d1ad..f5a17dde7d 100644 --- a/django/contrib/admin/templates/admin/auth/user/add_form.html +++ b/django/contrib/admin/templates/admin/auth/user/add_form.html @@ -10,7 +10,3 @@ {{ block.super }} <link rel="stylesheet" href="{% static 'admin/css/unusable_password_field.css' %}"> {% endblock %} -{% block admin_change_form_document_ready %} - {{ block.super }} - <script src="{% static 'admin/js/unusable_password_field.js' %}" defer></script> -{% endblock %} diff --git a/django/contrib/admin/templates/admin/auth/user/change_password.html b/django/contrib/admin/templates/admin/auth/user/change_password.html index 2f96a71436..ce20c8ac44 100644 --- a/django/contrib/admin/templates/admin/auth/user/change_password.html +++ b/django/contrib/admin/templates/admin/auth/user/change_password.html @@ -77,5 +77,4 @@ </div> </form></div> -<script src="{% static 'admin/js/unusable_password_field.js' %}" defer></script> {% endblock %} |
