mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-07-12 11:24:31 +02:00
Check for permissions to access settings menu and added settings menu to sidebar menu
This commit is contained in:
parent
b9c3358f7f
commit
38c826713f
5 changed files with 31 additions and 14 deletions
|
@ -265,17 +265,13 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co
|
||||||
# label: "perm.database.write_db_settings"
|
# label: "perm.database.write_db_settings"
|
||||||
# alsoSet: ['read_db_settings', 'see_status']
|
# alsoSet: ['read_db_settings', 'see_status']
|
||||||
|
|
||||||
#config:
|
config:
|
||||||
# label: "perm.config"
|
label: "perm.config"
|
||||||
# group: "system"
|
group: "system"
|
||||||
# operations:
|
operations:
|
||||||
# read_config:
|
change_system_settings:
|
||||||
# label: "perm.config.read_config"
|
label: "perm.config.change_system_settings"
|
||||||
# edit_config:
|
apiTokenRole: ROLE_API_ADMIN
|
||||||
# label: "perm.config.edit_config"
|
|
||||||
# alsoSet: 'read_config'
|
|
||||||
# server_info:
|
|
||||||
# label: "perm.config.server_info"
|
|
||||||
|
|
||||||
system:
|
system:
|
||||||
label: "perm.system"
|
label: "perm.system"
|
||||||
|
|
|
@ -40,6 +40,8 @@ class SettingsController extends AbstractController
|
||||||
#[Route("/settings", name: "system_settings")]
|
#[Route("/settings", name: "system_settings")]
|
||||||
public function systemSettings(Request $request, TagAwareCacheInterface $cache): Response
|
public function systemSettings(Request $request, TagAwareCacheInterface $cache): Response
|
||||||
{
|
{
|
||||||
|
$this->denyAccessUnlessGranted('@config.change_system_settings');
|
||||||
|
|
||||||
//Create a clone of the settings object
|
//Create a clone of the settings object
|
||||||
$settings = $this->settingsManager->createTemporaryCopy(AppSettings::class);
|
$settings = $this->settingsManager->createTemporaryCopy(AppSettings::class);
|
||||||
|
|
||||||
|
@ -62,9 +64,6 @@ class SettingsController extends AbstractController
|
||||||
$cache->invalidateTags(['tree_treeview', 'sidebar_tree_update']);
|
$cache->invalidateTags(['tree_treeview', 'sidebar_tree_update']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Render the form
|
//Render the form
|
||||||
return $this->render('settings/settings.html.twig', [
|
return $this->render('settings/settings.html.twig', [
|
||||||
'form' => $form
|
'form' => $form
|
||||||
|
|
|
@ -289,6 +289,13 @@ class ToolsTreeBuilder
|
||||||
))->setIcon('fa-fw fa-treeview fa-solid fa-database');
|
))->setIcon('fa-fw fa-treeview fa-solid fa-database');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->security->isGranted('@config.change_system_settings')) {
|
||||||
|
$nodes[] = (new TreeViewNode(
|
||||||
|
$this->translator->trans('tree.tools.system.settings'),
|
||||||
|
$this->urlGenerator->generate('system_settings')
|
||||||
|
))->setIcon('fa fa-fw fa-gears fa-solid');
|
||||||
|
}
|
||||||
|
|
||||||
return $nodes;
|
return $nodes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,6 +105,9 @@ class PermissionPresetsHelper
|
||||||
$this->permissionResolver->setAllOperationsOfPermission($perm_holder, 'suppliers', PermissionData::ALLOW);
|
$this->permissionResolver->setAllOperationsOfPermission($perm_holder, 'suppliers', PermissionData::ALLOW);
|
||||||
$this->permissionResolver->setAllOperationsOfPermission($perm_holder, 'projects', PermissionData::ALLOW);
|
$this->permissionResolver->setAllOperationsOfPermission($perm_holder, 'projects', PermissionData::ALLOW);
|
||||||
|
|
||||||
|
//Allow to change system settings
|
||||||
|
$this->permissionResolver->setPermission($perm_holder, 'config', 'change_system_settings', PermissionData::ALLOW);
|
||||||
|
|
||||||
//Allow to manage Oauth tokens
|
//Allow to manage Oauth tokens
|
||||||
$this->permissionResolver->setPermission($perm_holder, 'system', 'manage_oauth_tokens', PermissionData::ALLOW);
|
$this->permissionResolver->setPermission($perm_holder, 'system', 'manage_oauth_tokens', PermissionData::ALLOW);
|
||||||
//Allow to show updates
|
//Allow to show updates
|
||||||
|
|
|
@ -13012,5 +13012,17 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
||||||
<target>Show the image overlay with attachment details on hovering over the part image gallery.</target>
|
<target>Show the image overlay with attachment details on hovering over the part image gallery.</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
|
<unit id="ALfPkeR" name="perm.config.change_system_settings">
|
||||||
|
<segment>
|
||||||
|
<source>perm.config.change_system_settings</source>
|
||||||
|
<target>Change system settings</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
|
<unit id="TlHeIjk" name="tree.tools.system.settings">
|
||||||
|
<segment>
|
||||||
|
<source>tree.tools.system.settings</source>
|
||||||
|
<target>System settings</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue