diff options
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 | 
