Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / context_processors.py @ 357987bc

History | View | Annotate | Download (3.5 kB)

1 0905ccd2 Sofia Papagiannaki
# Copyright 2011 GRNET S.A. All rights reserved.
2 13858d75 Kostas Papadimitriou
#
3 0905ccd2 Sofia Papagiannaki
# Redistribution and use in source and binary forms, with or
4 0905ccd2 Sofia Papagiannaki
# without modification, are permitted provided that the following
5 0905ccd2 Sofia Papagiannaki
# conditions are met:
6 13858d75 Kostas Papadimitriou
#
7 0905ccd2 Sofia Papagiannaki
#   1. Redistributions of source code must retain the above
8 0905ccd2 Sofia Papagiannaki
#      copyright notice, this list of conditions and the following
9 0905ccd2 Sofia Papagiannaki
#      disclaimer.
10 13858d75 Kostas Papadimitriou
#
11 0905ccd2 Sofia Papagiannaki
#   2. Redistributions in binary form must reproduce the above
12 0905ccd2 Sofia Papagiannaki
#      copyright notice, this list of conditions and the following
13 0905ccd2 Sofia Papagiannaki
#      disclaimer in the documentation and/or other materials
14 0905ccd2 Sofia Papagiannaki
#      provided with the distribution.
15 13858d75 Kostas Papadimitriou
#
16 0905ccd2 Sofia Papagiannaki
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17 0905ccd2 Sofia Papagiannaki
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 0905ccd2 Sofia Papagiannaki
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 0905ccd2 Sofia Papagiannaki
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20 0905ccd2 Sofia Papagiannaki
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 0905ccd2 Sofia Papagiannaki
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 0905ccd2 Sofia Papagiannaki
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23 0905ccd2 Sofia Papagiannaki
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24 0905ccd2 Sofia Papagiannaki
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 0905ccd2 Sofia Papagiannaki
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26 0905ccd2 Sofia Papagiannaki
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 0905ccd2 Sofia Papagiannaki
# POSSIBILITY OF SUCH DAMAGE.
28 13858d75 Kostas Papadimitriou
#
29 0905ccd2 Sofia Papagiannaki
# The views and conclusions contained in the software and
30 0905ccd2 Sofia Papagiannaki
# documentation are those of the authors and should not be
31 0905ccd2 Sofia Papagiannaki
# interpreted as representing official policies, either expressed
32 0905ccd2 Sofia Papagiannaki
# or implied, of GRNET S.A.
33 0905ccd2 Sofia Papagiannaki
34 9b25b9a9 Kostas Papadimitriou
from astakos.im.settings import IM_MODULES, INVITATIONS_ENABLED, IM_STATIC_URL, \
35 5ce3ce4f Sofia Papagiannaki
    LOGIN_MESSAGES, SIGNUP_MESSAGES, PROFILE_MESSAGES, \
36 5ce3ce4f Sofia Papagiannaki
    GLOBAL_MESSAGES, PROFILE_EXTRA_LINKS
37 14c5be5a Sofia Papagiannaki
from astakos.im.api import get_menu
38 0a569195 Sofia Papagiannaki
from astakos.im.util import get_query
39 0f4fa26d Sofia Papagiannaki
from astakos.im.models import GroupKind
40 f534fb96 Sofia Papagiannaki
41 f534fb96 Sofia Papagiannaki
from django.utils import simplejson as json
42 0905ccd2 Sofia Papagiannaki
43 5ce3ce4f Sofia Papagiannaki
44 0905ccd2 Sofia Papagiannaki
def im_modules(request):
45 92defad4 Sofia Papagiannaki
    return {'im_modules': IM_MODULES}
46 0905ccd2 Sofia Papagiannaki
47 5ce3ce4f Sofia Papagiannaki
48 0905ccd2 Sofia Papagiannaki
def next(request):
49 5ce3ce4f Sofia Papagiannaki
    return {'next': get_query(request).get('next', '')}
50 5ce3ce4f Sofia Papagiannaki
51 0905ccd2 Sofia Papagiannaki
52 0905ccd2 Sofia Papagiannaki
def code(request):
53 5ce3ce4f Sofia Papagiannaki
    return {'code': request.GET.get('code', '')}
