diff --git a/core/apps/orders/migrations/0037_deletedparty_user.py b/core/apps/orders/migrations/0037_deletedparty_user.py new file mode 100644 index 0000000..7be12b2 --- /dev/null +++ b/core/apps/orders/migrations/0037_deletedparty_user.py @@ -0,0 +1,21 @@ +# Generated by Django 5.2.4 on 2025-11-11 15:36 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('orders', '0036_offer_is_deleted'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.AddField( + model_name='deletedparty', + name='user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='deleted_parties', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/core/apps/orders/serializers/party.py b/core/apps/orders/serializers/party.py index 1afee10..836f06c 100644 --- a/core/apps/orders/serializers/party.py +++ b/core/apps/orders/serializers/party.py @@ -222,7 +222,8 @@ class DeletedPartyCreateSerializer(serializers.Serializer): def create(self, validated_data): with transaction.atomic(): return DeletedParty.objects.create( - comment=validated_data.get("comment"), party=validated_data.get("party") + comment=validated_data.get("comment"), party=validated_data.get("party"), + user=self.context.get('user') ) @@ -245,8 +246,16 @@ class DeletedPartyListSerializer(serializers.ModelSerializer): 'created_at', 'comment', 'party', + 'user', ] + def get_user(self, obj): + return { + "id": obj.user.id, + "full_name": obj.user.full_name, + "profile_image": obj.user.profile_image, + } if obj.user else {} + def get_mediator(self, obj): return {"id": obj.party.mediator.id, "name": obj.party.mediator.full_name} diff --git a/core/apps/orders/views/party.py b/core/apps/orders/views/party.py index 5f2b9b2..fe89813 100644 --- a/core/apps/orders/views/party.py +++ b/core/apps/orders/views/party.py @@ -78,7 +78,7 @@ class PartyDeleteApiView(generics.GenericAPIView): permission_classes = [HasRolePermission] def post(self, request, party_id): - serializer = self.serializer_class(data=request.data, context={'party_id': party_id}) + serializer = self.serializer_class(data=request.data, context={'party_id': party_id, 'user': request.user}) if serializer.is_valid(raise_exception=True): serializer.save() return Response(