0001-manager-redirect-users-to-their-detail-page-if-they-.patch
src/authentic2/manager/user_views.py | ||
---|---|---|
899 | 899 | |
900 | 900 | |
901 | 901 |
def me(request): |
902 |
if request.user.has_perm('custom_user.change_user', request.user):
|
|
902 |
if request.user.has_perm('custom_user.view_user', request.user):
|
|
903 | 903 |
return redirect(request, 'a2-manager-user-detail', kwargs={'pk': request.user.pk}) |
904 | 904 |
else: |
905 | 905 |
return redirect(request, 'account_management') |
tests/test_user_manager.py | ||
---|---|---|
1276 | 1276 |
.count() |
1277 | 1277 |
== 1 |
1278 | 1278 |
) |
1279 | ||
1280 | ||
1281 |
def test_me_redirect(app, simple_user): |
|
1282 |
from django.contrib.contenttypes.models import ContentType |
|
1283 | ||
1284 |
from authentic2.a2_rbac.models import Permission, Role |
|
1285 |
from django_rbac.models import VIEW_OP |
|
1286 |
from django_rbac.utils import get_operation |
|
1287 | ||
1288 |
login(app, simple_user) |
|
1289 | ||
1290 |
response = app.get('/manage/me/') |
|
1291 |
assert response.location == '/accounts/' |
|
1292 | ||
1293 |
role = Role.objects.create() |
|
1294 |
view_user_perm = Permission.objects.create( |
|
1295 |
operation=get_operation(VIEW_OP), |
|
1296 |
target_ct=ContentType.objects.get_for_model(simple_user), |
|
1297 |
target_id=simple_user.pk, |
|
1298 |
) |
|
1299 |
role.permissions.add(view_user_perm) |
|
1300 |
role.members.add(simple_user) |
|
1301 | ||
1302 |
response = app.get('/manage/me/') |
|
1303 |
assert response.location == f'/manage/users/{simple_user.pk}/' |
|
1279 |
- |