54 5ce3ce4f Sofia Papagiannaki
55 890b0eaf Sofia Papagiannaki
56 890b0eaf Sofia Papagiannaki
def invitations(request):
57 5ce3ce4f Sofia Papagiannaki
    return {'invitations_enabled': INVITATIONS_ENABLED}
58 5ce3ce4f Sofia Papagiannaki
59 13858d75 Kostas Papadimitriou
60 13858d75 Kostas Papadimitriou
def media(request):
61 5ce3ce4f Sofia Papagiannaki
    return {'IM_STATIC_URL': IM_STATIC_URL}
62 5ce3ce4f Sofia Papagiannaki
63 13858d75 Kostas Papadimitriou
64 25d9d4d0 Sofia Papagiannaki
def custom_messages(request):
65 4f78c22c Sofia Papagiannaki
    global GLOBAL_MESSAGES, SIGNUP_MESSAGES, LOGIN_MESSAGES, PROFILE_MESSAGES
66 4f78c22c Sofia Papagiannaki
67 4f78c22c Sofia Papagiannaki
    # keep backwards compatibility with dict settings
68 4f78c22c Sofia Papagiannaki
    if type(GLOBAL_MESSAGES) == dict:
69 4f78c22c Sofia Papagiannaki
        GLOBAL_MESSAGES = GLOBAL_MESSAGES.items()
70 4f78c22c Sofia Papagiannaki
    if type(SIGNUP_MESSAGES) == dict:
71 4f78c22c Sofia Papagiannaki
        SIGNUP_MESSAGES = SIGNUP_MESSAGES.items()
72 4f78c22c Sofia Papagiannaki
    if type(LOGIN_MESSAGES) == dict:
73 4f78c22c Sofia Papagiannaki
        LOGIN_MESSAGES = LOGIN_MESSAGES.items()
74 4f78c22c Sofia Papagiannaki
    if type(PROFILE_MESSAGES) == dict:
75 4f78c22c Sofia Papagiannaki
        PROFILE_MESSAGES = PROFILE_MESSAGES.items()
76 4f78c22c Sofia Papagiannaki
77 9a06d96f Olga Brani
    EXTRA_MESSAGES_SET = bool(GLOBAL_MESSAGES or SIGNUP_MESSAGES or
78 9a06d96f Olga Brani
                              LOGIN_MESSAGES or PROFILE_MESSAGES)
79 4f78c22c Sofia Papagiannaki
80 25d9d4d0 Sofia Papagiannaki
    return {
81 5ce3ce4f Sofia Papagiannaki
        'GLOBAL_MESSAGES': GLOBAL_MESSAGES,
82 5ce3ce4f Sofia Papagiannaki
        'SIGNUP_MESSAGES': SIGNUP_MESSAGES,
83 5ce3ce4f Sofia Papagiannaki
        'LOGIN_MESSAGES': LOGIN_MESSAGES,
84 5ce3ce4f Sofia Papagiannaki
        'PROFILE_MESSAGES': PROFILE_MESSAGES,
85 5ce3ce4f Sofia Papagiannaki
        'PROFILE_EXTRA_LINKS': PROFILE_EXTRA_LINKS,
86 5ce3ce4f Sofia Papagiannaki
        'EXTRA_MESSAGES_SET': EXTRA_MESSAGES_SET
87 5ce3ce4f Sofia Papagiannaki
    }
88 5ce3ce4f Sofia Papagiannaki
89 25d9d4d0 Sofia Papagiannaki
90 f534fb96 Sofia Papagiannaki
def menu(request):
91 7ee456f7 root
    try:
92 a88d9ec1 Sofia Papagiannaki
        resp = get_menu(request, True, False)
93 7ee456f7 root
        menu_items = json.loads(resp.content)[1:]
94 7ee456f7 root
    except Exception, e:
95 7ee456f7 root
        return {}
96 7ee456f7 root
    else:
97 5ce3ce4f Sofia Papagiannaki
        return {'menu': menu_items}
98 5ce3ce4f Sofia Papagiannaki
99 0f4fa26d Sofia Papagiannaki
100 0f4fa26d Sofia Papagiannaki
def group_kinds(request):
101 5ce3ce4f Sofia Papagiannaki
    return {'group_kinds': GroupKind.objects.exclude(
102 c9015cf6 Sofia Papagiannaki
        name='default').values_list('name', flat=True)}