manager: redirect users/add to user creation in default OU (#28106)

This commit is contained in:
Frédéric Péters 2018-11-17 16:16:02 +01:00
parent 59b22c3c67
commit f9a5a31deb
3 changed files with 12 additions and 0 deletions

View File

@ -21,6 +21,8 @@ urlpatterns = required(
url(r'^users/$', user_views.users, name='a2-manager-users'),
url(r'^users/export/(?P<format>csv|json|html|ods)/$',
user_views.users_export, name='a2-manager-users-export'),
url(r'^users/add/$', user_views.user_add_default_ou,
name='a2-manager-user-add-default-ou'),
url(r'^users/(?P<ou_pk>\d+)/add/$', user_views.user_add,
name='a2-manager-user-add'),
url(r'^users/(?P<pk>\d+)/$', user_views.user_detail,

View File

@ -146,6 +146,11 @@ class UserAddView(BaseAddView):
user_add = UserAddView.as_view()
def user_add_default_ou(request):
ou = get_default_ou()
return redirect(request, 'a2-manager-user-add', kwargs={'ou_pk': ou.id})
class UserDetailView(OtherActionsMixin, BaseDetailView):
model = get_user_model()
fields = ['username', 'ou', 'first_name', 'last_name', 'email']

View File

@ -283,6 +283,11 @@ def test_manager_create_user(superuser_or_admin, app, settings):
response = form.submit()
assert 'Email already used' in response
# check redirect to default ou
url1 = reverse('a2-manager-user-add-default-ou')
url2 = reverse('a2-manager-user-add', kwargs={'ou_pk': get_default_ou().pk})
resp = app.get(url1)
assert urlparse(resp['Location']).path == url2
def test_app_setting_login_url(app, settings):
settings.A2_MANAGER_LOGIN_URL = '/other_login/'