def patch(self, request, pk, workspace_id): """ Assign data to a workspace. Args: request: pk: workspace_id: Returns: """ try: # Get object data_object = self.get_object(request, pk) workspace_object = self.get_workspace(workspace_id) # Assign data to workspace data_api.assign(data_object, workspace_object, request.user) return Response({}, status=status.HTTP_200_OK) except Http404: content = {'message': 'Data or workspace not found.'} return Response(content, status=status.HTTP_404_NOT_FOUND) except AccessControlError as ace: content = {'message': ace.message} return Response(content, status=status.HTTP_403_FORBIDDEN) except Exception as api_exception: content = {'message': api_exception.message} return Response(content, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def patch(self, request, pk, workspace_id): """ Assign Data to a Workspace Args: request: HTTP request pk: ObjectId workspace_id: ObjectId Returns: - code: 200 content: None - code: 403 content: Authentication error - code: 404 content: Object was not found - code: 500 content: Internal server error """ try: # Get object data_object = self.get_object(request, pk) workspace_object = self.get_workspace(workspace_id) # Assign data to workspace data_api.assign(data_object, workspace_object, request.user) return Response({}, status=status.HTTP_200_OK) except Http404: content = {'message': 'Data or workspace not found.'} return Response(content, status=status.HTTP_404_NOT_FOUND) except AccessControlError as ace: content = {'message': str(ace)} return Response(content, status=status.HTTP_403_FORBIDDEN) except Exception as api_exception: content = {'message': str(api_exception)} return Response(content, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
if workspace_id is None or workspace_id == '': workspace = None else: try: workspace = workspace_api.get_by_id(str(workspace_id)) except DoesNotExist: return HttpResponseBadRequest( "The selected workspace does not exist anymore.") except Exception, exc: return HttpResponseBadRequest("Something wrong happened.") for data_id in document_ids: try: data_workspace_api.assign( data_api.get_by_id(data_id, request.user), workspace, request.user) except AccessControlError, ace: return HttpResponseBadRequest(ace.message) except Exception, exc: return HttpResponseBadRequest("Something wrong happened.") return HttpResponse(json.dumps({}), content_type='application/javascript') class LoadFormChangeWorkspace(View): """ Load the form to list the workspaces. """ show_global_workspace = True def post(self, request, *args, **kwargs):