diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-01-23 16:33:10 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-01-23 16:33:10 +0100 |
commit | db214c18c7881724c78bdb1b454cf64813024f7b (patch) | |
tree | 9935281965c3f002a60ec8761f5102022af94276 /ishtar_common | |
parent | 2b01102025b51e7b4b4e750e43e006b07a738ac4 (diff) | |
download | Ishtar-db214c18c7881724c78bdb1b454cf64813024f7b.tar.bz2 Ishtar-db214c18c7881724c78bdb1b454cf64813024f7b.zip |
Widgets: image input
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/forms.py | 9 | ||||
-rw-r--r-- | ishtar_common/static/media/styles.css | 11 | ||||
-rw-r--r-- | ishtar_common/templates/widgets/image_input.html | 15 | ||||
-rw-r--r-- | ishtar_common/widgets.py | 4 |
4 files changed, 33 insertions, 6 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 038e9bd07..eb548f70c 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -246,10 +246,11 @@ class IshtarForm(forms.Form): def __init__(self, *args, **kwargs): super(IshtarForm, self).__init__(*args, **kwargs) for k in self.fields: - cls = 'form-control' - if 'class' in self.fields[k].widget.attrs: - cls = self.fields[k].widget.attrs['class'] + " " + cls - self.fields[k].widget.attrs['class'] = cls + if not hasattr(self.fields[k].widget, 'NO_FORM_CONTROL'): + cls = 'form-control' + if 'class' in self.fields[k].widget.attrs: + cls = self.fields[k].widget.attrs['class'] + " " + cls + self.fields[k].widget.attrs['class'] = cls widget = self.fields[k].widget if not isinstance(widget, DatePicker): continue diff --git a/ishtar_common/static/media/styles.css b/ishtar_common/static/media/styles.css index 453583bbe..19116e94c 100644 --- a/ishtar_common/static/media/styles.css +++ b/ishtar_common/static/media/styles.css @@ -8,6 +8,17 @@ font-weight: bold; } +.form-thumbnail{ + max-width: 120px; + max-height: 120px; + width: auto; + height: auto; +} + +.form-group span label { + display: inline-block; +} + .search .form-group { margin-bottom: 0.2rem; font-size: 0.9em; diff --git a/ishtar_common/templates/widgets/image_input.html b/ishtar_common/templates/widgets/image_input.html new file mode 100644 index 000000000..79be1aaf9 --- /dev/null +++ b/ishtar_common/templates/widgets/image_input.html @@ -0,0 +1,15 @@ +<div class="form-row form-control"> + {% if is_initial %} + <span class="col-4"> + <a href="{{ widget.value.url }}"> + <img class="form-thumbnail" src="{{ widget.value.url }}"> + </a> + </span>{% endif %} + <span class="col-8"> + {% if not widget.required and is_initial %} + <input type="checkbox" name="{{ checkbox_name }}" id="{{ checkbox_id }}" /> + <label for="{{ checkbox_id }}">{{ clear_checkbox_label }}</label> + {% endif %} + <input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %} /> + </span> +</div>
\ No newline at end of file diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 24a87d5a8..a9fcdf798 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -261,8 +261,8 @@ class DeleteWidget(forms.CheckboxInput): class ImageFileInput(ClearableFileInput): - template_with_initial = u'<span class="prettyPhoto">%(initial)s</span>'\ - u' %(clear_template)s<br />%(input_text)s: %(input)s' + template_name = 'widgets/image_input.html' + NO_FORM_CONTROL = True class SquareMeterWidget(forms.TextInput): |