Add delete_seller API view and URL route
All checks were successful
Deploy Beta (NATIVE) / deploy (push) Successful in 31s

This commit is contained in:
vickytechkey 2026-08-16 11:08:54 +05:30
parent 49d470c2b0
commit 02c1cfaae9
2 changed files with 26 additions and 0 deletions

View file

@ -19,6 +19,7 @@ urlpatterns = [
path('sellers/<int:pk>/suspend/', seller_views.suspend_seller, name='suspend_seller'),
path('sellers/<int:pk>/reinstate/', seller_views.reinstate_seller, name='reinstate_seller'),
path('sellers/<int:pk>/reset-password/', seller_views.reset_seller_password, name='reset_seller_password'),
path('sellers/<int:pk>/delete/', seller_views.delete_seller, name='delete_seller'),
# Customers
path('customers/', customer_views.list_customers, name='list_customers'),

View file

@ -135,3 +135,28 @@ def reset_seller_password(request, pk):
log_action(request.user, 'reset_password', seller.id, {"email": seller.email})
return Response({"message": "Password reset alert successfully dispatched"})
@api_view(['POST', 'DELETE'])
@permission_classes([IsCRMAdmin])
def delete_seller(request, pk):
try:
seller = SupplierProfile.objects.get(pk=pk)
except SupplierProfile.DoesNotExist:
return Response({"detail": "Seller not found"}, status=404)
name = seller.name
user_id = seller.user_id
# Delete supplier profile from sellerprofile db
seller.delete()
# Delete corresponding user from auth_user in sellerprofile db
from django.db import connections
try:
with connections['seller_db'].cursor() as cursor:
cursor.execute("DELETE FROM auth_user WHERE id = %s", [user_id])
except Exception as e:
print("Failed to delete user record from auth_user:", e)
log_action(request.user, 'delete_seller', pk, {"name": name})
return Response({"message": f"Seller account '{name}' and associated user permanently removed"})