Skip to content

Commit 5607e10

Browse files
authored
Merge pull request #11712 from Ostap-Zherebetskyi/fix/sso_validation_errors
[ENG-10879] Improve error message for SSO availability error message
2 parents 929ed77 + 038ddcd commit 5607e10

3 files changed

Lines changed: 5 additions & 4 deletions

File tree

admin/institutions/forms.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ def clean(self):
1616
if hasattr(self, 'cleaned_data') and self.changed_data:
1717
if not self.cleaned_data['delegation_protocol']:
1818
if self.cleaned_data['sso_availability'] != SSOAvailability.UNAVAILABLE.value:
19-
self.add_error('sso_availability', 'Must be UNAVAILABLE when no protocol')
19+
self.add_error(None, 'SSO availability must be set to "Unavailable" when no delegation protocol is configured.')
2020

2121
elif self.cleaned_data['deactivated']:
2222
if self.cleaned_data['sso_availability'] != SSOAvailability.HIDDEN.value:
23-
self.add_error('sso_availability', 'Inactive must be HIDDEN')
23+
self.add_error(None, 'SSO availability must be set to "Hidden" when the institution is deactivated.')
2424

2525

2626
class InstitutionalMetricsAdminRegisterForm(forms.Form):

admin/institutions/views.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ def post(self, request, *args, **kwargs):
125125
if form.is_valid():
126126
return self.form_valid(form)
127127
else:
128-
messages.error(request, form.errors)
128+
for error in form.non_field_errors():
129+
messages.error(request, error)
129130
return redirect('institutions:detail', institution_id=self.kwargs.get('institution_id'))
130131

131132

admin_tests/institutions/test_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ def test_institution_form_invalid(self):
155155
}
156156
form = InstitutionForm(data=new_data)
157157
assert not form.is_valid()
158-
assert 'sso_availability' in form.errors
158+
assert {'__all__': ['SSO availability must be set to "Unavailable" when no delegation protocol is configured.']} == form.errors
159159

160160

161161
class TestInstitutionExport(AdminTestCase):

0 commit comments

Comments
 (0)