def wrapper(resource, *argv, **kwargs): from the_tale.accounts.logic import login_page_url if resource.account.is_authenticated(): return func(resource, *argv, **kwargs) else: from dext.common.utils.response import mime_type_to_response_type response_type = mime_type_to_response_type(resource.request.META.get('HTTP_ACCEPT')) if resource.request.is_ajax() or response_type == 'json': return resource.auto_error('common.login_required', u'У Вас нет прав для проведения данной операции') return resource.redirect(login_page_url(resource.request.get_full_path()))
def wrapper(resource, *argv, **kwargs): from the_tale.accounts.logic import login_page_url if resource.account.is_authenticated: return func(resource, *argv, **kwargs) else: from dext.common.utils.response import mime_type_to_response_type response_type = mime_type_to_response_type(resource.request.META.get('HTTP_ACCEPT')) if resource.request.is_ajax() or response_type == 'json': return resource.auto_error('common.login_required', 'У Вас нет прав для проведения данной операции') return resource.redirect(login_page_url(resource.request.get_full_path()))
def auto_error(self, code, message, template=None, status_code=200, response_type=None, charset='utf-8'): if response_type is None: response_type = mime_type_to_response_type(self.request.META.get('HTTP_ACCEPT')) if response_type == 'html': if self.request.is_ajax(): return self.template(self.DIALOG_ERROR_TEMPLATE, {'error_message': message, 'error_code': code }, status_code=status_code) else: return self.template(self.ERROR_TEMPLATE, {'error_message': message, 'error_code': code }, status_code=status_code) if response_type == 'js': return self.js_error(code, message, charset=charset) return self.json_error(code, message, charset=charset)