Skip to content
Snippets Groups Projects
Commit 4f9e5e36 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Disable email field and add context to the message

parent 20be674b
No related branches found
No related tags found
No related merge requests found
from django import forms from django import forms
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.utils.translation import gettext_lazy as _
from wagtail.users.forms import UserEditForm, UserCreationForm from wagtail.users.forms import UserEditForm, UserCreationForm
...@@ -36,7 +37,10 @@ class ProfileForm(forms.ModelForm): ...@@ -36,7 +37,10 @@ class ProfileForm(forms.ModelForm):
if not self.instance.has_usable_password(): if not self.instance.has_usable_password():
# User is registered with oauth - no password change allowed # User is registered with oauth - no password change allowed
del self.fields['email'] email_field = self.fields['email']
email_field.disabled = True
email_field.required = False
email_field.help_text = _('You are registered using OAuth, please contact an admin if you need to change your email address.')
def clean_slack(self): def clean_slack(self):
slack = self.cleaned_data['slack'] slack = self.cleaned_data['slack']
......
...@@ -48,10 +48,9 @@ class TestStaffProfileForm(BaseTestProfileForm): ...@@ -48,10 +48,9 @@ class TestStaffProfileForm(BaseTestProfileForm):
def setUp(self): def setUp(self):
self.staff = StaffFactory() self.staff = StaffFactory()
def test_cant_change_password(self): def test_cant_change_email(self):
new_email = 'me@this.com' new_email = 'me@this.com'
form = self.submit_form(self.staff, email=new_email) self.submit_form(self.staff, email=new_email)
self.assertFalse('email' in form.fields)
self.staff.refresh_from_db() self.staff.refresh_from_db()
self.assertNotEqual(new_email, self.staff.email) self.assertNotEqual(new_email, self.staff.email)
......
...@@ -43,7 +43,3 @@ class TestStaffProfileView(BaseTestProfielView): ...@@ -43,7 +43,3 @@ class TestStaffProfileView(BaseTestProfielView):
def test_can_set_slack_name(self): def test_can_set_slack_name(self):
response = self.client.get(self.url, follow=True) response = self.client.get(self.url, follow=True)
self.assertContains(response, 'Slack name') self.assertContains(response, 'Slack name')
def test_can_not_set_email(self):
response = self.client.get(self.url, follow=True)
self.assertNotContains(response, 'Email')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment