diff options
Diffstat (limited to 'ishtar/ishtar_base/context_processors.py')
| -rw-r--r-- | ishtar/ishtar_base/context_processors.py | 52 | 
1 files changed, 52 insertions, 0 deletions
| diff --git a/ishtar/ishtar_base/context_processors.py b/ishtar/ishtar_base/context_processors.py new file mode 100644 index 000000000..c4eb546f3 --- /dev/null +++ b/ishtar/ishtar_base/context_processors.py @@ -0,0 +1,52 @@ +#!/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.utils.translation import ugettext, ugettext_lazy as _ +from django.contrib.sites.models import Site + +from ishtar import settings +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"Archaelogical file"), models.File), +                       (_(u"Operation"), models.Operation)): +        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 + | 
