orders: add user field to deleted party model, deleted party list serializer, deleted party api
This commit is contained in:
21
core/apps/orders/migrations/0037_deletedparty_user.py
Normal file
21
core/apps/orders/migrations/0037_deletedparty_user.py
Normal 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),
|
||||
),
|
||||
]
|
||||
@@ -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}
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user