def get_locale_from_request(request, session=None, user=None): if user is None: user_id = request.authenticated_userid or Everyone if user_id != Everyone: user = User.get(user_id) session = session or User.default_db if user: if '_LOCALE_' in request.params: locale = request.params['_LOCALE_'] process_locale(locale, user, session, LanguagePreferenceOrder.Parameter) elif '_LOCALE_' in request.cookies: locale = request.cookies['_LOCALE_'] process_locale(locale, user, session, LanguagePreferenceOrder.Cookie) else: # uses my locale negotiator locale = request.locale_name process_locale(locale, user, session, LanguagePreferenceOrder.OS_Default) else: locale = request.localizer.locale_name target_locale = Locale.get_or_create( strip_country(locale), session) return target_locale
def base_admin_view(request): """The Base admin view, for frontend urls""" user_id = authenticated_userid(request) or Everyone if user_id == Everyone: raise HTTPUnauthorized() context = get_default_context(request) session = Discussion.default_db preferences = Preferences.get_default_preferences(session) user = User.get(user_id) if '_LOCALE_' in request.cookies: locale = request.cookies['_LOCALE_'] process_locale(locale, user, session, LanguagePreferenceOrder.Cookie) elif '_LOCALE_' in request.params: locale = request.params['_LOCALE_'] process_locale(locale, user, session, LanguagePreferenceOrder.Parameter) else: locale = request.locale_name process_locale(locale, user, session, LanguagePreferenceOrder.OS_Default) target_locale = strip_country(locale) locale_labels = json.dumps( DummyGoogleTranslationService.target_locale_labels_cls(target_locale)) context['translation_locale_names_json'] = locale_labels role_names = [x for (x, ) in session.query(Role.name).all()] permission_names = [x for (x, ) in session.query(Permission.name).all()] context['role_names'] = json.dumps(role_names) context['permission_names'] = json.dumps(permission_names) context['discussion'] = PseudoDiscussion() response = render_to_response('../../templates/adminIndex.jinja2', context, request=request) # Prevent caching the home, especially for proper login/logout response.cache_control.max_age = 0 response.cache_control.prevent_auto = True return response
def get_locale_from_request(request, session=None, user=None): if user is None: user_id = request.authenticated_userid or Everyone if user_id != Everyone: user = User.get(user_id) session = session or User.default_db if user: if '_LOCALE_' in request.params: locale = request.params['_LOCALE_'] process_locale(locale, user, session, LanguagePreferenceOrder.Parameter) elif '_LOCALE_' in request.cookies: locale = request.cookies['_LOCALE_'] process_locale(locale, user, session, LanguagePreferenceOrder.Cookie) else: # uses my locale negotiator locale = request.locale_name process_locale(locale, user, session, LanguagePreferenceOrder.OS_Default) else: locale = request.localizer.locale_name target_locale = Locale.get_or_create(strip_country(locale), session) return target_locale