diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-11-12 16:18:57 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-11-12 16:18:57 +0100 |
commit | f1dc9dbfed7cc90899f9975c29091a61e63fcb02 (patch) | |
tree | d7f34f347aa533855990da473b17fc35f5bb1878 /ishtar_common | |
parent | ce0947a6b35bb0ef3a12fe6c07efaa074317fe4b (diff) | |
download | Ishtar-f1dc9dbfed7cc90899f9975c29091a61e63fcb02.tar.bz2 Ishtar-f1dc9dbfed7cc90899f9975c29091a61e63fcb02.zip |
Fix pin and unpi for administrativ acts
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/templates/widgets/search_input.html | 6 | ||||
-rw-r--r-- | ishtar_common/views.py | 3 | ||||
-rw-r--r-- | ishtar_common/views_item.py | 27 | ||||
-rw-r--r-- | ishtar_common/widgets.py | 6 |
4 files changed, 29 insertions, 13 deletions
diff --git a/ishtar_common/templates/widgets/search_input.html b/ishtar_common/templates/widgets/search_input.html index 3f7cdc17e..0083db54b 100644 --- a/ishtar_common/templates/widgets/search_input.html +++ b/ishtar_common/templates/widgets/search_input.html @@ -21,7 +21,7 @@ </span> <span class="input-group-text input-link" id="pin-search-button" - data-item-type="{{model}}" + data-item-type="{{pin_model}}" title="{% trans 'Pin the current search' %}"> <i class="fa fa-thumb-tack" aria-hidden="true"></i> </span> @@ -30,7 +30,7 @@ data-target="#modal-dynamic-form" data-modal-open="#modal-dynamic-form" title="{% trans 'Bookmark this search' %}" - href="{% url 'save-search-query' app_name model %}"> + href="{% url 'save-search-query' app_name pin_model %}"> <i class="fa fa-star-o" aria-hidden="true"></i> </a> <span class="input-group-text input-link dropdown-toggle" @@ -46,7 +46,7 @@ </div> <script type="text/javascript"> -var bookmark_url = "{% url 'bookmark-list' app_name model %}"; +var bookmark_url = "{% url 'bookmark-list' app_name pin_model %}"; if (typeof enable_save == "undefined") { enable_save = function(){}; diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 827d41ea0..3d64535d4 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -373,6 +373,9 @@ def unpin(request, item_type, cascade=False): if item_type not in CURRENT_ITEM_KEYS_DICT.keys(): logger.warning("unpin unknow type: {}".format(item_type)) return HttpResponse('nok') + if 'administrativeact' in item_type: + request.session[item_type] = '' + return HttpResponse('ok') request.session['treatment'] = '' if item_type == 'treatment' and not cascade: return HttpResponse('ok') diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 9df2277de..517c34ec9 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -35,7 +35,8 @@ from menus import Menu import models from archaeological_files.models import File -from archaeological_operations.models import Operation, ArchaeologicalSite +from archaeological_operations.models import Operation, ArchaeologicalSite, \ + AdministrativeAct from archaeological_context_records.models import ContextRecord from archaeological_finds.models import Find, FindBasket, Treatment, \ TreatmentFile @@ -45,14 +46,21 @@ logger = logging.getLogger(__name__) ENCODING = settings.ENCODING or 'utf-8' -CURRENT_ITEM_KEYS = (('file', File), - ('operation', Operation), - ('site', ArchaeologicalSite), - ('contextrecord', ContextRecord), - ('warehouse', Warehouse), - ('find', Find), - ('treatmentfile', TreatmentFile), - ('treatment', Treatment)) +CURRENT_ITEM_KEYS = ( + ('file', File), + ('operation', Operation), + ('site', ArchaeologicalSite), + ('contextrecord', ContextRecord), + ('warehouse', Warehouse), + ('find', Find), + ('treatmentfile', TreatmentFile), + ('treatment', Treatment), + ('administrativeact', AdministrativeAct), + ('administrativeactop', AdministrativeAct), + ('administrativeactfile', AdministrativeAct), + ('administrativeacttreatment', AdministrativeAct), + ('administrativeacttreatmentfile', AdministrativeAct), +) CURRENT_ITEM_KEYS_DICT = dict(CURRENT_ITEM_KEYS) @@ -1037,6 +1045,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], and_reqs.append(reqs) pinned_search = "" + # manage default and pinned search if 'submited' not in request_items and full != 'shortcut': if data_type == 'csv' and func_name in request.session: dct = request.session[func_name] diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 6292db202..7d9e06926 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -483,15 +483,19 @@ class CheckboxInput(forms.CheckboxInput): class SearchWidget(forms.TextInput): template_name = 'widgets/search_input.html' - def __init__(self, app_name=None, model=None, attrs=None): + def __init__(self, app_name=None, model=None, pin_model=None, attrs=None): super(SearchWidget, self).__init__(attrs) self.app_name = app_name self.model = model + if not pin_model: + pin_model = self.model + self.pin_model = pin_model def get_context(self, name, value, attrs): context = super(SearchWidget, self).get_context(name, value, attrs) context['app_name'] = self.app_name context['model'] = self.model + context['pin_model'] = self.pin_model return context |