fix(orders): ensure modified_by field is set correctly for CustomUser instances

Add type check for request.user being CustomUser instance before setting order.modified_by field
in order_create and order_update views to prevent errors when user is not a CustomUser (e.g., admin user)
This commit is contained in:
2026-01-23 23:28:49 +03:00
parent 5ec5ee48d4
commit adbbd7539b

View File

@@ -91,7 +91,11 @@ def order_create(request):
order.recipient = None order.recipient = None
# Статус берём из формы (в том числе может быть "Черновик") # Статус берём из формы (в том числе может быть "Черновик")
order.modified_by = request.user from accounts.models import CustomUser
if isinstance(request.user, CustomUser):
order.modified_by = request.user
else:
order.modified_by = None
# Сохраняем заказ в БД (теперь у него есть pk) # Сохраняем заказ в БД (теперь у него есть pk)
order.save() order.save()
@@ -367,11 +371,16 @@ def order_update(request, order_number):
# Сохраняем получателя: если новый - создаем, если существующий - обновляем # Сохраняем получателя: если новый - создаем, если существующий - обновляем
recipient.save() # Django автоматически определит create или update recipient.save() # Django автоматически определит create или update
order.recipient = recipient order.recipient = recipient
else:
# Если покупатель является получателем # Если покупатель является получателем
order.recipient = None order.recipient = None
order.modified_by = request.user from accounts.models import CustomUser
if isinstance(request.user, CustomUser):
order.modified_by = request.user
else:
# Если это админ платформы, не перезаписываем поле (оставляем как есть)
pass
order.save() order.save()