From 8e7ba1740f669b80acbd0728e39d9e3cce894b75 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 25 Apr 2025 12:19:34 +0200 Subject: 🐛 forms: fix availability of disabled types on m2m fields (refs #6266) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This bug only occurs when many types are selected. --- ishtar_common/forms.py | 4 +++- ishtar_common/models_common.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 468fb32f1..20849c400 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -44,6 +44,7 @@ from django.utils.translation import ugettext_lazy as _ from bootstrap_datepicker.widgets import DatePicker, DATE_FORMAT, DateField from ishtar_common import models from ishtar_common import widgets + from ishtar_common.utils import MultiValueDict @@ -1194,8 +1195,9 @@ class ManageOldType(IshtarForm): def _init_type(self, field): if field.key not in self.fields: return + initial = self.init_data.getlist(field.key) self.fields[field.key].choices = field.get_choices( - initial=self.init_data.get(field.key) + initial=initial ) self.fields[field.key].help_text = field.get_help() diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index d932abf66..9f5be1e36 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -349,7 +349,7 @@ class GeneralType(Cached, models.Model): new_vals = [] if not initial: return [] - if type(initial) not in (list, tuple): + if not isinstance(initial, (list, tuple)): initial = [initial] for value in initial: try: -- cgit v1.2.3