Commit b64de6b9 authored by Chris Shantz's avatar Chris Shantz
Browse files

Merge branch '1.0.x' into prod/1.0.x

parents 8f612952 2e5fed4f
......@@ -5,6 +5,8 @@
* Install, update and uninstall for UW Sites all.
*/
use Drupal\Core\Url;
use Drupal\menu_link_content\Entity\MenuLinkContent;
use Drupal\user\Entity\Role;
/**
......@@ -35,6 +37,79 @@ function uw_sites_all_install() {
// Remove default "contact" form.
\Drupal::entityTypeManager()->getStorage('webform')->load('contact')->delete();
// Get the menu items.
$menu_items = _uw_sites_all_get_menu_items();
// Step through each menu item and create a menu link.
foreach ($menu_items as $menu_item) {
// Create the URL from the route name.
$url = URL::fromRoute($menu_item['route_name'])->toString();
// Create the actual menu link.
MenuLinkContent::create([
'title' => $menu_item['title'],
'link' => ['uri' => 'internal:' . $url],
'menu_name' => $menu_item['menu_name'],
'weight' => $menu_item['weight'],
'enabled' => $menu_item['enabled'],
])->save();
}
}
/**
* Helper function to return the UW default menu links.
*
* @return array[]
* Array of UW specific menu links.
*/
function _uw_sites_all_get_menu_items(): array {
return [
'Contacts' => [
'title' => 'Contacts',
'menu_name' => 'main',
'route_name' => 'view.uw_view_contacts.contact_page',
'weight' => 40,
'enabled' => TRUE,
],
'Profiles' => [
'title' => 'Profiles',
'menu_name' => 'main',
'route_name' => 'view.uw_view_profiles.profile_page',
'weight' => 45,
'enabled' => TRUE,
],
'Blog' => [
'title' => 'Blog',
'menu_name' => 'main',
'route_name' => 'view.uw_view_blogs.blog_page',
'weight' => 50,
'enabled' => TRUE,
],
'Events' => [
'title' => 'Events',
'menu_name' => 'main',
'route_name' => 'view.uw_view_events.event_page',
'weight' => 55,
'enabled' => TRUE,
],
'News' => [
'title' => 'News',
'menu_name' => 'main',
'route_name' => 'view.uw_view_news_items.news_page',
'weight' => 60,
'enabled' => TRUE,
],
'Catalogs' => [
'title' => 'Catalogs',
'menu_name' => 'main',
'route_name' => 'view.uw_view_catalogs.catalogs_page',
'weight' => 65,
'enabled' => FALSE,
],
];
}
/**
......@@ -189,3 +264,28 @@ function uw_sites_all_update_8107() {
\Drupal::service('module_installer')->uninstall($modules);
}
/**
* Recreate main menu items.
*/
function uw_sites_all_update_8108(&$sandbox) {
// Get the menu items.
$menu_items = _uw_sites_all_get_menu_items();
// Step through each menu item and create a menu link.
foreach ($menu_items as $menu_item) {
// Create the URL from the route name.
$url = URL::fromRoute($menu_item['route_name'])->toString();
// Create the actual menu link.
MenuLinkContent::create([
'title' => $menu_item['title'],
'link' => ['uri' => 'internal:' . $url],
'menu_name' => $menu_item['menu_name'],
'weight' => $menu_item['weight'],
'enabled' => $menu_item['enabled'],
])->save();
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment