summaryrefslogtreecommitdiff
path: root/ishtar_common/widgets.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2022-05-18 16:23:02 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:20:58 +0100
commit07e3e2e9c3da9f05634a45f65723504c229f2baa (patch)
tree7e3ea0f3306eea50e9f95a7c90b397c5515e97fb /ishtar_common/widgets.py
parent3b671732319aa14f194821a8f547ae280e1e0648 (diff)
downloadIshtar-07e3e2e9c3da9f05634a45f65723504c229f2baa.tar.bz2
Ishtar-07e3e2e9c3da9f05634a45f65723504c229f2baa.zip
Migration to Django 2.2 - many fixes
- remove redondant permissions - fix missing kwargs for widget and form fields - fix default to callable for model field - quick and dirty fix for datepicker - is_authenticated() -> is_authenticated - fix registration urls - remove six usage (no more python2)
Diffstat (limited to 'ishtar_common/widgets.py')
-rw-r--r--ishtar_common/widgets.py27
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):