Skip to content

Instantly share code, notes, and snippets.

@fhdez
Created August 2, 2018 17:34
Show Gist options
  • Save fhdez/6f82f3a83c8596b01bb59b35213306a1 to your computer and use it in GitHub Desktop.
Save fhdez/6f82f3a83c8596b01bb59b35213306a1 to your computer and use it in GitHub Desktop.
class ActivityRecordViewSet(GenericViewSet):
#omit code
@detail_route(
methods=['GET'],
permission_classes=[DirectorPermission])
def csv(self, request, pk, *args, **kwargs):
"""
Download a report of a domain complete or period
---
omit_serializer: true
responseMessages:
- code: 200
message: OK
- code: 403
message: FORBIDDEN
- code: 404
message: NOT FOUND
- code: 500
message: INTERNAL SERVER ERROR
consumes:
- application/json
produces:
- application/json
"""
date_since = request.GET.get('datesince', None)
date_to = request.GET.get('dateto', None)
verbs = request.GET.get(
'verb', settings.CUSTOM_ACTIONS.values()
)
file_task=generate_file.delay(pk, verbs, date_since, date_to)
return Response({"task_id": file_task.task_id }, status=status.HTTP_200_OK)
class ActivityDownloadViewSet(GenericViewSet):
permission_classes=[DirectorPermission]
def post(self, request, *args, **kwargs):
task_id=request.data.get('task_id')
result = task_.AsyncResult(task_id)
if result.ready():
#el return ya es un HttpResponse, pero no se si sirva para salir del ciclo
return result.get()
return Response({"status": False }, status=status.HTTP_400_BAD_REQUEST)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment