diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-18 17:49:57 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-18 17:51:30 +0200 | 
| commit | 7d2aa560ba859ebb593d34b062bf1faf09c8724c (patch) | |
| tree | 4136673563f802d6de992512e3c4adde86ef2a4e /ishtar_common/context_processors.py | |
| parent | 615457617e65019e0ce39b585f4eeb41b17ba61a (diff) | |
| download | Ishtar-7d2aa560ba859ebb593d34b062bf1faf09c8724c.tar.bz2 Ishtar-7d2aa560ba859ebb593d34b062bf1faf09c8724c.zip | |
Djangoization - Major refactoring (step 1)
Diffstat (limited to 'ishtar_common/context_processors.py')
| -rw-r--r-- | ishtar_common/context_processors.py | 55 | 
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 + | 
