remove Dashboard Views from user admin
[plstackapi.git] / planetstack / core / serializers.py
index 00d7160..3fb726d 100644 (file)
@@ -3,40 +3,108 @@ from rest_framework import serializers
 from core.models import *
 
 
+class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
+
+    # HyperlinkedModelSerializer doesn't include the id by default
+    id = serializers.Field()
+    sites = serializers.HyperlinkedRelatedField(view_name='site-detail')
+    class Meta:
+        model = Deployment
+        fields = ('id',
+                  'url',
+                  'name',
+                  'sites'
+                 )
+
+class ImageSerializer(serializers.HyperlinkedModelSerializer):
+    # HyperlinkedModelSerializer doesn't include the id by default
+    id = serializers.Field()
+    class Meta:
+        model = Image
+        fields = ('id',
+                  'url',
+                  'image_id',
+                  'name',
+                  'disk_format',
+                  'container_format')
+
+class NodeSerializer(serializers.HyperlinkedModelSerializer):
+    # HyperlinkedModelSerializer doesn't include the id by default
+    id = serializers.Field()
+    class Meta:
+        model = Node
+        fields = ('id',
+                 'url',
+                 'name')
+
+class ProjectSerializer(serializers.HyperlinkedModelSerializer):
+    # HyperlinkedModelSerializer doesn't include the id by default
+    id = serializers.Field()
+    class Meta:
+        model = Project
+        fields = ('id',
+                 'url',
+                 'name')
+
+class ReservationSerializer(serializers.HyperlinkedModelSerializer):
+    # HyperlinkedModelSerializer doesn't include the id by default
+    id = serializers.Field()
+    class Meta:
+        model = Reservation
+        fields = ('id',
+                 'url',
+                 'startTime',
+                 'slice',
+                 'duration',
+                 'endTime',
+                 )
+
 class RoleSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
     class Meta:
         model = Role
         fields = ('id', 
-                  'role_id',
-                  'role',
-                  'role_type')
+                 'url',
+                 'role',
+                 'role_type')
 
 
-class UserSerializer(serializers.HyperlinkedModelSerializer):
+class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
-    site = serializers.HyperlinkedRelatedField(view_name='site-detail')
-    slice_memberships = serializers.HyperlinkedRelatedField(view_name='slice-membership-detail')
-    site_privileges = serializers.HyperlinkedRelatedField(view_name='site-privilege-detail')
     class Meta:
-        model = User
+        model = ServiceClass
         fields = ('id',
-                  'user_id', 
-                  'kuser_id', 
-                  'firstname', 
-                  'lastname',
-                  'email', 
-                  'password',
-                  'phone',
-                  'public_key', 
-                  'user_url',
-                  'is_admin',
-                  'site',
-                  'slice_memberships',
-                  'site_privileges')
-                    
+                 'url',
+                 'name',
+                 'description',
+                 'commitment',
+                 'membershipFee',
+                 'membershipFeeMonths',
+                 'upgradeRequiresApproval',
+                 'upgradeFrom',
+                 )
+
+class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
+    # HyperlinkedModelSerializer doesn't include the id by default
+    id = serializers.Field()
+    serviceClass = serializers.HyperlinkedRelatedField(view_name='serviceclass-detail')
+    class Meta:
+        model = ServiceResource
+        fields = ('id',
+                 'url',
+                 'name',
+                 'serviceClass',
+                 'maxUnitsDeployment',
+                 'maxUnitsNode',
+                 'maxDuration',
+                 'bucketInRate',
+                 'bucketMaxSize',
+                 'cost',
+                 'calendarReservable',
+                 )
+
 class SliceSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
@@ -45,6 +113,7 @@ class SliceSerializer(serializers.HyperlinkedModelSerializer):
     class Meta:
         model = Slice
         fields = ('id',
+                  'url',
                   'tenant_id',
                   'enabled',
                   'name',
@@ -55,19 +124,23 @@ class SliceSerializer(serializers.HyperlinkedModelSerializer):
                   'network_id',
                   'router_id',
                   'subnet_id',
+                  'imagePreference',
+                 'network',
+                 'mountDataSets',
                   'site',
                   'slivers',
                   'updated',
                   'created')
 
