diff --git a/ssoauth/auth_utils.py b/ssoauth/auth_utils.py index 79964fc55f06f38b6d72ebd861711a3d7bc7452d..383c229d56782ddf0902edf20f4dc2b2ccfcb7f9 100644 --- a/ssoauth/auth_utils.py +++ b/ssoauth/auth_utils.py @@ -136,7 +136,7 @@ def cleanup_direct_permissions(user): user.user_permissions.clear() -def set_user_compat_flags(user): +def set_user_compat_flags(user, check_login_perm=True): def get_full_perm_name(codename): return "{app}.{codename}".format( @@ -162,7 +162,7 @@ def set_user_compat_flags(user): logger.info("User {user} is staff (has admin access).".format(**locals())) user.is_staff = True # is_active (actually represents the log in permission) - if app_settings.LOGIN_PERM_CODENAME: + if app_settings.LOGIN_PERM_CODENAME and check_login_perm: if user.has_perm(get_full_perm_name(app_settings.LOGIN_PERM_CODENAME)): logger.info("User {user} is active.".format(**locals())) user.is_active = True diff --git a/ssoauth/views.py b/ssoauth/views.py index 05a42f09075d92873af54b0c237b147b4cc43601..4d9553c4b73cc0f06b375d281532411adc08aa42 100644 --- a/ssoauth/views.py +++ b/ssoauth/views.py @@ -350,7 +350,7 @@ class DevView(FormView): contrib_auth.logout(self.request) # update the compat flags, might be needed when user or their groups change if self.request.user.is_authenticated: - auth_utils.set_user_compat_flags(self.request.user) + auth_utils.set_user_compat_flags(self.request.user, False) # redirect return http.HttpResponseRedirect(self.next_url or urls.reverse("sso-dev"))