def post(self, request, namespace=None, report_slug=None): # handle REST calls if report_slug is None: return self.http_method_not_allowed(request) logger.debug("Received POST for report %s, with params: %s" % (report_slug, request.POST)) try: report = Report.objects.get(slug=report_slug) except: raise Http404 fields_by_section = report.collect_fields_by_section() all_fields = SortedDict() [all_fields.update(c) for c in fields_by_section.values()] form = TableFieldForm(all_fields, hidden_fields=report.hidden_fields, data=request.POST, files=request.FILES) response = [] for field in form.dynamic_fields(): response.append({'id': field.auto_id, 'html': str(field)}) return HttpResponse(json.dumps(response))