summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/static/js/ishtar.js45
-rw-r--r--ishtar_common/static/media/styles.css5
-rw-r--r--ishtar_common/templates/blocks/bs_form_snippet.html10
-rw-r--r--ishtar_common/views.py3
-rw-r--r--ishtar_common/widgets.py6
5 files changed, 37 insertions, 32 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index 43ef6ff1a..715ba85d5 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -655,29 +655,29 @@ function open_window(url){
}
function save_and_close_window(name_label, name_pk, item_name, item_pk){
- var main_page = opener.document;
- jQuery(main_page).find("#"+name_label).val(item_name);
- jQuery(main_page).find("#"+name_pk).val(item_pk);
- opener.focus();
- self.close();
+ var main_page = opener.document;
+ jQuery(main_page).find("#"+name_label).val(item_name);
+ jQuery(main_page).find("#"+name_pk).val(item_pk);
+ opener.focus();
+ self.close();
}
function save_and_close_window_many(name_label, name_pk, item_name, item_pk){
- var main_page = opener.document;
- var lbl_ = jQuery(main_page).find("#"+name_label);
- var val_ = jQuery(main_page).find("#"+name_pk);
- if (val_.val()){
- var v = lbl_.val();
- v = v.slice(0, v.lastIndexOf(","));
- lbl_.val(v + ", " + item_name + ", ");
- val_.val(val_.val() + ", " + item_pk);
- lbl_.change();
- } else {
- jQuery(main_page).find("#"+name_label).val(item_name);
- jQuery(main_page).find("#"+name_pk).val(item_pk);
- }
- opener.focus();
- self.close();
+ var main_page = opener.document;
+ var lbl_ = jQuery(main_page).find("#" + name_label);
+ var val_ = jQuery(main_page).find("#" + name_pk);
+ if (val_.val()){
+ var v = lbl_.val();
+ v = v.slice(0, v.lastIndexOf(","));
+ lbl_.val(v + ", " + item_name + ", ");
+ val_.val(val_.val() + ", " + item_pk);
+ lbl_.change();
+ } else {
+ jQuery(main_page).find("#" + name_label).val(item_name);
+ jQuery(main_page).find("#" + name_pk).val(item_pk);
+ }
+ opener.focus();
+ self.close();
}
function multiRemoveItem(selItems, name, idx){
@@ -782,6 +782,11 @@ function update_search_field(){
}
} else if ($(this).filter(":text").length){
v = $(this).val();
+ if (v.match( new RegExp(' > ') )){
+ matches = v.split(' > ');
+ v = matches[matches.length - 1];
+ }
+
} else if ($(this).filter('input[type="number"]').length){
v = $(this).val();
}
diff --git a/ishtar_common/static/media/styles.css b/ishtar_common/static/media/styles.css
index b5e8bab48..507948915 100644
--- a/ishtar_common/static/media/styles.css
+++ b/ishtar_common/static/media/styles.css
@@ -30,11 +30,6 @@ html{
display: none;
}
-.search .form-group {
- margin-bottom: 0.2rem;
- font-size: 0.9em;
-}
-
#id_parcel_0, #id_parcel_1, #id_parcel_2{
width: 30%;
display: inline-block;
diff --git a/ishtar_common/templates/blocks/bs_form_snippet.html b/ishtar_common/templates/blocks/bs_form_snippet.html
index caa20b016..f0f729e2c 100644
--- a/ishtar_common/templates/blocks/bs_form_snippet.html
+++ b/ishtar_common/templates/blocks/bs_form_snippet.html
@@ -50,10 +50,8 @@
<span aria-hidden="true">&times;</span>
</button>
<div class="form-group col-12" id="advanced-search-info"></div>
- </div>
- <div class="modal-body body-scroll search-fields">
- <div class="form-row justify-content-md-center">
- <div class="form-row col-md-6">
+ <div class="row col-12 justify-content-center">
+ <div class="form-row col-md-8">
<div class="input-group search-widget">
<span class="input-group-prepend">
<span class="input-group-text" title="{% trans 'Filter...' %}">
@@ -71,8 +69,8 @@
</div>
</div>
</div>
- <hr>
-
+ </div>
+ <div class="modal-body body-scroll search-fields">
{% endif %}
{% if field.name in form.HEADERS %}
{% if forloop.counter0 %}
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 8b2602dbc..5050f2d0d 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -192,9 +192,12 @@ account_deletion_wizard = wizards.IshtarUserDeletionWizard.as_view(
def get_autocomplete_generic(model, extra=None):
if not extra:
extra = {'available': True}
+
def func(request):
q = request.GET.get('term')
query = Q(**extra)
+ if not q:
+ q = ""
for q in q.split(' '):
if not q:
continue
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index aee4eb95d..cb9250b9c 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -30,7 +30,7 @@ from django.db.models import fields
from django.forms import ClearableFileInput
from django.forms.utils import flatatt
from django.forms.widgets import CheckboxSelectMultiple as \
- CheckboxSelectMultipleBase
+ CheckboxSelectMultipleBase, NumberInput
from django.template import loader
from django.template.defaultfilters import slugify
from django.utils.encoding import smart_unicode
@@ -1115,3 +1115,7 @@ class DataTable(Select2Media, forms.RadioSelect):
t = loader.get_template('blocks/DataTables.html')
rendered += t.render(dct)
return mark_safe(rendered)
+
+
+class RangeInput(NumberInput):
+ input_type = 'range'