diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-05-14 21:08:44 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-12 08:44:34 +0200 |
commit | 083985d6f383157b84e528701ba4be7cbd898fe3 (patch) | |
tree | 3d7c3e2f3217849df3cfe2f8e461792c08473fa4 /ishtar_common/widgets.py | |
parent | 7c9a9d586e5255b60179807934e780b3d38cd30e (diff) | |
download | Ishtar-083985d6f383157b84e528701ba4be7cbd898fe3.tar.bz2 Ishtar-083985d6f383157b84e528701ba4be7cbd898fe3.zip |
Authors for M2M images (refs #4076)
Diffstat (limited to 'ishtar_common/widgets.py')
-rw-r--r-- | ishtar_common/widgets.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 22e4901cf..e33669e19 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -229,12 +229,20 @@ class Select2MultipleField(forms.MultipleChoiceField): if remote: self.remote = reverse_lazy( 'autocomplete-' + self.model.__name__.lower()) + long_widget = False + if 'long_widget' in kwargs: + long_widget = kwargs.pop('long_widget') self.available = False if 'available' in kwargs: self.available = kwargs.pop('available') - kwargs['widget'] = Select2Multiple(model=self.model, - available=self.available, - remote=self.remote) + attrs = {} + if long_widget: + attrs['cols'] = True + attrs['full-width'] = True + kwargs['widget'] = Select2Multiple( + model=self.model, available=self.available, remote=self.remote, + attrs=attrs + ) super(Select2MultipleField, self).__init__(*args, **kwargs) def get_q(self): @@ -394,10 +402,12 @@ class JQueryAutoComplete(forms.TextInput): self.dynamic_limit = dynamic_limit or [] def value_from_datadict(self, data, files, name): - if self.multiple: - return data.getlist(name, None) - else: + v = data.get(name, None) + if not self.multiple: return data.get(name, None) + if type(v) == unicode and "," in v: + return [item.strip() for item in v.split(',') if item.strip()] + return data.getlist(name, None) def render_js(self, field_id): if isinstance(self.source, list): |