Add delete_seller API view and URL route
All checks were successful
Deploy Beta (NATIVE) / deploy (push) Successful in 31s
All checks were successful
Deploy Beta (NATIVE) / deploy (push) Successful in 31s
This commit is contained in:
parent
49d470c2b0
commit
02c1cfaae9
2 changed files with 26 additions and 0 deletions
|
|
@ -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'),
|
||||
|
|
|
|||
|
|
@ -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"})
|
||||
|
|
|
|||
Loading…
Reference in a new issue