# or implied, of GRNET S.A.
from astakos.im.settings import IM_MODULES, INVITATIONS_ENABLED, IM_STATIC_URL, \
- COOKIE_NAME
-from astakos.im.api import get_menu
+ COOKIE_NAME, LOGIN_MESSAGES, SIGNUP_MESSAGES, PROFILE_MESSAGES, \
+ GLOBAL_MESSAGES, PROFILE_EXTRA_LINKS
+from astakos.im.api.admin import get_menu
+from astakos.im.util import get_query
from django.conf import settings
from django.core.urlresolvers import reverse
return {'im_modules': IM_MODULES}
def next(request):
- return {'next' : request.GET.get('next', '')}
+ return {'next' : get_query(request).get('next', '')}
def code(request):
return {'code' : request.GET.get('code', '')}
def media(request):
return {'IM_STATIC_URL' : IM_STATIC_URL}
+def custom_messages(request):
+ global GLOBAL_MESSAGES, SIGNUP_MESSAGES, LOGIN_MESSAGES, PROFILE_MESSAGES
+
+ # keep backwards compatibility with dict settings
+ if type(GLOBAL_MESSAGES) == dict:
+ GLOBAL_MESSAGES = GLOBAL_MESSAGES.items()
+ if type(SIGNUP_MESSAGES) == dict:
+ SIGNUP_MESSAGES = SIGNUP_MESSAGES.items()
+ if type(LOGIN_MESSAGES) == dict:
+ LOGIN_MESSAGES = LOGIN_MESSAGES.items()
+ if type(PROFILE_MESSAGES) == dict:
+ PROFILE_MESSAGES = PROFILE_MESSAGES.items()
+
+ EXTRA_MESSAGES_SET = bool(GLOBAL_MESSAGES or SIGNUP_MESSAGES or \
+ LOGIN_MESSAGES or PROFILE_MESSAGES)
+
+ return {
+ 'GLOBAL_MESSAGES' : GLOBAL_MESSAGES,
+ 'SIGNUP_MESSAGES' : SIGNUP_MESSAGES,
+ 'LOGIN_MESSAGES' : LOGIN_MESSAGES,
+ 'PROFILE_MESSAGES' : PROFILE_MESSAGES,
+ 'PROFILE_EXTRA_LINKS' : PROFILE_EXTRA_LINKS,
+ 'EXTRA_MESSAGES_SET' : EXTRA_MESSAGES_SET
+ }
+
def menu(request):
absolute = lambda (url): request.build_absolute_uri(url)
- resp = get_menu(request)
- menu_items = json.loads(resp.content)[1:]
- for item in menu_items:
- item['is_active'] = absolute(request.path) == item['url']
- return {'menu':menu_items}
+ resp = get_menu(request, True, False)
+ try:
+ menu_items = json.loads(resp.content)[1:]
+ except Exception, e:
+ return {}
+ else:
+ for item in menu_items:
+ item['is_active'] = absolute(request.path) == item['url']
+ return {'menu':menu_items}