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