def test_response_for_format(self): self._publish_xlsx_file() xform = XForm.objects.filter().last() self.assertIsNotNone(xform) self.assertIsInstance(response_for_format(xform).data, dict) self.assertIsInstance(response_for_format(xform, 'json').data, dict) self.assertTrue(hasattr( response_for_format(xform, 'xls').data, 'file')) xform.xls.storage.delete(xform.xls.name) with self.assertRaises(Http404): response_for_format(xform, 'xls')
def test_response_for_format(self): """ Test response format type. """ self._publish_xlsx_file() xform = XForm.objects.filter().last() self.assertIsNotNone(xform) self.assertIsInstance(response_for_format(xform).data, dict) self.assertIsInstance(response_for_format(xform, 'json').data, dict) self.assertTrue( hasattr(response_for_format(xform, 'xls').data, 'file')) xform.xls.storage.delete(xform.xls.name) with self.assertRaises(Http404): response_for_format(xform, 'xls')
def form(self, request, format='json', **kwargs): form = self.get_object() if format not in ['json', 'xml', 'xls', 'csv']: return HttpResponseBadRequest('400 BAD REQUEST', content_type='application/json', status=400) self.etag_data = '{}'.format(form.date_modified) filename = form.id_string + "." + format response = response_for_format(form, format=format) response['Content-Disposition'] = 'attachment; filename=' + filename return response
def form(self, request, format='json', **kwargs): dataview = self.get_object() xform = dataview.xform if format not in ['json', 'xml', 'xls']: return HttpResponseBadRequest('400 BAD REQUEST', content_type='application/json', status=400) filename = xform.id_string + "." + format response = response_for_format(xform, format=format) response['Content-Disposition'] = 'attachment; filename=' + filename return response
def form(self, request, format='json', **kwargs): form = self.get_object() if format not in ['json', 'xml', 'xls', 'csv']: return HttpResponseBadRequest('400 BAD REQUEST', content_type='application/json', status=400) self.etag_data = '{}'.format(form.date_modified) filename = form.id_string + "." + format response = response_for_format(form, format=format) response['Content-Disposition'] = 'attachment; filename=' + filename return response
def form(self, request, format='json', **kwargs): dataview = self.get_object() xform = dataview.xform if format not in ['json', 'xml', 'xls']: return HttpResponseBadRequest('400 BAD REQUEST', content_type='application/json', status=400) filename = xform.id_string + "." + format response = response_for_format(xform, format=format) response['Content-Disposition'] = 'attachment; filename=' + filename return response
def versions(self, request, *args, **kwargs): xform = self.get_object() version_id = kwargs.get('version_id') requested_format = kwargs.get('format') or 'json' if not version_id: queryset = XFormVersion.objects.filter(xform=xform) serializer = XFormVersionListSerializer( queryset, many=True, context={'request': request}) return Response( data=serializer.data, status=status.HTTP_200_OK) if version_id: version = get_object_or_404( XFormVersion, version=version_id, xform=xform) return response_for_format(version, format=requested_format)