From 9bae6d15ff083f2f736646bce60934c6012ddf7f Mon Sep 17 00:00:00 2001 From: bach Date: Thu, 11 Mar 2021 23:14:16 +0100 Subject: [PATCH] twiked user page tabs --- .../custom/materio_user/materio_user.module | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/web/modules/custom/materio_user/materio_user.module b/web/modules/custom/materio_user/materio_user.module index b68fcd4..f10bb00 100644 --- a/web/modules/custom/materio_user/materio_user.module +++ b/web/modules/custom/materio_user/materio_user.module @@ -149,3 +149,52 @@ function materio_user_entity_type_build(array &$entity_types) { // https://drupal.stackexchange.com/a/230547 $entity_types['user']->setFormClass('modal', 'Drupal\user\RegisterForm'); } + +/* +* hook_menu_local_tasks_alter +*/ +function materio_user_menu_local_tasks_alter(&$data, $route_name){ + $t="t"; + // remove some tabs on user pages + // if (in_array($route_name, ['entity.user.canonical', 'entity.user.edit_form']) ) { + if (preg_match('/^entity\.user\./', $route_name) + || in_array($route_name, [ + 'simplenews.newsletter_subscriptions_user', + 'commerce_order.address_book.overview', + 'entity.commerce_payment_method.collection', + 'view.commerce_user_orders.order_page', + 'view.commerce_user_subscriptions.page_1' + ])) { + unset($data['tabs'][0]['profile.user_page:member']); + $data['tabs'][0]['entity.user.edit_form']['#weight'] = -20; + $data['tabs'][0]['simplenews.newsletter_subscriptions_user']['#weight'] = -9; + } + // foreach ($data['tabs'] as $key => $tab) { + // if ($key == 'profile.user_page:member') { + // unset($data['tabs'][$key]); + // } + // if ($key == 'entity.user.edit_form') { + // $data['tabs'][$key]['#weight'] = -200; + // } + // + // } +} + +/* +* hook_local_tasks_alter +*/ +// function materio_user_local_tasks_alter(&$local_tasks){ +// $t="t"; +// } + +function materio_user_form_alter(array &$form, FormStateInterface $forme_state, $form_id){ + if ($form_id == 'simplenews_subscriber_account_form') { + $user = \Drupal::currentUser(); + $roles = $user->getRoles(); + $t="t"; + if (in_array('adherent', $roles)) { + unset($form['subscriptions']['widget']['#options']['companies']); + unset($form['subscriptions']['widget']['#options']['test']); + } + } +}