summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
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
commitf1dc9dbfed7cc90899f9975c29091a61e63fcb02 (patch)
treed7f34f347aa533855990da473b17fc35f5bb1878 /ishtar_common
parentce0947a6b35bb0ef3a12fe6c07efaa074317fe4b (diff)
downloadIshtar-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.html6
-rw-r--r--ishtar_common/views.py3
-rw-r--r--ishtar_common/views_item.py27
-rw-r--r--ishtar_common/widgets.py6
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