summaryrefslogtreecommitdiff
path: root/ishtar_common/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/widgets.py')
-rw-r--r--ishtar_common/widgets.py28
1 files changed, 22 insertions, 6 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index 2df06cf21..60e5fc016 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -261,19 +261,35 @@ class DeleteWidget(forms.CheckboxInput):
class SwitchWidget(forms.CheckboxInput):
+ extra_class = ""
+ extra_label = ""
+
def render(self, name, value, attrs=None, renderer=None):
+ extra_class = (" " + self.extra_class) if self.extra_class else ""
+ default = {"name": name, "value": "1",
+ 'class': "switch" + extra_class,
+ 'type': 'checkbox'}
+ if value:
+ default['checked'] = 'checked'
attrs = self.build_attrs(
- attrs, {"name": name, "value": '0',
- 'class': "switch",
- 'type': 'checkbox'}
+ attrs, default
)
final_attrs = flatatt(attrs)
- output = u"""<span class="switch">
- <input{}>
-</span>""".format(final_attrs, attrs['id'])
+ extra_label = ""
+ if self.extra_label:
+ extra_label = '<label for="{}">{}</label>'.format(attrs['id'],
+ self.extra_label)
+ output = u"""<span class="switch{}">
+ <input{}>{}
+</span>""".format(extra_class, final_attrs, extra_label)
return mark_safe(output)
+class DeleteSwitchWidget(SwitchWidget):
+ extra_class = "danger"
+ extra_label = _(u"Delete")
+
+
class ImageFileInput(ClearableFileInput):
template_name = 'widgets/image_input.html'
NO_FORM_CONTROL = True