Revision 0778f7e1 pithos/im/views.py

b/pithos/im/views.py
76 76
        return func(request, *args)
77 77
    return wrapper
78 78

  
79
def requires_my_login(func):
80
    @wraps(func)
81
    def wrapper(request, *args):
82
        print '>', request.user, args
83
        if not settings.BYPASS_ADMIN_AUTH:
84
            if not request.user:
85
                next = urlencode({'next': request.build_absolute_uri()})
86
                login_uri = reverse(index) + '?' + next
87
                return HttpResponseRedirect(login_uri)
88
            else:
89
                user = User.objects.get(uniq=request.user)
90
                if user.id != int(args[0]):
91
                    next = urlencode({'next': request.build_absolute_uri()})
92
                    login_uri = reverse(index) + '?' + next
93
                    return HttpResponseRedirect(login_uri)
94
        return func(request, *args)
95
    return wrapper
96

  
97

  
98 79
def requires_admin(func):
99 80
    @wraps(func)
100 81
    def wrapper(request, *args):
......
474 455
        user.save()
475 456
        return redirect(users_info, user.id)
476 457

  
477
@requires_my_login
478
def users_profile(request, user_id):
458
@requires_login
459
def users_profile(request):
479 460
    next = request.GET.get('next')
480
    user = User.objects.get(id=user_id)
461
    user = User.objects.get(uniq=request.user)
481 462
    states = [x[0] for x in User.ACCOUNT_STATE]
482 463
    return render_response('users_profile.html',
483 464
                            user=user,
484 465
                            states=states,
485 466
                            next=next)
486 467

  
487
@requires_my_login
488
def users_edit(request, user_id):
489
    user = User.objects.get(id=user_id)
468
@requires_login
469
def users_edit(request):
470
    user = User.objects.get(uniq=request.user)
490 471
    user.realname = request.POST.get('realname')
491 472
    user.affiliation = request.POST.get('affiliation')
492 473
    user.is_verified = True

Also available in: Unified diff