From 8a9dd44c5030c2a6a10a9515daa6704958bce8c7 Mon Sep 17 00:00:00 2001 From: "IGNY8 VPS (Salman)" Date: Sun, 16 Nov 2025 20:08:58 +0000 Subject: [PATCH] branch 1st --- .../modules/system/settings_views.py | 56 ++++++------------- 1 file changed, 17 insertions(+), 39 deletions(-) diff --git a/backend/igny8_core/modules/system/settings_views.py b/backend/igny8_core/modules/system/settings_views.py index 51422645..5277784b 100644 --- a/backend/igny8_core/modules/system/settings_views.py +++ b/backend/igny8_core/modules/system/settings_views.py @@ -309,51 +309,29 @@ class ModuleEnableSettingsViewSet(AccountModelViewSet): def get_queryset(self): """Get module enable settings for current account""" - # Return queryset filtered by account - but list() will handle get_or_create - queryset = super().get_queryset() - # Filter by account if available - account = getattr(self.request, 'account', None) - if not account: - user = getattr(self.request, 'user', None) - if user: - account = getattr(user, 'account', None) - if account: - queryset = queryset.filter(account=account) - return queryset + # Don't filter here - list() and retrieve() handle get_or_create + # This prevents empty queryset from causing 404 errors + return ModuleEnableSettings.objects.all() def list(self, request, *args, **kwargs): """Get or create module enable settings for current account""" - try: - account = getattr(request, 'account', None) - if not account: - user = getattr(request, 'user', None) - if user and hasattr(user, 'account'): - account = user.account - - if not account: - return error_response( - error='Account not found', - status_code=status.HTTP_400_BAD_REQUEST, - request=request - ) - - # Get or create settings for account (one per account) - try: - settings = ModuleEnableSettings.objects.get(account=account) - except ModuleEnableSettings.DoesNotExist: - # Create default settings for account - settings = ModuleEnableSettings.objects.create(account=account) - - serializer = self.get_serializer(settings) - return success_response(data=serializer.data, request=request) - except Exception as e: - import traceback - error_trace = traceback.format_exc() + account = getattr(request, 'account', None) + if not account: + user = getattr(request, 'user', None) + if user and hasattr(user, 'account'): + account = getattr(user, 'account', None) + + if not account: return error_response( - error=f'Failed to load module enable settings: {str(e)}', - status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + error='Account not found', + status_code=status.HTTP_400_BAD_REQUEST, request=request ) + + # Get or create settings for account (one per account) + settings, created = ModuleEnableSettings.objects.get_or_create(account=account) + serializer = self.get_serializer(settings) + return success_response(data=serializer.data, request=request) def retrieve(self, request, pk=None, *args, **kwargs): """Get module enable settings for current account"""