Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
api/rest.py | 7 +++++++
mods/testing.py | 8 +++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/api/rest.py b/api/rest.py
index 22d7c98..4132e38 100644
--- a/api/rest.py
+++ b/api/rest.py
@@ -173,6 +173,13 @@ class ProjectSerializer(serializers.HyperlinkedModelSerializer):
series = HyperlinkedIdentityField(view_name='series-list', lookup_field='pk',
lookup_url_kwarg='projects_pk')
+ def get_fields(self):
+ fields = super(ProjectSerializer, self).get_fields()
+ request = self.context['request']
+ dispatch_module_hook("rest_project_fields_hook", request=request,
+ fields=fields)
+ return fields
+
class ProjectsViewSet(viewsets.ModelViewSet):
queryset = Project.objects.all().order_by('id')
serializer_class = ProjectSerializer
diff --git a/mods/testing.py b/mods/testing.py
index 98216d4..e68ab11 100644
--- a/mods/testing.py
+++ b/mods/testing.py
@@ -20,7 +20,7 @@ import math
from api.views import APILoginRequiredView
from api.models import (Message, MessageProperty, MessageResult,
Project, ProjectResult, Result)
-from api.rest import reverse_detail
+from api.rest import PluginMethodField, reverse_detail
from api.search import SearchEngine
from event import emit_event, declare_event, register_handler
from patchew.logviewer import LogView
@@ -385,6 +385,12 @@ class TestingModule(PatchewModule):
ret[name] = v
return ret
+ def get_testing_probes(self, project, request, format):
+ return self.get_capability_probes(project)
+
+ def rest_project_fields_hook(self, request, fields):
+ fields['testing_probes'] = PluginMethodField(obj=self)
+
def tester_check_in(self, project, tester):
assert project
assert tester
--
2.17.1
_______________________________________________
Patchew-devel mailing list
Patchew-devel@redhat.com
https://www.redhat.com/mailman/listinfo/patchew-devel