def test_get_form_list(self): list_ = get_form_list() self.assertEquals(len(list_), len(self.wizard_forms_fields)) for step in list_: f = step() self.assertIsInstance(f, forms.Form) self.assertGreater(len(f.fields), 0)
def test_get_texts_for_forms(self): list_ = get_form_list() for step in list_: f = step() for field in f.fields: self.assertTrue(f.explanation_template) self.assertTrue(f.fields[field].widget.attrs['long_text'])
def get_form_list(self): form_list = OrderedDict() previous_forms = self.get_previous_forms() my_list = previous_forms + get_form_list(user=self.request.user) counter = 0 for form_class in my_list: form_list[str(counter)] = form_class counter += 1 self.form_list = form_list return form_list
def test_user_should_accept_terms_and_conditions(self): list_ = get_form_list() form_class = list_[-1] test_response = self.get_example_data_for_post() data = test_response[len(test_response) - 1] for key in data.keys(): if 'terms_and_conditions' in key: data[key] = False form = form_class(data=data) self.assertFalse(form.is_valid()) for key in data.keys(): if 'terms_and_conditions' in key: data[key] = True form = form_class(data=data) self.assertTrue(form.is_valid())
def test_get_form_list_depending_on_user(self): def return_none(user=None): return None def return_boolean_field(user=None): if user == self.feli: return forms.BooleanField() return None form_fields = [{ 'template': 'popular_proposal/wizard/paso5.html', 'explation_template': "popular_proposal/steps/p.html", 'fields': OrderedDict([('test', return_boolean_field), ('testb', return_none)]) }] list_ = get_form_list(form_fields, user=self.feli) all_fields = list_[0].base_fields.items() self.assertEquals(all_fields[0][0], 'test') test_field = all_fields[0][1] self.assertIsInstance(test_field, forms.BooleanField) self.assertEquals(len(all_fields), 1)
def test_get_texts_for_forms(self): list_ = get_form_list() for step in list_: f = step() for field in f.fields: self.assertTrue(f.explanation_template)
from popular_proposal.forms import ( get_form_list, ) from django.views.generic.edit import CreateView, UpdateView from votita.models import KidsProposal, KidsGathering from django.forms import inlineformset_factory, ChoiceField from django.views.generic.base import View from django.shortcuts import render_to_response, redirect from django.core.urlresolvers import reverse from django.views.generic.detail import DetailView from django.contrib.auth.mixins import LoginRequiredMixin from django.views.generic.list import ListView from django.conf import settings from votainteligente.views import HomeViewBase from django.db.models import Count wizard_form_list = get_form_list(wizard_forms_fields=wizard_forms_fields) class VotitaLoginRequiredMixin(LoginRequiredMixin): def get_login_url(self): votita_urlconf = 'votita.stand_alone_urls' if settings.ROOT_URLCONF == votita_urlconf or ( hasattr(self.request, 'urlconf') and self.request.urlconf == votita_urlconf): return reverse('votita_auth:login') return reverse('auth_login') class VotitaWizard(ProposalWizardBase): form_list = wizard_form_list template_name = 'popular_proposal/wizard/form_step.html'
context = super(HomeView, self).get_context_data(**kwargs) initial = self.request.GET context['form'] = ProposalFilterForm(initial=initial) return context def get_context_object_name(self, object_list): return 'popular_proposals' class PopularProposalDetailView(EmbeddedViewBase, DetailView): model = PopularProposal template_name = 'popular_proposal/detail.html' context_object_name = 'popular_proposal' wizard_form_list = get_form_list() class ProposalWizardBase(SessionWizardView): form_list = wizard_form_list template_name = 'popular_proposal/wizard/form_step.html' def get_template_names(self): form = self.get_form(step=self.steps.current) template_name = getattr(form, 'template', self.template_name) return template_name def get_previous_forms(self): return [] def get_form_list(self):
return 'popular_proposals' class PopularProposalDetailView(DetailView): model = PopularProposal template_name = 'popular_proposal/detail.html' context_object_name = 'popular_proposal' layout = 'base.html' def get_context_data(self, *args, **kwargs): context = super(PopularProposalDetailView, self).get_context_data(*args, **kwargs) context['layout'] = self.layout return context wizard_form_list = get_form_list() class ProposalWizardBase(SessionWizardView): form_list = wizard_form_list template_name = 'popular_proposal/wizard/form_step.html' def get_template_names(self): form = self.get_form(step=self.steps.current) template_name = getattr(form, 'template', self.template_name) return template_name def get_previous_forms(self): return [] def get_form_list(self):
from popular_proposal.forms import (get_form_list,) from django.views.generic.edit import CreateView, UpdateView from votita.models import KidsProposal, KidsGathering from django.forms import inlineformset_factory, ChoiceField from django.views.generic.base import View from django.shortcuts import render_to_response, redirect from django.core.urlresolvers import reverse from django.views.generic.detail import DetailView from django.contrib.auth.mixins import LoginRequiredMixin from django.views.generic.list import ListView from django.conf import settings from votai_utils.views import HomeViewBase from django.db.models import Count wizard_form_list = get_form_list(wizard_forms_fields=wizard_forms_fields) class VotitaLoginRequiredMixin(LoginRequiredMixin): def get_login_url(self): votita_urlconf = 'votita.stand_alone_urls' if settings.ROOT_URLCONF == votita_urlconf or (hasattr(self.request, 'urlconf') and self.request.urlconf == votita_urlconf): return reverse('votita_auth:login') return reverse('auth_login') class VotitaWizard(ProposalWizardBase): form_list = wizard_form_list template_name = 'popular_proposal/wizard/form_step.html'