diff --git a/src/backend/management/commands/check_and_apply_migrations.py b/src/backend/management/commands/check_and_apply_migrations.py index c8733cd5e4b1c4d0ce3541888462f9e9cbf4989a..cd024f0a56c8f9a80f7e9f4e3a0220f3d78867dc 100644 --- a/src/backend/management/commands/check_and_apply_migrations.py +++ b/src/backend/management/commands/check_and_apply_migrations.py @@ -3,7 +3,6 @@ from django.core.management import call_command from django.db import connections from django.db.migrations.executor import MigrationExecutor from django.contrib.auth.models import Permission, ContentType, Group -from rolepermissions.roles import get_roles from users.models import CustomUser # Adjust this import based on your actual user model class Command(BaseCommand): @@ -28,7 +27,7 @@ class Command(BaseCommand): # Ensure necessary permissions exist permissions = { "create_user": "Create User", - "edit_user": "Edit User" + "edit_user": "Edit User", "create_provider": "Create Provider", "manage_provider_keys": "Manage Provider Keys", "manage_analytics_tokens": "Manage Analytics Tokens", @@ -50,15 +49,12 @@ class Command(BaseCommand): self.stdout.write(self.style.SUCCESS(f'Permission created: {name}')) else: self.stdout.write(self.style.NOTICE(f'Permission already exists: {name}')) - - # Ensure roles exist - for role in get_roles(): - self.stdout.write(self.style.SUCCESS(f'Role found: {role.__name__} with permissions: {role.available_permissions}')) + # Ensure auth groups exist and assign permissions groups_permissions = { - "polaris_administrator": ["create_user","edit_user","create_provider","change_provider","manage_provider_keys","manage_analytics_tokens","create_user_consent","request_user_data"] - "provider": ["manage_provider_keys"],‚ + "polaris_administrator": ["create_user","edit_user","create_provider","change_provider","manage_provider_keys","manage_analytics_tokens","create_user_consent","request_user_data"], + "provider": ["manage_provider_keys"], "analyst": ["manage_analytics_tokens"], "user": ["create_user_consent"] } diff --git a/src/providers/views.py b/src/providers/views.py index 2985c37f3f4f49b9f78eed3d40df211d838c2c48..9f6a42c3d4393f7032489ee5cc8a378dfb29601c 100644 --- a/src/providers/views.py +++ b/src/providers/views.py @@ -783,7 +783,7 @@ class GetAnalyticsEngineResults(APIView): # Extract requested names, if any requested_names = filters.get("name") - + # If no names are provided, use the default allowed names if not requested_names: requested_names = list(allowed_names) diff --git a/src/users/custom_tokens.py b/src/users/custom_tokens.py index e511bde4143145d4281609af319fdd9425691ecc..5554f21fe7d5dee2cf09330424ec9ad0777f5973 100644 --- a/src/users/custom_tokens.py +++ b/src/users/custom_tokens.py @@ -2,7 +2,7 @@ from rest_framework_simplejwt.serializers import TokenObtainPairSerializer from rest_framework_simplejwt.views import TokenObtainPairView from rolepermissions.checkers import has_role -from backend.roles import Provider +from backend.roles import ProviderManager class CustomTokenObtainPairSerializer(TokenObtainPairSerializer): @@ -11,7 +11,7 @@ class CustomTokenObtainPairSerializer(TokenObtainPairSerializer): token = super().get_token(user) token["email"] = user.email - token["is_provider"] = has_role(user, [Provider]) + token["is_provider"] = has_role(user, [ProviderManager]) return token class CustomTokenObtainPairView(TokenObtainPairView):