orders: add user field to deleted party model, deleted party list serializer, deleted party api

This commit is contained in:
behruz-dev
2025-11-11 15:38:02 +05:00
parent 53c0b760e1
commit 333ffac4e6
3 changed files with 32 additions and 2 deletions

View File

@@ -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),
),
]

View File

@@ -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}

View File

@@ -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(