Exemple #1
0
    def test_field_validate_slug_names(self):
        form = Form.objects.create(title="Test")
        field = Field(form=form, label="First name", field_type=NAMES[0][0])
        field.save()
        self.assertEqual(field.slug, 'first_name')

        field_2 = Field(form=form, label="First name", field_type=NAMES[0][0])
        try:
            field_2.save()
        except IntegrityError:
            self.fail("Slugs were not auto-unique")
Exemple #2
0
 def test_field_validate_slug_length(self):
     max_slug_length = 2000
     form = Form.objects.create(title="Test")
     field = Field(form=form,
                   label='x' * (max_slug_length + 1), field_type=NAMES[0][0])
     field.save()
     self.assertLessEqual(len(field.slug), max_slug_length)
    def post(self, request):
        print(request.POST)
        form1 = CreateField(request.POST, prefix="1")

        context = {
            "no_of_fields": request.session["no_of_fields"]
        }
        namelist = []
        argsdict = {}
        booltmp = True
        for i in range(0, request.session["no_of_fields"]):
            tmp = "form" + str(i)
            namelist.append(tmp)
            tmpform = CreateField(request.POST, prefix=tmp)
            argsdict[tmp] = tmpform
            if not tmpform.is_valid():
                booltmp = False

        context["namelist"] = namelist
        context["argsdict"] = argsdict
        if booltmp is False:
            return render(request, self.template_name, context)

        for i in range(0, request.session["no_of_fields"]):
            tmp = "form" + str(i)
            tmpform = argsdict[tmp]
            label = tmpform.cleaned_data.get('label')

            field_type = tmpform.cleaned_data.get('field_type')
            required = tmpform.cleaned_data.get('required')
            default = tmpform.cleaned_data.get('default')
            placeholder_text = tmpform.cleaned_data.get('placeholder_text')
            help_text = tmpform.cleaned_data.get('help_text')
            choices = tmpform.cleaned_data.get('choices')

            f = Field()
            f.form = Form.objects.get(id=request.session["formid"])
            f.label = label
            f.field_type = field_type
            f.required = required
            f.default = default
            f.placeholder_text = placeholder_text
            f.help_text = help_text
            f.choices = choices
            f.save()

        return redirect('forms:main')