Ejemplo n.º 1
0
 def handle_request(self):
     self.template = self.kwargs["template"]
     self.form = InitialConfigurationForm()
     if self.request.method == "POST":
         args_dict = self.request.POST
         args_dict._mutable = True
         args_dict["slug"], args_dict["fields"] = slugify(args_dict["name"]), data_to_pickle(DEFAULT_FORM_DATA)
         self.form = InitialConfigurationForm(args_dict)
         if self.form.is_valid():
             self.form.save()
             return HttpResponseRedirect(reverse("configureform", args=[args_dict["slug"], "1"]))
     return render_to_response(self.template, self.__dict__, context_instance=RequestContext(self.request))
Ejemplo n.º 2
0
    def post_form(self):

        form_object = FormConfiguration.objects.get(slug=self.slug)
        field_dict = pickle_to_data(form_object.fields)
        args_dict = self.request.POST
        field_dict["fields"][FORM_WORKFLOW[self.type]["label"]] = self.add_option_fields(
            self.request.POST.getlist("options")
        )
        field_dict = self.get_extra_fields(field_dict)
        if self.request.POST.get("delete_fields"):
            for label in self.request.POST.getlist("delete_fields"):
                field_dict = self.delete_extra_fields(label, field_dict)
        form_object.fields = data_to_pickle(field_dict)
        form_object.save()
        return HttpResponseRedirect(reverse("configureform", args=[self.slug, self.next]))