diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-04-17 16:30:46 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-12 08:41:54 +0200 |
commit | 0fe08a74e7ffd2e4077e2712341a1c49d452f365 (patch) | |
tree | 6ba4909931a2edfdc521e422ed88b7376643fa6d | |
parent | 72f5973284608163f5286ccfed08acec90ceed34 (diff) | |
download | Ishtar-0fe08a74e7ffd2e4077e2712341a1c49d452f365.tar.bz2 Ishtar-0fe08a74e7ffd2e4077e2712341a1c49d452f365.zip |
Change Menu call
-rw-r--r-- | ishtar_common/menus.py | 6 | ||||
-rw-r--r-- | ishtar_common/urls.py | 4 | ||||
-rw-r--r-- | ishtar_common/views.py | 18 |
3 files changed, 17 insertions, 11 deletions
diff --git a/ishtar_common/menus.py b/ishtar_common/menus.py index 99348fde1..75a562791 100644 --- a/ishtar_common/menus.py +++ b/ishtar_common/menus.py @@ -111,7 +111,8 @@ class Menu: """ if not user_id and self.user: user_id = self.user.pk - else: + + if user_id: try: self.user = User.objects.get(pk=user_id) except User.DoesNotExist: @@ -225,6 +226,3 @@ class Menu: self.current_sections.append([section.label, section_url, bool(subsections)]) - -menu = Menu(None) -menu.init() diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py index 4a61a5fb8..90784ec96 100644 --- a/ishtar_common/urls.py +++ b/ishtar_common/urls.py @@ -22,7 +22,7 @@ from django.conf.urls import include, url from django.conf.urls.static import static from django.views.generic import TemplateView -from menus import menu +from menus import Menu from ishtar_common import views from ishtar_common.wizards import check_rights @@ -125,6 +125,8 @@ urlpatterns = [ url(r'^profile/', views.ProfileEdit.as_view(), name='profile'), ] +menu = Menu(None) +menu.init() actions = [] for section in menu.childs: for menu_item in section.childs: diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 352a3d6f1..5266f6cd7 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -56,7 +56,7 @@ from django.views.generic.edit import CreateView, DeleteView, FormView from xhtml2odt import xhtml2odt -from menus import menu +from menus import Menu from archaeological_files.models import File from archaeological_operations.models import Operation @@ -465,15 +465,21 @@ def update_current_item(request, item_type=None, pk=None): return HttpResponse('ok') +MAIN_MENU = None + + def check_permission(request, action_slug, obj_id=None): - if action_slug not in menu.items: + if not MAIN_MENU: + MAIN_MENU = Menu(None) + MAIN_MENU.init() + if action_slug not in MAIN_MENU.items: # TODO return True if obj_id: - return menu.items[action_slug].is_available(request.user, obj_id, - session=request.session) - return menu.items[action_slug].can_be_available(request.user, - session=request.session) + return MAIN_MENU.items[action_slug].is_available( + request.user, obj_id, session=request.session) + return MAIN_MENU.items[action_slug].can_be_available( + request.user, session=request.session) def autocomplete_person_permissive(request, person_types=None, |