Skip to content
Snippets Groups Projects
Commit ab6ff76f authored by Nico Vermaas's avatar Nico Vermaas
Browse files

get rid of new_workflow_uri and new_workflow_id in models.py

parent 332e4fe1
No related branches found
No related tags found
No related merge requests found
Pipeline #8721 passed
...@@ -24,7 +24,7 @@ class LogEntrySerializer(serializers.ModelSerializer): ...@@ -24,7 +24,7 @@ class LogEntrySerializer(serializers.ModelSerializer):
fields = "__all__" fields = "__all__"
class TaskSerializer(serializers.ModelSerializer): class TaskWriteSerializer(serializers.ModelSerializer):
status_history = serializers.StringRelatedField( status_history = serializers.StringRelatedField(
many=True, many=True,
...@@ -79,6 +79,34 @@ class TaskSerializer(serializers.ModelSerializer): ...@@ -79,6 +79,34 @@ class TaskSerializer(serializers.ModelSerializer):
task.save() task.save()
return task return task
class TaskReadSerializer(serializers.ModelSerializer):
status_history = serializers.StringRelatedField(
many=True,
required=False,
)
log_entries = serializers.StringRelatedField(
many=True,
required=False
)
successors = serializers.StringRelatedField(
many=True,
required=False,
)
class Meta:
model = Task
fields = ('id','task_type','filter','predecessor','successors',
'project','sas_id','priority','purge_policy','resume',
'workflow',
'stage_request_id',
'status','new_status',
'inputs','outputs','metrics','status_history',
'log_entries'
)
class StatusSerializer(serializers.ModelSerializer): class StatusSerializer(serializers.ModelSerializer):
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
</div> </div>
{% include 'taskdatabase/pagination.html' %} {% include 'taskdatabase/pagination.html' %}
</div> </div>
<p class="footer"> Version 1.0.0 (1 feb 2021 - 17:00) <p class="footer"> Version 1.0.0 (2 feb 2021 - 7:00)
<script type="text/javascript"> <script type="text/javascript">
(function(seconds) { (function(seconds) {
var refresh, var refresh,
......
...@@ -14,7 +14,7 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger ...@@ -14,7 +14,7 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from .models import Task, Status, Workflow, LogEntry from .models import Task, Status, Workflow, LogEntry
from django.db.models import Q from django.db.models import Q
from .serializers import TaskSerializer, WorkflowSerializer, LogEntrySerializer from .serializers import TaskWriteSerializer, TaskReadSerializer, WorkflowSerializer, LogEntrySerializer
from .forms import FilterForm from .forms import FilterForm
from .services import algorithms from .services import algorithms
...@@ -132,12 +132,17 @@ class TaskListViewAPI(generics.ListCreateAPIView): ...@@ -132,12 +132,17 @@ class TaskListViewAPI(generics.ListCreateAPIView):
""" """
model = Task model = Task
queryset = Task.objects.all() queryset = Task.objects.all()
serializer_class = TaskSerializer #serializer_class = TaskSerializer
# using the Django Filter Backend - https://django-filter.readthedocs.io/en/latest/index.html # using the Django Filter Backend - https://django-filter.readthedocs.io/en/latest/index.html
filter_backends = (filters.DjangoFilterBackend,) filter_backends = (filters.DjangoFilterBackend,)
filter_class = TaskFilter filter_class = TaskFilter
def get_serializer_class(self):
if self.request.method in ['GET']:
return TaskReadSerializer
else:
return TaskWriteSerializer
# example: /atdb/tasks/5/ # example: /atdb/tasks/5/
# calling this view serializes a task in the REST API # calling this view serializes a task in the REST API
...@@ -147,8 +152,13 @@ class TaskDetailsViewAPI(generics.RetrieveUpdateDestroyAPIView): ...@@ -147,8 +152,13 @@ class TaskDetailsViewAPI(generics.RetrieveUpdateDestroyAPIView):
""" """
model = Task model = Task
queryset = Task.objects.all() queryset = Task.objects.all()
serializer_class = TaskSerializer # serializer_class = TaskSerializer
def get_serializer_class(self):
if self.request.method in ['GET']:
return TaskReadSerializer
else:
return TaskWriteSerializer
# example: /atdb/workflows/ # example: /atdb/workflows/
class WorkflowListViewAPI(generics.ListCreateAPIView): class WorkflowListViewAPI(generics.ListCreateAPIView):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment