summaryrefslogtreecommitdiff
path: root/ishtar_common/context_processors.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/context_processors.py')
-rw-r--r--ishtar_common/context_processors.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/ishtar_common/context_processors.py b/ishtar_common/context_processors.py
new file mode 100644
index 000000000..5de5a6afd
--- /dev/null
+++ b/ishtar_common/context_processors.py
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2010-2011 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# See the file COPYING for details.
+
+from django.conf import settings
+from django.contrib.sites.models import Site
+from django.utils.translation import ugettext, ugettext_lazy as _
+
+from menus import Menu
+import models
+
+def get_base_context(request):
+ dct = {'URL_PATH':settings.URL_PATH}
+ dct["APP_NAME"] = Site.objects.get_current().name
+ dct["COUNTRY"] = settings.COUNTRY
+ if 'MENU' not in request.session or \
+ request.session['MENU'].user != request.user:
+ menu = Menu(request.user)
+ menu.init()
+ request.session['MENU'] = menu
+ if 'CURRENT_ACTION' in request.session:
+ dct['CURRENT_ACTION'] = request.session['CURRENT_ACTION']
+ dct['MENU'] = request.session['MENU']
+ dct['JQUERY_URL'] = settings.JQUERY_URL
+ dct['JQUERY_UI_URL'] = settings.JQUERY_UI_URL
+ dct['current_menu'] = []
+ for lbl, model in ((_(u"Archaeological file"), models.File),
+ (_(u"Operation"), models.Operation),
+ (_(u"Context record"), models.ContextRecord),
+ (_(u"Archaeological item"), models.Item),
+ ):
+ model_name = model.__name__.lower()
+ current = model_name in request.session and request.session[model_name]
+ items = []
+ for item in model.get_owns(request.user):
+ items.append((item.pk, unicode(item), unicode(item.pk) == current))
+ if items:
+ dct['current_menu'].append((lbl, model_name, items))
+ return dct
+