-class SliceMembershipSerializer(serializers.HyperlinkedModelSerializer):
+class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
     id = serializers.Field()
     slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
     user = serializers.HyperlinkedRelatedField(view_name='user-detail')
     role = serializers.HyperlinkedRelatedField(view_name='role-detail')
     class Meta:
-        model = SitePrivilege
+        model = SlicePrivilege
         fields = ('id',
+                  'url',
                   'user',
                   'slice',
                   'role')
@@ -107,77 +180,90 @@ class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
     class Meta:
         model = SitePrivilege
         fields = ('id',
+                  'url',
                   'user',
                   'site',
                   'role')
 
-class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
-
-    # HyperlinkedModelSerializer doesn't include the id by default
-    id = serializers.Field()
-    sites = serializers.HyperlinkedRelatedField(view_name='deploymentnetwork-detail')
-    class Meta:
-        model = Deployment
-        fields = ('id',
-                  'name',
-                  'sites'
-                 )
-
 class SliverSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
     image = serializers.HyperlinkedRelatedField(view_name='image-detail')
-    key = serializers.HyperlinkedRelatedField(view_name='key-detail')
     slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
-    deployment_network = serializers.HyperlinkedRelatedField(view_name='deployment_network-detail')
+    deploymentNetwork = serializers.HyperlinkedRelatedField(view_name='deployment-detail')
     node = serializers.HyperlinkedRelatedField(view_name='node-detail')
     
-    
     #slice = serializers.PrimaryKeyRelatedField(read_only=True)
 
     class Meta:
         model = Sliver
         fields = ('id',
+                  'url',
                   'instance_id',
                   'name',
                   'instance_name',
                   'ip',
                   'image',
-                  'key',
                   'slice',
                   'deploymentNetwork',
                   'node')
 
-class NodeSerializer(serializers.HyperlinkedModelSerializer):
+class UserSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
+    site = serializers.HyperlinkedRelatedField(view_name='site-detail')
+    slice_privileges = serializers.HyperlinkedRelatedField(view_name='sliceprivilege-detail')
+    site_privileges = serializers.HyperlinkedRelatedField(view_name='siteprivilege-detail')
     class Meta:
-        model = Node
+        model = User
         fields = ('id',
-                 'name')
-
-class ImageSerializer(serializers.HyperlinkedModelSerializer):
+                  'url',
+                  'kuser_id', 
+                  'firstname', 
+                  'lastname',
+                  'email', 
+                  'password',
+                  'phone',
+                  'public_key', 
+                  'user_url',
+                  'is_admin',
+                  'slice_privileges',
+                  'site_privileges')
+                    
+class TagSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
+    project = serializers.HyperlinkedRelatedField(view_name='project-detail')
+    #content_type = serializers.PrimaryKeyRelatedField(read_only=True)
+    content_type = serializers.RelatedField(source = "content_type")
+    content_object = serializers.RelatedField(source='content_object')
     class Meta:
-        model = Image
-        fields = ('id',
-                  'image_id',
-                  'name',
-                  'disk_format',
-                  'container_format')
+        model = Tag
+        fields = ('id', 
+                  'url',
+                  'project',
+                  'value',
+                  'content_type',
+                  'object_id',
+                  'content_object',
+                  'name')
 
 serializerLookUp = { 
+                 Deployment: DeploymentSerializer,
+                 Image: ImageSerializer,
+                 Node: NodeSerializer,
+                 Project: ProjectSerializer,
+                 Reservation: ReservationSerializer,
                  Role: RoleSerializer,
-                 User: UserSerializer,
+                 ServiceClass: ServiceClassSerializer,
+                 ServiceResource: ServiceResourceSerializer,
                  Site: SiteSerializer,
                  SitePrivilege: SitePrivilegeSerializer,
                  Slice: SliceSerializer,
-                 SliceMembership: SliceMembershipSerializer,
-                 Node: NodeSerializer,
+                 SlicePrivilege: SlicePrivilegeSerializer,
                  Sliver: SliverSerializer,
-                 Deployment: DeploymentSerializer,
-                 Image: ImageSerializer,
+                 Tag: TagSerializer,
+                 User: UserSerializer,
                  None: None,
                 }