Revision 4b3b8688 snf-cyclades-app/synnefo/plankton/util.py

b/snf-cyclades-app/synnefo/plankton/util.py
41 41
from django.http import (HttpResponse, HttpResponseBadRequest,
42 42
                         HttpResponseServerError)
43 43

  
44
from synnefo.lib.astakos import get_user
44 45
from synnefo.plankton.backend import ImageBackend, BackendException
45 46

  
46 47

  
47 48
log = getLogger('synnefo.plankton')
48 49

  
49 50

  
50
def get_user_from_token(token):
51
    return None
52

  
53

  
54
def get_request_user(request):
55
    user = get_user_from_token(request.META.get('HTTP_X_AUTH_TOKEN'))
56
    if not user:
57
        user = get_user_from_token(request.COOKIES.get('X-Auth-Token'))
58
    return user
59

  
60

  
61 51
def plankton_method(method):
62 52
    def decorator(func):
63 53
        @wraps(func)
64 54
        def wrapper(request, *args, **kwargs):
65 55
            try:
56
                get_user(request, settings.ASTAKOS_URL)
57
                if not request.user_uniq:
58
                    raise Unauthorized('No user found.')
66 59
                if request.method != method:
67 60
                    return HttpResponse(status=405)
68
                if not request.user:
61
                if not request.user_uniq:
69 62
                    return HttpResponse(status=401)
70
                request.backend = ImageBackend(request.user)
63
                request.backend = ImageBackend(request.user_uniq)
71 64
                return func(request, *args, **kwargs)
72 65
            except (AssertionError, BackendException) as e:
73 66
                message = e.args[0] if e.args else ''

Also available in: Unified diff