Loading src/jama/__init__.py +1 −1 Original line number Diff line number Diff line __version__ = "0.1.79" __version__ = "0.1.80" src/rpc/methods.py +8 −2 Original line number Diff line number Diff line Loading @@ -2344,7 +2344,9 @@ def list_permissions(user: User) -> List[Dict]: @_rpc_groups(["Access"]) def projects_user_permissions(user: User) -> List[Dict]: def projects_user_permissions( user: User, advanced_permissions: bool = False ) -> List[Dict]: """ Get all rights for the current user. Loading @@ -2364,7 +2366,11 @@ def projects_user_permissions(user: User) -> List[Dict]: serializer_cache = SerializerCache() for project_access in ProjectAccess.objects.filter(user=user): access_list.append( serializers.project_access(project_access, cache=serializer_cache) serializers.project_access( project_access, advanced_permissions=advanced_permissions, cache=serializer_cache, ) ) return access_list Loading src/rpc/serializers.py +50 −7 Original line number Diff line number Diff line Loading @@ -272,12 +272,51 @@ def permission( } def role(role_instance: models.Role, cache: SerializerCache = None) -> dict: def role( role_instance: models.Role, advanced_permissions: bool = False, cache: SerializerCache = None, ) -> dict: permissions = [] if advanced_permissions: for permission_instance in models.ObjectPermission.objects.filter( role=role_instance ): permissions.append(permission(permission_instance, cache=cache)) else: for permission_instance in models.ObjectPermission.objects.filter( role=role_instance ): # keeping old permissions serialization for compatibility reasons if permission_instance.object_pk is None: if permission_instance.object_create: permissions.append( { "id": permission_instance.pk, "label": f"{permission_instance.object_class}.create", } ) if permission_instance.object_read: permissions.append( { "id": permission_instance.pk, "label": f"{permission_instance.object_class}.read", } ) if permission_instance.object_update: permissions.append( { "id": permission_instance.pk, "label": f"{permission_instance.object_class}.update", } ) if permission_instance.object_delete: permissions.append( { "id": permission_instance.pk, "label": f"{permission_instance.object_class}.delete", } ) return { "object_type": "role", "id": role_instance.id, Loading @@ -287,7 +326,9 @@ def role(role_instance: models.Role, cache: SerializerCache = None) -> dict: def project_access( project_access_instance: models.ProjectAccess, cache: SerializerCache = None project_access_instance: models.ProjectAccess, advanced_permissions: bool = False, cache: SerializerCache = None, ) -> dict: cache = get_cache(cache) role_instance = cache.fetch_obj("role", project_access_instance.role_id) Loading @@ -296,7 +337,9 @@ def project_access( return { "object_type": "project_access", "project": project(project_instance, cache=cache), "role": role(role_instance, cache=cache), "role": role( role_instance, advanced_permissions=advanced_permissions, cache=cache ), "user": user_instance.username, } Loading src/ui/front/package.json +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { "@pdn-certic/vue3-jama": "0.7.6", "@pdn-certic/vue3-jama": "0.7.9", "vue": "^3.5.25" }, "devDependencies": { Loading Loading
src/jama/__init__.py +1 −1 Original line number Diff line number Diff line __version__ = "0.1.79" __version__ = "0.1.80"
src/rpc/methods.py +8 −2 Original line number Diff line number Diff line Loading @@ -2344,7 +2344,9 @@ def list_permissions(user: User) -> List[Dict]: @_rpc_groups(["Access"]) def projects_user_permissions(user: User) -> List[Dict]: def projects_user_permissions( user: User, advanced_permissions: bool = False ) -> List[Dict]: """ Get all rights for the current user. Loading @@ -2364,7 +2366,11 @@ def projects_user_permissions(user: User) -> List[Dict]: serializer_cache = SerializerCache() for project_access in ProjectAccess.objects.filter(user=user): access_list.append( serializers.project_access(project_access, cache=serializer_cache) serializers.project_access( project_access, advanced_permissions=advanced_permissions, cache=serializer_cache, ) ) return access_list Loading
src/rpc/serializers.py +50 −7 Original line number Diff line number Diff line Loading @@ -272,12 +272,51 @@ def permission( } def role(role_instance: models.Role, cache: SerializerCache = None) -> dict: def role( role_instance: models.Role, advanced_permissions: bool = False, cache: SerializerCache = None, ) -> dict: permissions = [] if advanced_permissions: for permission_instance in models.ObjectPermission.objects.filter( role=role_instance ): permissions.append(permission(permission_instance, cache=cache)) else: for permission_instance in models.ObjectPermission.objects.filter( role=role_instance ): # keeping old permissions serialization for compatibility reasons if permission_instance.object_pk is None: if permission_instance.object_create: permissions.append( { "id": permission_instance.pk, "label": f"{permission_instance.object_class}.create", } ) if permission_instance.object_read: permissions.append( { "id": permission_instance.pk, "label": f"{permission_instance.object_class}.read", } ) if permission_instance.object_update: permissions.append( { "id": permission_instance.pk, "label": f"{permission_instance.object_class}.update", } ) if permission_instance.object_delete: permissions.append( { "id": permission_instance.pk, "label": f"{permission_instance.object_class}.delete", } ) return { "object_type": "role", "id": role_instance.id, Loading @@ -287,7 +326,9 @@ def role(role_instance: models.Role, cache: SerializerCache = None) -> dict: def project_access( project_access_instance: models.ProjectAccess, cache: SerializerCache = None project_access_instance: models.ProjectAccess, advanced_permissions: bool = False, cache: SerializerCache = None, ) -> dict: cache = get_cache(cache) role_instance = cache.fetch_obj("role", project_access_instance.role_id) Loading @@ -296,7 +337,9 @@ def project_access( return { "object_type": "project_access", "project": project(project_instance, cache=cache), "role": role(role_instance, cache=cache), "role": role( role_instance, advanced_permissions=advanced_permissions, cache=cache ), "user": user_instance.username, } Loading
src/ui/front/package.json +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { "@pdn-certic/vue3-jama": "0.7.6", "@pdn-certic/vue3-jama": "0.7.9", "vue": "^3.5.25" }, "devDependencies": { Loading