Esempio n. 1
0
 def racks(self, request, *args, **kwargs):
     if self.get_object().is_offline:
         return Response(
             {'Error': 'Cannot get racks of an offline storage site.'},
             status=status.HTTP_400_BAD_REQUEST)
     matches = self.get_object(
     ).rack_set  # Rack.objects.filter(datacenter=self.get_object())
     rs = RackOfAssetSerializer(matches,
                                many=True,
                                context={'request': request})
     return Response(sorted(rs.data, key=lambda k: k['id']))
class AssetSeedForGraphSerializer(serializers.ModelSerializer):
    rack = RackOfAssetSerializer()
    network_ports = NetworkPortForSeedSerializer(source='network_port_set',
                                                 many=True)

    class Meta:
        model = Asset
        fields = [
            'id', 'url', 'hostname', 'rack', 'rack_u', 'network_ports',
            'asset_number'
        ]
class AssetOneLevelAwaySerializer(serializers.ModelSerializer):
    rack = RackOfAssetSerializer()
    network_ports = NetworkPortOneDegreeAwaySerializer(
        source='network_port_set', many=True)

    class Meta:
        model = Asset
        fields = [
            'id', 'url', 'hostname', 'rack', 'rack_u', 'network_ports',
            'asset_number'
        ]
class AssetOfModelSerializer(serializers.HyperlinkedModelSerializer):
    datacenter = DatacenterSerializer()
    rack = RackOfAssetSerializer()

    class Meta:
        model = Asset
        fields = [
            'id', 'url', 'hostname', 'asset_number', 'datacenter', 'rack',
            'rack_u', 'ovr_color', 'ovr_storage', 'ovr_cpu', 'ovr_memory',
            'owner'
        ]
class AssetShortSerializer(AssetSerializer):
    model = ModelAssetSerializer()
    rack = RackOfAssetSerializer()
    owner = UserOfAssetSerializer()
    datacenter = DatacenterSerializer()

    class Meta:
        model = Asset
        fields = [
            'id', 'model', 'hostname', 'datacenter', 'rack', 'rack_u',
            'ovr_color', 'ovr_storage', 'ovr_cpu', 'ovr_memory',
            'asset_number', 'owner'
        ]
Esempio n. 6
0
class AssetCPFetchSerializer(serializers.ModelSerializer):

    model = ModelAssetSerializer()
    datacenter = DatacenterSerializer()
    rack = RackOfAssetSerializer()
    owner = UserOfAssetSerializer()
    nps_cp = NPCPSerializer(source='npcp_set', many=True, read_only=True)
    pps_cp = PPCPSerializer(source='ppcp_set', many=True, read_only=True)

    class Meta:
        model = AssetCP
        fields = [
            'id', 'id_ref', 'hostname', 'cp', 'model', 'datacenter', 'rack',
            'rack_u', 'nps_cp', 'pps_cp', 'owner', 'comment'
        ]
class AssetFetchSerializer(AssetSerializer):
    model = ModelAssetSerializer()
    rack = RackOfAssetSerializer()
    owner = UserOfAssetSerializer()
    datacenter = DatacenterSerializer()
    network_ports = NetworkPortSerializer(source='network_port_set', many=True)
    power_ports = PowerPortSerializer(source='power_port_set', many=True)

    class Meta:
        model = Asset
        fields = [
            'id', 'model', 'hostname', 'datacenter', 'rack', 'rack_u', 'owner',
            'comment', 'network_ports', 'power_ports', 'ovr_color',
            'ovr_storage', 'ovr_cpu', 'ovr_memory', 'asset_number'
        ]
class AssetTwoLevelsAwaySerializer(serializers.ModelSerializer):
    rack = RackOfAssetSerializer()

    class Meta:
        model = Asset
        fields = ['id', 'hostname', 'rack', 'rack_u']