def raid_detail(request, id,format=None): """ Retrieve, update or delete a server assets instance. """ try: snippet = Raid_Assets.objects.get(id=id) except Raid_Assets.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = serializers.RaidSerializer(snippet) return Response(serializer.data) elif request.method == 'PUT': old_name = snippet.raid_name serializer = serializers.RaidSerializer(snippet, data=request.data) if serializer.is_valid(): serializer.save() recordAssets.delay(user=str(request.user),content="修改Raid类型:{old_name} -> {raid_name}".format(old_name=old_name,raid_name=request.data.get("raid_name")),type="raid",id=id) return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': if not request.user.has_perm('OpsManage.can_delete_raid_assets'): return Response(status=status.HTTP_403_FORBIDDEN) snippet.delete() recordAssets.delay(user=str(request.user),content="删除Raid类型:{raid_name}".format(raid_name=snippet.raid_name),type="raid",id=id) return Response(status=status.HTTP_204_NO_CONTENT)
def raid_list(request,format=None): """ List all order, or create a server assets order. """ if request.method == 'GET': snippets = Raid_Assets.objects.all() serializer = serializers.RaidSerializer(snippets, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = serializers.RaidSerializer(data=request.data) if serializer.is_valid(): serializer.save() recordAssets.delay(user=str(request.user),content="添加Raid类型:{raid_name}".format(raid_name=request.data.get("raid_name")),type="raid",id=serializer.data.get('id')) return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)