From aa07c041fbf9fea794a0de20f252bad255e2cbdb Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 25 Dec 2025 14:27:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=BA=E5=AE=9A=E8=B5=84=E4=BA=A7?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=B5=81=E7=A8=8Bapply?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/asm/serializers.py | 3 +++ apps/asm/views.py | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/asm/serializers.py b/apps/asm/serializers.py index f6fa70b1..66080407 100644 --- a/apps/asm/serializers.py +++ b/apps/asm/serializers.py @@ -12,6 +12,9 @@ class AssetCateSerializer(CustomModelSerializer): read_only_fields = EXCLUDE_FIELDS class AssetSerializer(CustomModelSerializer): + keep_dept_name = serializers.CharField(source="keep_dept.name", read_only=True) + keeper_name = serializers.CharField(source="keeper.name", read_only=True) + cate_name = serializers.CharField(source="cate.name", read_only=True) class Meta: model = Asset fields = '__all__' diff --git a/apps/asm/views.py b/apps/asm/views.py index 75ff3454..785140c1 100644 --- a/apps/asm/views.py +++ b/apps/asm/views.py @@ -60,5 +60,12 @@ class AssetLogViewSet(TicketMixin, CustomModelViewSet): def gen_other_ticket_data(self, instance:AssetLog): return {"keep_dept_name": instance.keep_dept.name} - + + @staticmethod + def apply(ticket: Ticket, transition, new_ticket_data: dict): + assetlog:AssetLog = ticket.assetlog_ticket + items = assetlog.items + sr = AssetSerializer(data=items, many=True) + sr.is_valid(raise_exception=True) + sr.save(create_by=ticket.create_by)