def test_identical_emails_are_invalid(self): data = { 'email': '*****@*****.**', 'user_email': '*****@*****.**', } form = AddressActivationForm(data) self.assertFalse(form.is_valid())
def test_invalid_email_is_not_valid(self): data = { 'email': 'les@example', 'user_email': '*****@*****.**', } form = AddressActivationForm(data) self.assertFalse(form.is_valid())
def user_profile(request): utils.set_other_emails(request.user) try: mm_user = MailmanUser.objects.get_or_create_from_django(request.user) except MailmanApiError: return utils.render_api_error(request) if request.method == 'POST': if request.POST.get('formname') == 'displayname': display_name_form = ChangeDisplayNameForm(request.POST) form = AddressActivationForm( initial={'user_email': request.user.email}) if display_name_form.is_valid(): name = display_name_form.cleaned_data['display_name'] try: mm_user.display_name = name mm_user.save() except MailmanApiError: return utils.render_api_error(request) except HTTPError as e: messages.error(request, e) else: messages.success(request, _('Display name changed')) return redirect('user_profile') else: display_name_form = ChangeDisplayNameForm( initial={'display_name': mm_user.display_name}) form = AddressActivationForm(request.POST) if form.is_valid(): profile, c = ( AddressConfirmationProfile.objects.update_or_create( email=form.cleaned_data['email'], user=request.user, defaults={'activation_key': uuid.uuid4().hex})) try: profile.send_confirmation_link(request) messages.success(request, _( 'Please follow the instructions sent via' ' email to confirm the address')) return redirect('user_profile') except (SMTPException, socket_error) as e: if (not isinstance(e, SMTPException) and e.errno != errno.ECONNREFUSED): raise e profile.delete() messages.error(request, _('Currently emails can not be added,' ' please try again later')) else: form = AddressActivationForm( initial={'user_email': request.user.email}) display_name_form = ChangeDisplayNameForm( initial={'display_name': mm_user.display_name}) return render(request, 'postorius/user/profile.html', {'mm_user': mm_user, 'form': form, 'name_form': display_name_form})
def user_profile(request): utils.set_other_emails(request.user) try: mm_user = MailmanUser.objects.get_or_create_from_django(request.user) except MailmanApiError: return utils.render_api_error(request) if request.method == 'POST': if request.POST.get('formname') == 'displayname': display_name_form = ChangeDisplayNameForm(request.POST) form = AddressActivationForm( initial={'user_email': request.user.email}) if display_name_form.is_valid(): name = display_name_form.cleaned_data['display_name'] try: mm_user.display_name = name mm_user.save() except MailmanApiError: return utils.render_api_error(request) except HTTPError as e: messages.error(request, e) else: messages.success(request, _('Display name changed')) return redirect('user_profile') else: display_name_form = ChangeDisplayNameForm( initial={'display_name': mm_user.display_name}) form = AddressActivationForm(request.POST) if form.is_valid(): profile, c = ( AddressConfirmationProfile.objects.update_or_create( email=form.cleaned_data['email'], user=request.user, defaults={'activation_key': uuid.uuid4().hex})) try: profile.send_confirmation_link(request) messages.success( request, _('Please follow the instructions sent via' ' email to confirm the address')) return redirect('user_profile') except (SMTPException, socket_error) as e: if (not isinstance(e, SMTPException) and e.errno != errno.ECONNREFUSED): raise e profile.delete() messages.error( request, _('Currently emails can not be added,' ' please try again later')) else: form = AddressActivationForm( initial={'user_email': request.user.email}) display_name_form = ChangeDisplayNameForm( initial={'display_name': mm_user.display_name}) return render(request, 'postorius/user/profile.html', { 'mm_user': mm_user, 'form': form, 'name_form': display_name_form })
def test_email_used_by_expired_confirmation_profile_is_valid(self): form = AddressActivationForm({'email': '*****@*****.**'}) self.assertTrue(form.is_valid())
def test_invalid_email_is_not_valid(self): form = AddressActivationForm({'email': 'les@example'}) self.assertFalse(form.is_valid())
def test_email_used_by_django_auth_is_invalid(self): form = AddressActivationForm({'email': '*****@*****.**'}) self.assertFalse(form.is_valid())
def test_valid_email_is_valid(self): form = AddressActivationForm({'email': '*****@*****.**'}) self.assertTrue(form.is_valid())