0003-manage-ensure-created-users-have-a-password-47943.patch
src/authentic2/manager/forms.py | ||
---|---|---|
331 | 331 |
raise forms.ValidationError( |
332 | 332 |
_('You must set a username or an email to set a password or send an activation link.')) |
333 | 333 | |
334 |
if not has_password: |
|
335 |
self.instance.set_random_password() |
|
336 | ||
334 | 337 |
def has_email(self): |
335 | 338 |
return bool(self.cleaned_data.get('email')) |
336 | 339 |
tests/test_user_manager.py | ||
---|---|---|
189 | 189 |
assert 'This email address is already in use' in response |
190 | 190 | |
191 | 191 | |
192 |
def test_create_user_no_password(app, superuser): |
|
193 |
response = login(app, superuser, '/manage/users/') |
|
194 |
response = response.click('Add user') |
|
195 |
response.form.set('first_name', 'John') |
|
196 |
response.form.set('last_name', 'Doe') |
|
197 |
response.form.set('generate_password', False) |
|
198 |
response.form.set('password1', '') |
|
199 |
response.form.set('password2', '') |
|
200 |
response.form.set('send_password_reset', False) |
|
201 |
response = response.form.submit(status=302) |
|
202 | ||
203 |
user = User.objects.filter(is_superuser=False).get() |
|
204 |
assert user.has_usable_password() |
|
205 | ||
206 | ||
192 | 207 |
def test_manager_user_change_email(app, superuser_or_admin, simple_user, mailoutbox): |
193 | 208 |
ou = get_default_ou() |
194 | 209 |
ou.validate_emails = True |
195 |
- |