Loading menu_admin_per_menu.info.yml +1 −2 Changes for menu_admin_per_menu.info.yml: 1 added line, 2 removed lines. Original line number Diff line number Diff line Loading @@ -2,8 +2,7 @@ name: Menu Admin per Menu type: module description: Allows to give roles per menu admin permissions without giving them full administer menu permission. package: Administration core: 8.x core_version_requirement: ^8 || ^9 core_version_requirement: ^9 || ^10 dependencies: - drupal:menu_ui - drupal:menu_link_content menu_admin_per_menu.module +2 −2 Changes for menu_admin_per_menu.module: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -116,14 +116,14 @@ function menu_admin_per_menu_menu_link_content_access(EntityInterface $entity, $ } /** * Implements hook_field_widget_multivalue_form_alter(). * Implements hook_field_widget_complete_form_alter(). * * Check for a menu entity reference field. When the default value is a menu * the current user doesn't have access to, hide the field. * * @see \Drupal\menu_admin_per_menu\Plugin\EntityReferenceSelection\MenuSelection */ function menu_admin_per_menu_field_widget_multivalue_form_alter(&$elements, FormStateInterface $form_state, array $context) { function menu_admin_per_menu_field_widget_complete_form_alter(&$elements, FormStateInterface $form_state, array $context) { $account = \Drupal::currentUser(); if ($account->hasPermission('administer menu')) { return; Loading src/Access/MenuAdminPerMenuAccess.php +4 −1 Changes for src/Access/MenuAdminPerMenuAccess.php: 4 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ class MenuAdminPerMenuAccess implements MenuAdminPerMenuAccessInterface { $perms_menu = &drupal_static(__FUNCTION__, []); if (!isset($perms_menu[$account->id()])) { $menus = menu_ui_get_menus(); $menus = array_map(function ($menu) { return $menu->label(); }, Menu::loadMultiple()); asort($menus); foreach ($menus as $name => $title) { $permission = 'administer ' . $name . ' menu items'; if ($account->hasPermission($permission)) { Loading src/MenuAdminPerMenuPermissions.php +6 −1 Changes for src/MenuAdminPerMenuPermissions.php: 6 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Drupal\menu_admin_per_menu; use Drupal\system\Entity\Menu; use Drupal\Core\StringTranslation\StringTranslationTrait; /** Loading @@ -23,7 +24,11 @@ class MenuAdminPerMenuPermissions { * Array of existing menus on the site. */ protected function getExistingMenus() { return menu_ui_get_menus(); $menu_list = array_map(function ($menu) { return $menu->label(); }, Menu::loadMultiple()); asort($menu_list); return $menu_list; } /** Loading src/Routing/RouteSubscriber.php +1 −1 Changes for src/Routing/RouteSubscriber.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ class RouteSubscriber extends RouteSubscriberBase { /** * {@inheritdoc} */ public static function getSubscribedEvents() { public static function getSubscribedEvents(): array { // Run after content_translation, which has priority -210. $events[RoutingEvents::ALTER] = ['onAlterRoutes', -220]; return $events; Loading Loading
menu_admin_per_menu.info.yml +1 −2 Changes for menu_admin_per_menu.info.yml: 1 added line, 2 removed lines. Original line number Diff line number Diff line Loading @@ -2,8 +2,7 @@ name: Menu Admin per Menu type: module description: Allows to give roles per menu admin permissions without giving them full administer menu permission. package: Administration core: 8.x core_version_requirement: ^8 || ^9 core_version_requirement: ^9 || ^10 dependencies: - drupal:menu_ui - drupal:menu_link_content
menu_admin_per_menu.module +2 −2 Changes for menu_admin_per_menu.module: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -116,14 +116,14 @@ function menu_admin_per_menu_menu_link_content_access(EntityInterface $entity, $ } /** * Implements hook_field_widget_multivalue_form_alter(). * Implements hook_field_widget_complete_form_alter(). * * Check for a menu entity reference field. When the default value is a menu * the current user doesn't have access to, hide the field. * * @see \Drupal\menu_admin_per_menu\Plugin\EntityReferenceSelection\MenuSelection */ function menu_admin_per_menu_field_widget_multivalue_form_alter(&$elements, FormStateInterface $form_state, array $context) { function menu_admin_per_menu_field_widget_complete_form_alter(&$elements, FormStateInterface $form_state, array $context) { $account = \Drupal::currentUser(); if ($account->hasPermission('administer menu')) { return; Loading
src/Access/MenuAdminPerMenuAccess.php +4 −1 Changes for src/Access/MenuAdminPerMenuAccess.php: 4 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ class MenuAdminPerMenuAccess implements MenuAdminPerMenuAccessInterface { $perms_menu = &drupal_static(__FUNCTION__, []); if (!isset($perms_menu[$account->id()])) { $menus = menu_ui_get_menus(); $menus = array_map(function ($menu) { return $menu->label(); }, Menu::loadMultiple()); asort($menus); foreach ($menus as $name => $title) { $permission = 'administer ' . $name . ' menu items'; if ($account->hasPermission($permission)) { Loading
src/MenuAdminPerMenuPermissions.php +6 −1 Changes for src/MenuAdminPerMenuPermissions.php: 6 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Drupal\menu_admin_per_menu; use Drupal\system\Entity\Menu; use Drupal\Core\StringTranslation\StringTranslationTrait; /** Loading @@ -23,7 +24,11 @@ class MenuAdminPerMenuPermissions { * Array of existing menus on the site. */ protected function getExistingMenus() { return menu_ui_get_menus(); $menu_list = array_map(function ($menu) { return $menu->label(); }, Menu::loadMultiple()); asort($menu_list); return $menu_list; } /** Loading
src/Routing/RouteSubscriber.php +1 −1 Changes for src/Routing/RouteSubscriber.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ class RouteSubscriber extends RouteSubscriberBase { /** * {@inheritdoc} */ public static function getSubscribedEvents() { public static function getSubscribedEvents(): array { // Run after content_translation, which has priority -210. $events[RoutingEvents::ALTER] = ['onAlterRoutes', -220]; return $events; Loading