diff options
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 25 | 
1 files changed, 19 insertions, 6 deletions
| diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 8214f22d7..55b5fce1e 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -52,7 +52,8 @@ from archaeological_finds.forms import DashboardTreatmentForm, \      DashboardTreatmentFileForm  from archaeological_finds.models import Find, Treatment, TreatmentFile  from archaeological_operations.forms import DashboardForm as DashboardFormOpe -from archaeological_operations.models import Operation +from archaeological_operations.models import Operation, ArchaeologicalSite +from archaeological_warehouse.models import Warehouse  from ishtar_common import forms_common as forms  from ishtar_common import wizards  from ishtar_common.forms import FinalForm, FinalDeleteForm @@ -62,8 +63,8 @@ from ishtar_common.utils import clean_session_cache, CSV_OPTIONS, \      get_field_labels_from_path, get_random_item_image_link, shortify  from ishtar_common.widgets import JQueryAutoComplete -from views_item import CURRENT_ITEM_KEYS, check_permission, display_item, \ -    get_item, new_item, show_item +from views_item import CURRENT_ITEM_KEYS, CURRENT_ITEM_KEYS_DICT, \ +    check_permission, display_item, get_item, new_item, show_item  logger = logging.getLogger(__name__) @@ -250,8 +251,12 @@ def shortcut_menu(request):      if profile.files:          CURRENT_ITEMS.append((_(u"Archaeological file"), File))      CURRENT_ITEMS.append((_(u"Operation"), Operation)) +    if profile.archaeological_site: +        CURRENT_ITEMS.append((profile.get_site_label(), ArchaeologicalSite))      if profile.context_record:          CURRENT_ITEMS.append((_(u"Context record"), ContextRecord)) +    if profile.warehouse: +        CURRENT_ITEMS.append((_(u"Warehouse"), Warehouse))      if profile.find:          CURRENT_ITEMS.append((_(u"Find"), Find))      if profile.warehouse: @@ -323,7 +328,7 @@ def shortcut_menu(request):                  continue              current_items.append(pk)              selected = pk == current -            item_label = shortify(item['cached_label'], 60) +            item_label = shortify(item[lbl_key], 60)              if selected:                  cls = shortmenu_class                  new_selected_item = pk @@ -365,8 +370,7 @@ def get_current_items(request):  def unpin(request, item_type): -    if item_type not in ('find', 'contextrecord', 'operation', 'file', -                         'treatment', 'treatmentfile'): +    if item_type not in CURRENT_ITEM_KEYS_DICT.keys():          logger.warning("unpin unknow type: {}".format(item_type))          return HttpResponse('nok')      request.session['treatment'] = '' @@ -378,9 +382,15 @@ def unpin(request, item_type):      request.session['find'] = ''      if item_type == 'find':          return HttpResponse('ok') +    request.session['warehouse'] = '' +    if item_type == 'warehouse': +        return HttpResponse('ok')      request.session['contextrecord'] = ''      if item_type == 'contextrecord':          return HttpResponse('ok') +    request.session['site'] = '' +    if item_type == 'site': +        return HttpResponse('ok')      request.session['operation'] = ''      if item_type == 'operation':          return HttpResponse('ok') @@ -401,16 +411,19 @@ def update_current_item(request, item_type=None, pk=None):      request.session['SHORTCUT_SEARCH'] = 'all'      currents = get_current_items(request) +      # re-init when descending item are not relevant      if item_type == 'file' and currents['file'] and currents['operation'] and \              currents['operation'].associated_file != currents['file']:          request.session["operation"] = ''          currents['operation'] = None +      if item_type in ('operation', 'file') and currents['contextrecord'] and \              (not request.session.get("operation", None) or               currents['contextrecord'].operation != currents['operation']):          request.session["contextrecord"] = ''          currents['contextrecord'] = None +      from archaeological_finds.models import Find      if item_type in ('contextrecord', 'operation', 'file') and \          currents['find'] and \ | 
