def order_detail(request, id,format=None): """ Retrieve, update or delete a server assets instance. """ try: snippet = Order_System.objects.get(id=id) except Order_System.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'PUT': if int(request.data.get('order_status')) == 7: sendOrderNotice.delay(id,mask='【已取消】') elif int(request.data.get('order_status')) == 8: sendOrderNotice.delay(id,mask='【已授权】') elif int(request.data.get('order_status')) == 3: sendOrderNotice.delay(id,mask='【已部署】') serializer = serializers.OrderSerializer(snippet, data=request.data) if serializer.is_valid(): serializer.save() 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_order_system'): return Response(status=status.HTTP_403_FORBIDDEN) snippet.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def get(self, request, *args, **kwargs): if request.user.is_superuser: ordersList = Order_System.objects.all().order_by("-id") else: ordersList = Order_System.objects.filter( Q(order_user=request.user.id) | Q(order_executor=request.user.id)).order_by("-id") page = serializers.PageConfig() # 注册分页 page_user_list = page.paginate_queryset(queryset=ordersList, request=request, view=self) ser = serializers.OrderSerializer(instance=page_user_list, many=True) return page.get_paginated_response(ser.data)
def order_detail(request, id, format=None): """ Retrieve, update or delete a server assets instance. """ try: snippet = Order_System.objects.get(id=id) except Order_System.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'PUT': serializer = serializers.OrderSerializer(snippet, data=request.data) if request.user.is_superuser or request.user.id == serializer.order_executor: if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': if not request.user.has_perm('orders.orders_delete_order_system'): return Response(status=status.HTTP_403_FORBIDDEN) snippet.delete() return Response(status=status.HTTP_204_NO_CONTENT)