diff --git a/lib/workload/stateless/stacks/sequence-run-manager/sequence_run_manager/viewsets/comment.py b/lib/workload/stateless/stacks/sequence-run-manager/sequence_run_manager/viewsets/comment.py index 3be718e16..78cc8a108 100644 --- a/lib/workload/stateless/stacks/sequence-run-manager/sequence_run_manager/viewsets/comment.py +++ b/lib/workload/stateless/stacks/sequence-run-manager/sequence_run_manager/viewsets/comment.py @@ -15,6 +15,7 @@ class CommentViewSet(mixins.CreateModelMixin, mixins.UpdateModelMixin, mixins.Li search_fields = Comment.get_base_fields() http_method_names = ['get', 'post', 'patch', 'delete'] pagination_class = None + lookup_value_regex = "[^/]+" # to allow id prefix def get_queryset(self): return Comment.objects.filter( @@ -41,16 +42,11 @@ def create(self, request, *args, **kwargs): # Add workflow_run_id to the request data mutable_data = request.data.copy() mutable_data['association_id'] = seq_orcabus_id - - serializer = self.get_serializer(data=mutable_data) - serializer.is_valid(raise_exception=True) - self.perform_create(serializer) + comment_obj = Comment.objects.create( **mutable_data) + serializer = self.get_serializer(comment_obj) headers = self.get_success_headers(serializer.data) return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) - def perform_create(self, serializer): - serializer.save() # Assuming you're using email as the user identifier - def update(self, request, *args, **kwargs): partial = kwargs.pop('partial', False) instance = self.get_object() diff --git a/lib/workload/stateless/stacks/sequence-run-manager/sequence_run_manager/viewsets/state.py b/lib/workload/stateless/stacks/sequence-run-manager/sequence_run_manager/viewsets/state.py index 109e0f3ff..4cd0ec798 100644 --- a/lib/workload/stateless/stacks/sequence-run-manager/sequence_run_manager/viewsets/state.py +++ b/lib/workload/stateless/stacks/sequence-run-manager/sequence_run_manager/viewsets/state.py @@ -9,6 +9,7 @@ class StateViewSet(mixins.ListModelMixin, GenericViewSet): serializer_class = StateSerializer search_fields = State.get_base_fields() pagination_class = None + lookup_value_regex = "[^/]+" # to allow id prefix def get_queryset(self): return State.objects.filter(sequence=self.kwargs["orcabus_id"]) diff --git a/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/state.py b/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/state.py index dbb53441a..381850bad 100644 --- a/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/state.py +++ b/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/state.py @@ -15,6 +15,7 @@ class StateViewSet(mixins.CreateModelMixin, mixins.UpdateModelMixin, mixins.List search_fields = State.get_base_fields() http_method_names = ['get', 'post', 'patch'] pagination_class = None + lookup_value_regex = "[^/]+" # to allow id prefix """ valid_states_map for state creation, update diff --git a/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/workflow_run_comment.py b/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/workflow_run_comment.py index 25eb58e06..fd7c7bb17 100644 --- a/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/workflow_run_comment.py +++ b/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/workflow_run_comment.py @@ -14,6 +14,7 @@ class WorkflowRunCommentViewSet(mixins.CreateModelMixin, mixins.UpdateModelMixin search_fields = WorkflowRunComment.get_base_fields() http_method_names = ['get', 'post', 'patch', 'delete'] pagination_class = None + lookup_value_regex = "[^/]+" # to allow id prefix def get_queryset(self): return WorkflowRunComment.objects.filter( diff --git a/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/workflow_run_stats.py b/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/workflow_run_stats.py index 11c2d7ef7..73e3cc343 100644 --- a/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/workflow_run_stats.py +++ b/lib/workload/stateless/stacks/workflow-manager/workflow_manager/viewsets/workflow_run_stats.py @@ -13,6 +13,7 @@ class WorkflowRunStatsViewSet(mixins.ListModelMixin, GenericViewSet): serializer_class = WorkflowRunDetailSerializer pagination_class = None # No pagination by default http_method_names = ['get'] + lookup_value_regex = "[^/]+" # to allow id prefix def get_queryset(self): """