summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/forms.py5
-rw-r--r--ishtar_common/static/js/ishtar.js4
-rw-r--r--ishtar_common/templates/blocks/bs_form_snippet.html37
-rw-r--r--ishtar_common/widgets.py7
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),