Обновления в tenants: админ, модели, миграции и сервисы
This commit is contained in:
@@ -176,12 +176,20 @@ class TenantRegistrationAdmin(admin.ModelAdmin):
|
||||
|
||||
def reject_registrations(self, request, queryset):
|
||||
"""Массовое отклонение заявок"""
|
||||
rejected_count = queryset.filter(status=TenantRegistration.STATUS_PENDING).update(
|
||||
status=TenantRegistration.STATUS_REJECTED,
|
||||
processed_at=timezone.now(),
|
||||
processed_by=request.user,
|
||||
rejection_reason="Отклонено массовым действием"
|
||||
)
|
||||
from platform_admin.models import PlatformAdmin
|
||||
|
||||
# Получаем processed_by только если это PlatformAdmin
|
||||
processed_by = request.user if isinstance(request.user, PlatformAdmin) else None
|
||||
|
||||
# Обновляем каждую заявку индивидуально (нельзя использовать update с FK на другую модель)
|
||||
rejected_count = 0
|
||||
for registration in queryset.filter(status=TenantRegistration.STATUS_PENDING):
|
||||
registration.status = TenantRegistration.STATUS_REJECTED
|
||||
registration.processed_at = timezone.now()
|
||||
registration.processed_by = processed_by
|
||||
registration.rejection_reason = "Отклонено массовым действием"
|
||||
registration.save()
|
||||
rejected_count += 1
|
||||
|
||||
if rejected_count > 0:
|
||||
messages.success(request, f"Отклонено заявок: {rejected_count}")
|
||||
@@ -251,10 +259,13 @@ class TenantRegistrationAdmin(admin.ModelAdmin):
|
||||
messages.error(request, f"Ошибка при активации: {str(e)}")
|
||||
|
||||
elif 'reject' in request.GET and registration.status == TenantRegistration.STATUS_PENDING:
|
||||
from platform_admin.models import PlatformAdmin
|
||||
|
||||
# Обрабатываем отклонение
|
||||
registration.status = TenantRegistration.STATUS_REJECTED
|
||||
registration.processed_at = timezone.now()
|
||||
registration.processed_by = request.user
|
||||
# processed_by только если это PlatformAdmin
|
||||
registration.processed_by = request.user if isinstance(request.user, PlatformAdmin) else None
|
||||
registration.rejection_reason = "Отклонено администратором"
|
||||
registration.save()
|
||||
messages.warning(request, f"Заявка '{registration.shop_name}' отклонена.")
|
||||
|
||||
Reference in New Issue
Block a user