fix fix fi x fix

This commit is contained in:
IGNY8 VPS (Salman)
2026-01-12 15:30:15 +00:00
parent 7d4d309677
commit e8360a6703
11 changed files with 488 additions and 71 deletions

View File

@@ -893,31 +893,6 @@ class SeedKeywordAdmin(ImportExportMixin, Igny8ModelAdmin):
}),
)
def has_delete_permission(self, request, obj=None):
"""Allow deletion for superusers and developers"""
return request.user.is_superuser or (hasattr(request.user, 'is_developer') and request.user.is_developer())
def delete_model(self, request, obj):
"""Override delete to handle PROTECT relationship with Keywords"""
from igny8_core.business.planning.models import Keywords
# Soft-delete all Keywords referencing this SeedKeyword first
site_keywords = Keywords.objects.filter(seed_keyword=obj)
for kw in site_keywords:
kw.soft_delete(user=request.user, reason=f"Parent seed keyword '{obj.keyword}' deleted")
# Now we can safely delete the SeedKeyword
super().delete_model(request, obj)
def delete_queryset(self, request, queryset):
"""Override bulk delete to handle PROTECT relationship with Keywords"""
from igny8_core.business.planning.models import Keywords
for seed_keyword in queryset:
# Soft-delete all Keywords referencing this SeedKeyword first
site_keywords = Keywords.objects.filter(seed_keyword=seed_keyword)
for kw in site_keywords:
kw.soft_delete(user=request.user, reason=f"Parent seed keyword '{seed_keyword.keyword}' deleted")
# Now we can safely delete the SeedKeywords
queryset.delete()
def bulk_activate(self, request, queryset):
updated = queryset.update(is_active=True)
self.message_user(request, f'{updated} seed keyword(s) activated.', messages.SUCCESS)