Bulk Delete

This commit is contained in:
Desktop
2025-11-11 00:32:00 +05:00
parent 60ec02595b
commit 100d481b40
2 changed files with 26 additions and 2 deletions

View File

@@ -185,7 +185,7 @@ class KeywordViewSet(SiteSectorModelViewSet):
# Save with all required fields explicitly # Save with all required fields explicitly
serializer.save(account=account, site=site, sector=sector) serializer.save(account=account, site=site, sector=sector)
@action(detail=False, methods=['post'], url_path='bulk_delete', url_name='bulk_delete') @action(detail=False, methods=['POST'], url_path='bulk_delete', url_name='bulk_delete')
def bulk_delete(self, request): def bulk_delete(self, request):
"""Bulk delete keywords""" """Bulk delete keywords"""
ids = request.data.get('ids', []) ids = request.data.get('ids', [])
@@ -714,6 +714,18 @@ class ClusterViewSet(SiteSectorModelViewSet):
# Save with all required fields explicitly # Save with all required fields explicitly
serializer.save(account=account, site=site, sector=sector) serializer.save(account=account, site=site, sector=sector)
@action(detail=False, methods=['POST'], url_path='bulk_delete', url_name='bulk_delete')
def bulk_delete(self, request):
"""Bulk delete clusters"""
ids = request.data.get('ids', [])
if not ids:
return Response({'error': 'No IDs provided'}, status=status.HTTP_400_BAD_REQUEST)
queryset = self.get_queryset()
deleted_count, _ = queryset.filter(id__in=ids).delete()
return Response({'deleted_count': deleted_count}, status=status.HTTP_200_OK)
@action(detail=False, methods=['post'], url_path='auto_generate_ideas', url_name='auto_generate_ideas') @action(detail=False, methods=['post'], url_path='auto_generate_ideas', url_name='auto_generate_ideas')
def auto_generate_ideas(self, request): def auto_generate_ideas(self, request):
"""Auto-generate ideas for clusters using AI - New unified framework""" """Auto-generate ideas for clusters using AI - New unified framework"""
@@ -902,6 +914,18 @@ class ContentIdeasViewSet(SiteSectorModelViewSet):
serializer.save(account=account, site=site, sector=sector) serializer.save(account=account, site=site, sector=sector)
@action(detail=False, methods=['POST'], url_path='bulk_delete', url_name='bulk_delete')
def bulk_delete(self, request):
"""Bulk delete content ideas"""
ids = request.data.get('ids', [])
if not ids:
return Response({'error': 'No IDs provided'}, status=status.HTTP_400_BAD_REQUEST)
queryset = self.get_queryset()
deleted_count, _ = queryset.filter(id__in=ids).delete()
return Response({'deleted_count': deleted_count}, status=status.HTTP_200_OK)
@action(detail=False, methods=['post'], url_path='bulk_queue_to_writer', url_name='bulk_queue_to_writer') @action(detail=False, methods=['post'], url_path='bulk_queue_to_writer', url_name='bulk_queue_to_writer')
def bulk_queue_to_writer(self, request): def bulk_queue_to_writer(self, request):
"""Queue ideas to writer by creating Tasks""" """Queue ideas to writer by creating Tasks"""

View File

@@ -78,7 +78,7 @@ class TasksViewSet(SiteSectorModelViewSet):
serializer.save(account=account, site=site, sector=sector) serializer.save(account=account, site=site, sector=sector)
@action(detail=False, methods=['post'], url_path='bulk_delete', url_name='bulk_delete') @action(detail=False, methods=['POST'], url_path='bulk_delete', url_name='bulk_delete')
def bulk_delete(self, request): def bulk_delete(self, request):
"""Bulk delete tasks""" """Bulk delete tasks"""
ids = request.data.get('ids', []) ids = request.data.get('ids', [])