Esempio n. 1
0
    def new_function(*args, **kwargs):
        try:
            request = [a for a in args if hasattr(a, 'user')][0]
        except IndexError:
            response = BaseView()
            return response.add_errors(
                "Login required method called without request object",
                status=500)

        response = BaseView(request=request)
        if request.user.is_authenticated() and request.user.is_superuser:
            return decorated_function(*args, **kwargs)

        return response.add_errors('401 -- Unauthorized', status=401)
Esempio n. 2
0
 def auth_check(self, request, method):
     if not hasattr(
             method,
             '_unauthenticated') and not request.user.is_authenticated():
         response = BaseView(request)
         return response.add_errors('401 -- Unauthorized',
                                    status=401).serialize()
Esempio n. 3
0
def generic_exception_handler(request, exception):
    from services.view import BaseView
    response = BaseView(request=request)
    _, _, tb = sys.exc_info()
    import traceback
    frames = traceback.extract_tb(tb)
    frame_template = "File %s, line %s, in %s\n  %s\n"
    error_header = '----%s----\n' % datetime.datetime.utcnow()
    error = ''

    for frame in frames:
        error += frame_template % frame

    if len(str(exception.message)) < 2000:
        error += str(exception.message)

    error += '\n'

    response.add_errors(error)
    logger = logging.getLogger('default')
    logger.error(error_header + error)
    try:
        transaction.rollback()
    except Exception as e:
        print "Error rolling back: " + e.message

    return response.serialize()