diff options
Diffstat (limited to 'ishtar_common/widgets.py')
-rw-r--r-- | ishtar_common/widgets.py | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index bab6b3e00..e444261d9 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -71,11 +71,11 @@ class SelectReadonly(forms.Select): label = str(i) yield (i.pk, label) - def render(self, name, value, attrs=None, choices=()): + def render(self, name, value, attrs=None, choices=(), renderer=None): if value: self.choices = list(self.get_choices(value)) value = self.choices[0][0] - return super(SelectReadonly, self).render(name, value, attrs) + return super(SelectReadonly, self).render(name, value, attrs, renderer=None) class SelectReadonlyField(forms.ChoiceField): @@ -98,7 +98,14 @@ class SelectReadonlyField(forms.ChoiceField): self.available = kwargs.pop("available") widget = SelectReadonly(model=self.model, available=self.available) super(SelectReadonlyField, self).__init__( - choices, required, widget, label, initial, help_text, *args, **kwargs + choices=choices, + required=required, + widget=widget, + label=label, + initial=initial, + help_text=help_text, + *args, + **kwargs ) def get_q(self): @@ -132,7 +139,7 @@ class Select2DynamicBase(Select2Media): """ MULTIPLE = False - def render(self, name, value, attrs=None, choices=()): + def render(self, name, value, attrs=None, choices=(), renderer=None): choices = choices or getattr(self, "choices", []) if value: values = [value] @@ -170,7 +177,7 @@ class Select2DynamicBase(Select2Media): if self.MULTIPLE: options.append("multiple: 'true'") - html = super(Select2DynamicBase, self).render(name, value, attrs) + html = super(Select2DynamicBase, self).render(name, value, attrs, renderer=None) html += """<script type="text/javascript"> $(document).ready(function() {{ $("#id_{}").select2({{ {} }}); @@ -245,7 +252,7 @@ class Select2Base(Select2Media): for i in self.get_q().all(): yield (i.pk, str(i)) - def render(self, name, value, attrs=None, choices=()): + def render(self, name, value, attrs=None, choices=(), renderer=None): self.remote = str(self.remote) if self.remote in ("None", "false"): # test on lazy object is buggy... so we have this ugly test @@ -328,7 +335,7 @@ class Select2Base(Select2Media): """+</a></span></div>""".format(url_new, self.model.SLUG) ) - html += super(Select2Base, self).render(name, value, attrs) + html += super(Select2Base, self).render(name, value, attrs, renderer=None) html += new html += """<script type="text/javascript"> $(document).ready(function() {{ @@ -355,12 +362,14 @@ class CheckboxSelectMultiple(CheckboxSelectMultipleBase): TODO: test and remove (test case: treatment type not keep on modif) """ - def render(self, name, value, attrs=None, choices=()): + def render(self, name, value, attrs=None, choices=(), renderer=None): if type(value) in (str, str): value = value.split(",") if not isinstance(value, (list, tuple)): value = [value] - return super(CheckboxSelectMultiple, self).render(name, value, attrs) + return super(CheckboxSelectMultiple, self).render( + name, value, attrs, renderer=None + ) class Select2BaseField(object): |