diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-01-09 09:55:51 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-01-09 09:55:51 +0100 |
commit | 1488f1cbb29d9605e14621982e1450e5801a8fa2 (patch) | |
tree | dcb254dac1a20cfb6cf42624d0a2f86447401de0 /ishtar_common | |
parent | 2ea08e20ee52f2d6df08460536cd95224a7ae07d (diff) | |
download | Ishtar-1488f1cbb29d9605e14621982e1450e5801a8fa2.tar.bz2 Ishtar-1488f1cbb29d9605e14621982e1450e5801a8fa2.zip |
Workon forms layout
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/forms.py | 5 | ||||
-rw-r--r-- | ishtar_common/static/js/ishtar.js | 4 | ||||
-rw-r--r-- | ishtar_common/templates/blocks/bs_form_snippet.html | 37 | ||||
-rw-r--r-- | ishtar_common/widgets.py | 7 |
4 files changed, 35 insertions, 18 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index bdd8e6b09..b31a3143f 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -343,7 +343,10 @@ class IshtarForm(forms.Form): def __init__(self, *args, **kwargs): super(IshtarForm, self).__init__(*args, **kwargs) for k in self.fields: - self.fields[k].widget.attrs['class'] = '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 class FieldType(object): diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 026151953..31621502d 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -293,6 +293,10 @@ function load_window(url, speed, on_success){ $("#window").append(html); } $("#"+last_window).show(); + // jump to this window + var url = location.href; + location.href = "#" + last_window; + history.replaceState(null, null, url); if (on_success) on_success(); }, error:function(XMLHttpRequest, textStatus, errorThrows){ diff --git a/ishtar_common/templates/blocks/bs_form_snippet.html b/ishtar_common/templates/blocks/bs_form_snippet.html index a6997507c..e58df1832 100644 --- a/ishtar_common/templates/blocks/bs_form_snippet.html +++ b/ishtar_common/templates/blocks/bs_form_snippet.html @@ -63,21 +63,28 @@ {% endif %} <div class="form-group col-lg-6"> - {{ field.label_tag }} - {{field|safe}} - {% if field.errors %}<div class="invalid-feedback"> - {{ field.errors }} - </div>{% endif %} - {% if field.help_text %} - <small><a data-toggle="collapse" href="#{{field.auto_id}}_help" - aria-expanded="false" aria-controls="{{field.auto_id}}_help"> - {% trans 'help'%}</a></small> - <div class="collapse" id="{{field.auto_id}}_help"> - <div class="card card-body"> - {{field.help_text}} - </div> - </div> - {% endif %} + {{ field.label_tag }} + {% if field.help_text %} + <div class="input-group"> + {% endif %} + {{field|safe}} + {% if field.help_text %} + <span class="input-group-addon"> + <a data-toggle="collapse" href="#{{field.auto_id}}_help" + aria-expanded="false" aria-controls="{{field.auto_id}}_help"> + <i class="fa fa-question-circle" aria-hidden="true"></i> + </a> + </span> + </div> + <div class="collapse" id="{{field.auto_id}}_help"> + <div class="card card-body"> + {{field.help_text}} + </div> + </div> + {% endif %} + {% if field.errors %}<div class="invalid-feedback"> + {{ field.errors }} + </div>{% endif %} </div> {% if forloop.last %} {% if search and forloop.counter0 >= 1 %} diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 6abaa927b..c34642cf1 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -277,6 +277,7 @@ class SquareMeterWidget(forms.TextInput): rendered = t.render(dct) return mark_safe(rendered) + AreaWidget = forms.TextInput if settings.SURFACE_UNIT == 'square-metre': @@ -424,6 +425,8 @@ class JQueryAutoComplete(forms.TextInput): attrs_select['id'] = 'id_select_%s' % name if 'class' not in attrs_select: attrs_select['class'] = 'autocomplete' + + attrs_select['class'] += ' form-control' new = '' if self.new: model_name = self.associated_model._meta.object_name.lower() @@ -440,11 +443,11 @@ class JQueryAutoComplete(forms.TextInput): url_new = reverse(url_new, args=args) new = u' <a href="#" class="add-button" '\ u'onclick="open_window(\'%s\');">+</a>' % url_new - html = u'''<input%(attrs_select)s/>%(new)s\ + html = u"""<input%(attrs_select)s/>%(new)s\ <input type="hidden"%(attrs_hidden)s/>\ <script type="text/javascript"><!--// %(js)s//--></script> - ''' % { + """ % { 'attrs_select': flatatt(attrs_select), 'attrs_hidden': flatatt(attrs_hidden), 'js': self.render_js(name), |