use locat and navigate react odm router issue final fix
This commit is contained in:
@@ -32,12 +32,29 @@ class IntegrationSettingsViewSet(viewsets.ViewSet):
|
||||
|
||||
IMPORTANT: Integration settings are system-wide (configured by super users/developers)
|
||||
Normal users don't configure their own API keys - they use the system account settings via fallback
|
||||
|
||||
NOTE: Class-level permissions are [IsAuthenticatedAndActive, HasTenantAccess] only.
|
||||
Individual actions override with IsSystemAccountOrDeveloper where needed (save, test).
|
||||
task_progress and get_image_generation_settings need to be accessible to all authenticated users.
|
||||
"""
|
||||
permission_classes = [IsAuthenticatedAndActive, HasTenantAccess, IsSystemAccountOrDeveloper]
|
||||
permission_classes = [IsAuthenticatedAndActive, HasTenantAccess]
|
||||
|
||||
throttle_scope = 'system_admin'
|
||||
throttle_classes = [DebugScopedRateThrottle]
|
||||
|
||||
def get_permissions(self):
|
||||
"""
|
||||
Override permissions based on action.
|
||||
- list, retrieve: authenticated users with tenant access (read-only)
|
||||
- update, save, test: system accounts/developers only (write operations)
|
||||
- task_progress, get_image_generation_settings: all authenticated users
|
||||
"""
|
||||
if self.action in ['update', 'save_post', 'test_connection']:
|
||||
permission_classes = [IsAuthenticatedAndActive, HasTenantAccess, IsSystemAccountOrDeveloper]
|
||||
else:
|
||||
permission_classes = self.permission_classes
|
||||
return [permission() for permission in permission_classes]
|
||||
|
||||
def list(self, request):
|
||||
"""List all integrations - for debugging URL patterns"""
|
||||
logger.info("[IntegrationSettingsViewSet] list() called")
|
||||
@@ -73,7 +90,8 @@ class IntegrationSettingsViewSet(viewsets.ViewSet):
|
||||
pk = kwargs.get('pk')
|
||||
return self.save_settings(request, pk)
|
||||
|
||||
@action(detail=True, methods=['post'], url_path='test', url_name='test')
|
||||
@action(detail=True, methods=['post'], url_path='test', url_name='test',
|
||||
permission_classes=[IsAuthenticatedAndActive, HasTenantAccess, IsSystemAccountOrDeveloper])
|
||||
def test_connection(self, request, pk=None):
|
||||
"""
|
||||
Test API connection for OpenAI or Runware
|
||||
|
||||
Reference in New Issue
Block a user