diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-02-12 19:27:25 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-02-12 19:27:25 +0100 |
commit | ed84d4a6dfe6a11f3ff99b4dad19d06130433281 (patch) | |
tree | 8986f5149dd2f627c46530e16acc64d285b57eee /ishtar_common | |
parent | bcc7f4d5317cbb1157ebc9d77a1dc8b4edf75796 (diff) | |
download | Ishtar-ed84d4a6dfe6a11f3ff99b4dad19d06130433281.tar.bz2 Ishtar-ed84d4a6dfe6a11f3ff99b4dad19d06130433281.zip |
Finds: manage all searches
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/static/js/ishtar.js | 45 | ||||
-rw-r--r-- | ishtar_common/static/media/styles.css | 5 | ||||
-rw-r--r-- | ishtar_common/templates/blocks/bs_form_snippet.html | 10 | ||||
-rw-r--r-- | ishtar_common/views.py | 3 | ||||
-rw-r--r-- | ishtar_common/widgets.py | 6 |
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">×</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' |