From 3e9cfd35489f6f24e69edb5b1fdcbfe9766f7e7f Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 10 Sep 2018 22:17:23 +0200 Subject: QA bulk update: fix m2m display --- ishtar_common/forms.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'ishtar_common/forms.py') diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 4bf9e4bd9..5ef65212e 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -669,8 +669,12 @@ class QAForm(CustomForm, ManageOldType): self.fields[k].rendered_value = getattr( self, "_get_" + k)(kwargs['data'][k]) elif hasattr(self.fields[k], "choices"): - self.fields[k].rendered_value = dict( - self.fields[k].choices)[int(kwargs['data'][k])] + values = [] + for v in kwargs['data'].getlist(k): + values.append( + dict(self.fields[k].choices)[int(v)]) + self.fields[k].rendered_value = mark_safe( + u" ; ".join(values)) if k not in self.REPLACE_FIELDS: self.fields[k].label = unicode(self.fields[k].label) + \ unicode(u" - append to existing") @@ -691,6 +695,8 @@ class QAForm(CustomForm, ManageOldType): else: value = field.related_model.objects.get(pk=value) if getattr(field, 'many_to_many', None): + if type(value) not in (list, tuple): + value = [value] for v in value: getattr(item, key).add(v) else: -- cgit v1.2.3