diff --git a/app/pulp/app/models/base.py b/app/pulp/app/models/base.py index 8272c3ce50..c9b7bd0272 100644 --- a/app/pulp/app/models/base.py +++ b/app/pulp/app/models/base.py @@ -142,4 +142,6 @@ def master_model(options): except IndexError: # Also None if this model is itself the master. return None + + options.Options.master_model = property(master_model) diff --git a/app/pulp/app/serializers/repository.py b/app/pulp/app/serializers/repository.py index 569ab78a47..51b0a18a8e 100644 --- a/app/pulp/app/serializers/repository.py +++ b/app/pulp/app/serializers/repository.py @@ -42,6 +42,12 @@ class Meta: class RepositoryGroupSerializer(ModelSerializer): + + _href = serializers.HyperlinkedIdentityField( + view_name='repo_groups-detail', + lookup_field='name', + ) + name = serializers.CharField( help_text='A unique name for this repository group.' ) diff --git a/app/pulp/app/viewsets/__init__.py b/app/pulp/app/viewsets/__init__.py index 48d8713c68..0dc32ec9c2 100644 --- a/app/pulp/app/viewsets/__init__.py +++ b/app/pulp/app/viewsets/__init__.py @@ -1,6 +1,6 @@ from pulp.app.viewsets.base import NamedModelViewSet # NOQA from pulp.app.viewsets.content import ContentViewSet # NOQA from pulp.app.viewsets.repository import (ImporterViewSet, PublisherViewSet, # NOQA - RepositoryViewSet) # NOQA + RepositoryViewSet, RepositoryGroupViewSet) # NOQA from pulp.app.viewsets.task import TaskViewSet, WorkerViewSet # NOQA from pulp.app.viewsets.user import UserViewSet # NOQA diff --git a/app/pulp/app/viewsets/repository.py b/app/pulp/app/viewsets/repository.py index c08fef5a2f..522e60369c 100644 --- a/app/pulp/app/viewsets/repository.py +++ b/app/pulp/app/viewsets/repository.py @@ -1,10 +1,10 @@ from django_filters.rest_framework import filters, filterset from rest_framework import decorators, pagination -from pulp.app.models import Importer, Publisher, Repository +from pulp.app.models import Importer, Publisher, Repository, RepositoryGroup from pulp.app.pagination import UUIDPagination from pulp.app.serializers import (ContentSerializer, ImporterSerializer, PublisherSerializer, - RepositorySerializer) + RepositorySerializer, RepositoryGroupSerializer) from pulp.app.viewsets import NamedModelViewSet from pulp.app.viewsets.custom_filters import CharInFilter @@ -70,3 +70,10 @@ class PublisherViewSet(NamedModelViewSet): endpoint_name = 'publishers' serializer_class = PublisherSerializer queryset = Publisher.objects.all() + + +class RepositoryGroupViewSet(NamedModelViewSet): + endpoint_name = 'repo_groups' + queryset = RepositoryGroup.objects.all() + serializer_class = RepositoryGroupSerializer + lookup_field = 'name'