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) |