1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-12-26 16:58:28 +00:00

No need to add permissions when the super admin creates templates or projects

This commit is contained in:
grossmj 2021-09-18 12:49:54 +09:30
parent c8ed96d91b
commit 3d1c3303f9
2 changed files with 9 additions and 5 deletions

View File

@ -111,6 +111,7 @@ async def create_project(
controller = Controller.instance() controller = Controller.instance()
project = await controller.add_project(**jsonable_encoder(project_data, exclude_unset=True)) project = await controller.add_project(**jsonable_encoder(project_data, exclude_unset=True))
if not current_user.is_superadmin:
await rbac_repo.add_permission_to_user_with_path(current_user.user_id, f"/projects/{project.id}/*") await rbac_repo.add_permission_to_user_with_path(current_user.user_id, f"/projects/{project.id}/*")
return project.asdict() return project.asdict()
@ -392,6 +393,7 @@ async def duplicate_project(
new_project = await project.duplicate( new_project = await project.duplicate(
name=project_data.name, location=location, reset_mac_addresses=reset_mac_addresses name=project_data.name, location=location, reset_mac_addresses=reset_mac_addresses
) )
if not current_user.is_superadmin:
await rbac_repo.add_permission_to_user_with_path(current_user.user_id, f"/projects/{new_project.id}/*") await rbac_repo.add_permission_to_user_with_path(current_user.user_id, f"/projects/{new_project.id}/*")
return new_project.asdict() return new_project.asdict()

View File

@ -25,7 +25,7 @@ import logging
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
from fastapi import APIRouter, Request, Response, HTTPException, Depends, Response, status from fastapi import APIRouter, Request, HTTPException, Depends, Response, status
from typing import List from typing import List
from uuid import UUID from uuid import UUID
@ -55,6 +55,7 @@ async def create_template(
template = await TemplatesService(templates_repo).create_template(template_create) template = await TemplatesService(templates_repo).create_template(template_create)
template_id = template.get("template_id") template_id = template.get("template_id")
if not current_user.is_superadmin:
await rbac_repo.add_permission_to_user_with_path(current_user.user_id, f"/templates/{template_id}/*") await rbac_repo.add_permission_to_user_with_path(current_user.user_id, f"/templates/{template_id}/*")
return template return template
@ -150,5 +151,6 @@ async def duplicate_template(
""" """
template = await TemplatesService(templates_repo).duplicate_template(template_id) template = await TemplatesService(templates_repo).duplicate_template(template_id)
if not current_user.is_superadmin:
await rbac_repo.add_permission_to_user_with_path(current_user.user_id, f"/templates/{template_id}/*") await rbac_repo.add_permission_to_user_with_path(current_user.user_id, f"/templates/{template_id}/*")
return template return template