X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fxoslib%2Fmethods%2Fsliceplus.py;h=0e0a9404fd397de06bf44afe6bfc0be289fec023;hb=50914526ea51f12815e0e43fd3344a518eb2c899;hp=48102dfe8b4d48f3d0bf1e4457d2d113899e0637;hpb=a7b58d95912ace988244a9feccbc7118f27e48c7;p=plstackapi.git diff --git a/planetstack/core/xoslib/methods/sliceplus.py b/planetstack/core/xoslib/methods/sliceplus.py index 48102df..0e0a940 100644 --- a/planetstack/core/xoslib/methods/sliceplus.py +++ b/planetstack/core/xoslib/methods/sliceplus.py @@ -15,11 +15,19 @@ else: # rest_framework 2.x IdField = serializers.Field +class NetworkPortsField(serializers.WritableField): # note: maybe just Field in rest_framework 3.x instead of WritableField + def to_representation(self, obj): + return obj + + def to_internal_value(self, data): + return data + class SlicePlusIdSerializer(serializers.ModelSerializer, PlusSerializerMixin): id = IdField() sliceInfo = serializers.SerializerMethodField("getSliceInfo") humanReadableName = serializers.SerializerMethodField("getHumanReadableName") + networkPorts = NetworkPortsField() def getSliceInfo(self, slice): return slice.getSliceInfo(user=self.context['request'].user) @@ -27,12 +35,12 @@ class SlicePlusIdSerializer(serializers.ModelSerializer, PlusSerializerMixin): def getHumanReadableName(self, obj): return str(obj) - networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail') - availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail') + networks = serializers.PrimaryKeyRelatedField(many=True, read_only=True) +# availableNetworks = serializers.PrimaryKeyRelatedField(many=True, read_only=True, view_name='network-detail') class Meta: model = SlicePlus - fields = ('humanReadableName', 'id','created','updated','enacted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','image_preference','service','network','mount_data_sets','serviceClass','creator','networks','availableNetworks','sliceInfo','backendIcon','backendHtml') + fields = ('humanReadableName', 'id','created','updated','enacted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','image_preference','service','network','mount_data_sets','serviceClass','creator','networks','sliceInfo','networkPorts','backendIcon','backendHtml') class SlicePlusList(generics.ListCreateAPIView): queryset = SlicePlus.objects.select_related().all()