def test_valid_email_and_name_valid(self): form = InviteHomebuyerForm({ 'email': '*****@*****.**', 'first_name': 'first', 'last_name': 'last', }) self.assertTrue(form.is_valid())
def _realtor_get(self, request, realtor, *args, **kwargs): couples, pending_couples = realtor.get_couples_and_pending_couples() invite_form = InviteHomebuyerForm() context = { 'form': AddRealtorHomeForm(), 'couples': couples, 'pending_couples': pending_couples, 'invite_form': invite_form, 'realtor': realtor, } return render(request, self.realtor_template_name, context)
def test_email_user_already_exists_invalid(self): form = InviteHomebuyerForm({ 'email': '*****@*****.**', }) self.assertFalse(form.is_valid()) self.assertIn('email', form.errors)
def test_incorrect_email_format_invalid(self): form = InviteHomebuyerForm({ 'email': 'FOO', }) self.assertFalse(form.is_valid()) self.assertIn('email', form.errors)
def test_empty_form_invalid(self): form = InviteHomebuyerForm({}) self.assertFalse(form.is_valid()) self.assertIn('email', form.errors) self.assertIn('first_name', form.errors) self.assertIn('last_name', form.errors)
def _realtor_post(self, request, realtor, *args, **kwargs): invite_form = InviteHomebuyerForm() if "id" in request.POST: couple = Couple.objects.get(id=int(request.POST["id"])) nickname = request.POST['nickname'] if House.objects.filter( couple=couple, nickname=nickname).exists(): error = (u"House '{nickname}' already exists" .format(nickname=nickname)) messages.error(request, error) else: House.objects.create(couple=couple, nickname=nickname, address=request.POST["address"]) messages.success( request, "House '{nickname}' added".format(nickname=nickname)) else: invite_form = InviteHomebuyerForm(request.POST) if invite_form.is_valid(): cleaned_data = invite_form.cleaned_data first_pending_hb = PendingHomebuyer( first_name=cleaned_data['homebuyer1_first'], last_name=cleaned_data['homebuyer1_last'], email=cleaned_data['homebuyer1_email']) second_pending_hb = PendingHomebuyer( first_name=cleaned_data['homebuyer2_first'], last_name=cleaned_data['homebuyer2_last'], email=cleaned_data['homebuyer2_email']) pending_couple = PendingCouple(realtor=request.user.realtor) email_success = all([ first_pending_hb.send_email_invite(request), second_pending_hb.send_email_invite(request) ]) if not email_success: messages.error(request, "Failed to send email invitations") return redirect(reverse(settings.LOGIN_REDIRECT_URL)) with transaction.atomic(): pending_couple.save() first_pending_hb.pending_couple = pending_couple second_pending_hb.pending_couple = pending_couple first_pending_hb.save() second_pending_hb.save() success_msg = ( "Email invitations sent to '{first}' and '{second}'" .format(first=escape(unicode(first_pending_hb)), second=escape(unicode(second_pending_hb)))) messages.success(request, success_msg) return redirect(reverse(settings.LOGIN_REDIRECT_URL)) couples, pending_couples = realtor.get_couples_and_pending_couples() context = { 'couples': couples, 'pending_couples': pending_couples, 'form': AddRealtorHomeForm(), 'invite_form': invite_form, 'realtor': realtor, } return render(request, self.realtor_template_name, context)