Example #1
0
    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()))
Example #2
0
    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()))
Example #3
0
    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)