diff options
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 34 | 
1 files changed, 25 insertions, 9 deletions
| diff --git a/ishtar_common/views.py b/ishtar_common/views.py index e4b55cae2..6fce21953 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -369,33 +369,33 @@ def get_current_items(request):      return currents -def unpin(request, item_type): +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')      request.session['treatment'] = '' -    if item_type == 'treatment': +    if item_type == 'treatment' and not cascade:          return HttpResponse('ok')      request.session['treatmentfile'] = '' -    if item_type == 'treatmentfile': +    if item_type == 'treatmentfile' and not cascade:          return HttpResponse('ok')      request.session['find'] = '' -    if item_type == 'find': +    if item_type == 'find' and not cascade:          return HttpResponse('ok')      request.session['warehouse'] = '' -    if item_type == 'warehouse': +    if item_type == 'warehouse' and not cascade:          return HttpResponse('ok')      request.session['contextrecord'] = '' -    if item_type == 'contextrecord': +    if item_type == 'contextrecord' and not cascade:          return HttpResponse('ok')      request.session['site'] = '' -    if item_type == 'site': +    if item_type == 'site' and not cascade:          return HttpResponse('ok')      request.session['operation'] = '' -    if item_type == 'operation': +    if item_type == 'operation' and not cascade:          return HttpResponse('ok')      request.session['file'] = '' -    if item_type == 'file': +    if item_type == 'file' and not cascade:          return HttpResponse('ok') @@ -455,6 +455,22 @@ def update_current_item(request, item_type=None, pk=None):      return HttpResponse('ok') +def pin_search(request, item_type): +    key = "pin-search-" + item_type +    if not item_type or not (request.is_ajax() and request.method == 'POST'): +        raise Http404 +    if 'value' in request.POST: +        request.session[key] = request.POST['value'] +    else: +        request.session[key] = request.POST['value'] +    if not request.POST['value']: +        # empty all +        unpin(request, item_type, cascade=True) +    else: +        unpin(request, item_type) +    return HttpResponse('ok') + +  def get_by_importer(request, slug, data_type='json', full=False,                      force_own=False, **dct):      q = models.ImporterType.objects.filter(slug=slug) | 
