def get_form_class_kwargs(self): factory = FormFieldFactory( field_map={'file': self.ValidationFileFieldBuilder}) return { 'role': get_context(self.request, self.kwargs), 'field_factory': factory, }
def get_form_class(self, formidable): """ Retrieve form class from JSON definition, for a given role. """ role = get_context(self.request, self.kwargs) factory = field_builder.FormFieldFactory( field_map={'file': self.ValidationFileFieldBuilder}) schema = contextualize(formidable, role) return get_dynamic_form_class_from_schema(schema, field_factory=factory)
def get(self, request, **kwargs): try: formidable = self.get_formidable_object(kwargs) except Formidable.DoesNotExist: raise exceptions.Http404() role = get_context(request, kwargs) form_class = formidable.get_django_form_class(role) form = form_class(data=request.GET) if form.is_valid(): return Response(status=204) else: return Response(form.errors, status=400)
def get_serializer_context(self): context = super(ContextFormDetail, self).get_serializer_context() context['role'] = get_context(self.request, self.kwargs) return context