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))
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]))