From 04834bbea2984400b3a3d33ed4e32fc04affff1f Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 6 Jul 2023 11:34:33 +0200 Subject: 🚧 work on autofocus fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/forms.py | 2 +- ishtar_common/wizards.py | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'ishtar_common') diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 5a2e14b02..338c49bfc 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -191,7 +191,7 @@ class CustomForm(BSForm): self.current_user = kwargs.pop("user").ishtaruser except AttributeError: pass - super(CustomForm, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) if not self._explicit_ordering: self.custom_form_ordering() diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 2cf7a1b9c..475c426bb 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -1224,10 +1224,17 @@ class Wizard(IshtarWizard): frm = form.forms[0] if frm: # autofocus on first field - first_field = frm.fields[list(frm.fields.keys())[0]] - attrs = first_field.widget.attrs - attrs.update({"autofocus": "autofocus"}) - first_field.widget.attrs = attrs + first_field = None + for key in frm.fields: + field = frm.fields[key] + if not field.widget.input_type == "hidden": + first_field = field + break + if first_field: + attrs = first_field.widget.attrs + attrs.update({"autofocus": True}) + first_field.widget.attrs = attrs + if not step: step = self.steps.current if self.filter_owns_items and self.filter_owns and step in self.filter_owns: -- cgit v1.2.3