def subscriptionview(request): if request.method == 'POST': # create a form instance and populate it with data from the request: form = SubscriptionForm(request.POST) # establish initial values email = '' phone = '' gpu_list = None subscriber = None # if form is valid then populate values if form.is_valid(): if form.cleaned_data.__contains__('email'): email = form.cleaned_data['email'] if form.cleaned_data.__contains__('phone'): phone = form.cleaned_data['phone'] if form.cleaned_data.__contains__('gpus'): gpu_list = form.cleaned_data['gpus'] # otherwise return and inform user of invalid form else: return render(request, 'suboverview.html', {'form': form}) # scold user if email and phone are both empty if email == '' and phone == '': messages.error( request, 'At least one of email or phone is required for un/re/subscription.' ) return render(request, 'suboverview.html', {'form': form}) # otherwise query the subscriber with the provided info else: subscriber = Subscriber.objects.filter( Q(email=email) | Q(phone=phone)) # retrieve number of subscribers with this info (should be <= 2) subcount = subscriber.count() # process unsubscription request if 'unsubscribe' in request.POST: unsubscribe(subcount, request, subscriber) # process re/subscription request elif 'subscribe' in request.POST: subscribe(subcount, request, subscriber, gpu_list, form, email, phone) # if a GET (or any other method) we'll create a blank form else: form = SubscriptionForm() return render(request, 'suboverview.html', {'form': form})
def test_must_inform_email_or_phone(self): form = SubscriptionForm({ 'name': 'User', 'cpf': '01234567891', }) self.assertFalse(form.is_valid()) self.assertTrue(form.errors.get('__all__'))
def make_validated_form(self, **kwargs): valid = dict(name='Fabio Oliveira', cpf='12345678901', email='*****@*****.**', phone='21-99186180') data = dict(valid, **kwargs) form = SubscriptionForm(data) form.is_valid() return form
def new(request): form = SubscriptionForm(initial={ 'name': 'Entre o seu nome', 'cpf': 'Digite o seu CPF sem pontos', 'email': 'Informe o seu email', 'phone': '21-96186180', }) context = RequestContext(request, {'form': form}) return render_to_response('subscriptions/new.html', context)
def creates_a_subscription_for_the_subscriber_to_the_feed(self): form = SubscriptionForm({'subscriber': self.subscriber.pk, 'feed_record': self.feed_record.pk}) assert form.is_valid(), 'The form had errors: %r' % (form.errors,) form.save() subscription = self.subscriber.subscription(self.feed, self.library) assert subscription is not None
def test_valid_subscription_form_data(self): form = SubscriptionForm({ 'credit_card_number': "4242424242424242", 'cvv': "123", 'expiry_month': '11', 'expiry_year': '2025', 'stripe_id': 'tok_visa' }) self.assertTrue(form.is_valid())
def test_returns_error_if_cpf_is_not_all_digits(self): form = SubscriptionForm({ 'name': 'User', 'cpf': '0123456789a', 'email': '*****@*****.**', 'phone': '555-78376', }) self.assertFalse(form.is_valid()) #self.assertIn('cpf', form.errors) self.assertTrue(form.errors.get('cpf'))
def test_returns_error_with_less_than_11_digits_in_cpf(self): form = SubscriptionForm({ 'name': 'User', 'cpf': '123456789', 'email': '*****@*****.**', 'phone': '555-78376', }) self.assertFalse(form.is_valid()) #self.assertIn('cpf', form.errors) self.assertTrue(form.errors.get('cpf'))
def make_validated_form(self, **kwargs): valid = dict(name='Victor', cpf='11122233344', email='*****@*****.**', phone='(21) 2222-3333') data = dict(valid, **kwargs) form = SubscriptionForm(data) form.is_valid() return form
def create(request): form = SubscriptionForm(request.POST) # receive the data of form. if not form.is_valid(): return render(request, 'subscriptions/subscription_form.html', {'form': form}) subscription = form.save() _send_mail('Confirmação de inscrição', settings.DEFAULT_FROM_EMAIL, subscription.email, 'subscriptions/subscription_email.txt', {'subscription': subscription}) return HttpResponseRedirect(r('subscriptions:detail', subscription.pk))
def create(request): form = SubscriptionForm(request.POST) if not form.is_valid(): context = RequestContext(request, {'form': form}) return render_to_response('subscriptions/new.html', context) s = Subscription() s.name = form.cleaned_data['name'] s.cpf = form.cleaned_data['cpf'] s.email = form.cleaned_data['email'] s.phone = form.cleaned_data['phone'] s.save() # notifica o cadastro send_subscription_email(s) return HttpResponseRedirect(reverse('subscriptions:success', args=[ s.pk ]))
def test_form_has_fields(self): """Form must have 4 fields. """ form = SubscriptionForm() expected = ['name', 'cpf', 'email', 'phone'] self.assertSequenceEqual(expected, list(form.fields))
def get_context_data(self, **kwargs): context = super(IndexView, self).get_context_data() config = SiteConfiguration.get_solo() if config.show_site: context['subscribe_form'] = SubscriptionForm() return context
def test_if_form_has_no_paid_field(self): form = SubscriptionForm() self.assertFalse(form.fields.get('paid'))
def empty_form(request): return render(request, 'subscriptions/subscription_form.html', {'form': SubscriptionForm()})
def setUp(self): self.form = SubscriptionForm()