コード例 #1
0
ファイル: views.py プロジェクト: andrew-terpolovsky/teamapp
 def permission_denied(self, request, message=None):
     print dir(request), request.data, request.query_params, message
     reason = {'reason': message}
     if isinstance(message, tuple):
         if message[0] == 'tasks_not_closed':
             reason = {'reason': message[0]}
             tasks = TaskSerializer(
                 message[1].channel_tasks.filter(~Q(status=3)), many=True)
             reason['tasks'] = JSONRenderer().render(tasks.data)
     reason = JSONRenderer().render(reason)
     permission_denied = PermissionDenied(reason)
     permission_denied.status_code = HTTP_412_PRECONDITION_FAILED
     raise permission_denied
コード例 #2
0
ファイル: jobs.py プロジェクト: thomasrosnet/waves-core
 def cancel(self, request, unique_id):
     """
     Update Job according to requested action
     """
     job = self.get_object()
     if job.client != self.request.user:
         return HttpResponseForbidden("Action not allowed")
     try:
         job.run_cancel()
     except JobInconsistentStateError as e:
         perm = PermissionDenied(detail=e.message)
         perm.status_code = status.HTTP_405_METHOD_NOT_ALLOWED
         raise perm
     return Response({'success': 'Job marked as cancelled'},
                     status=status.HTTP_202_ACCEPTED)