From 37901b8f2e3564586938990b3c141a75d4c20617 Mon Sep 17 00:00:00 2001 From: Mike Decker Date: Tue, 3 Oct 2023 11:45:15 -0700 Subject: [PATCH 1/5] Added site owner contact fields --- ...s.stanford_basic_site_settings.default.yml | 135 ++++++++++++++++-- ....taxonomy_term.site_owner_orgs.default.yml | 25 ++++ ...s.stanford_basic_site_settings.default.yml | 44 ++++++ ....taxonomy_term.site_owner_orgs.default.yml | 14 ++ ...sic_site_settings.su_site_a11y_contact.yml | 19 +++ ...anford_basic_site_settings.su_site_org.yml | 29 ++++ ...ic_site_settings.su_site_owner_contact.yml | 19 +++ ...asic_site_settings.su_site_renewal_due.yml | 24 ++++ ...sic_site_settings.su_site_tech_contact.yml | 19 +++ ...rage.config_pages.su_site_a11y_contact.yml | 18 +++ ...field.storage.config_pages.su_site_org.yml | 20 +++ ...age.config_pages.su_site_owner_contact.yml | 18 +++ ...orage.config_pages.su_site_renewal_due.yml | 20 +++ ...rage.config_pages.su_site_tech_contact.yml | 18 +++ ...gs.taxonomy_vocabulary_site_owner_orgs.yml | 14 ++ .../taxonomy.vocabulary.site_owner_orgs.yml | 24 ++++ config/sync/user.role.site_manager.yml | 3 + .../0d7e973e-6b97-4243-a373-d486a581eb84.yml | 3 + .../0041f7fa-7608-4a39-9165-eb0fb9c592d5.yml | 53 +++++++ .../04a17e8e-a333-47ca-b5db-9d5989cbae8e.yml | 55 +++++++ .../1f588611-ddcd-4cca-b057-4cbcc1f791ae.yml | 53 +++++++ .../32028190-0690-423e-ba2a-723b0af0febb.yml | 53 +++++++ .../33b947db-a1d0-4063-ba6a-bec47bc4e006.yml | 53 +++++++ .../35a291b2-8f74-4bb8-bc62-39e21c80e77c.yml | 53 +++++++ .../3a4ad061-c28c-4125-9183-6ae995038f3f.yml | 53 +++++++ .../46cb7fbc-27f1-483a-99b4-867600410138.yml | 53 +++++++ .../495440e1-742e-445f-8b77-9a972ecb82ff.yml | 53 +++++++ .../55627a30-9032-44d6-aca9-aa43fc037c1e.yml | 53 +++++++ .../5d9e72d5-45b1-43ab-afae-f1e5bd55007f.yml | 53 +++++++ .../5e07046b-302f-45c7-a46d-17350cbe001d.yml | 53 +++++++ .../5f6ea0cd-520a-4c99-a826-592ea9c8330c.yml | 55 +++++++ .../62bbda38-57a5-47e4-8c36-c70ea9f70f30.yml | 53 +++++++ .../62deaa58-ec4c-41e2-8681-d0e95965ea9d.yml | 55 +++++++ .../6940df7a-2ad4-4a64-93a8-8218a64e8169.yml | 55 +++++++ .../6fa0ffd2-ceda-4598-80c0-ed01c53b0b94.yml | 53 +++++++ .../72272279-9f82-476f-999e-ee008881723c.yml | 53 +++++++ .../7888c194-dcee-4cbb-866d-b59f44113396.yml | 53 +++++++ .../87edc9eb-344d-4dde-8b8f-e78dff007eba.yml | 53 +++++++ .../8ad381b4-5b30-4afe-83f9-32ab80d009f6.yml | 53 +++++++ .../8dfbbc5f-2bfb-46ae-b00f-1245a6ad6843.yml | 53 +++++++ .../9856eb23-d550-4103-a078-18da2d414be9.yml | 55 +++++++ .../a464983f-65d2-4396-8db5-b64dc680818d.yml | 53 +++++++ .../a5ae8281-11c2-4f06-abc8-6b01d60b20a8.yml | 53 +++++++ .../af0d33be-0896-4991-82f7-bdab3ef9ca57.yml | 53 +++++++ .../b0efc5ea-fbf1-482d-9294-c298d76e2800.yml | 55 +++++++ .../b6d9a5f0-96f1-4b79-8604-cdefd0bb424c.yml | 53 +++++++ .../d6389b12-e0b7-413a-a464-e9c2939b55aa.yml | 53 +++++++ .../dc6ac0c7-4e4d-4cd1-966f-d03ec01d32f2.yml | 53 +++++++ .../de0aa1c0-d860-4afb-b5e3-729542c9b773.yml | 53 +++++++ .../e27eaa81-11c6-4381-88df-0f567d5e9bde.yml | 53 +++++++ .../e30a5335-3d70-4064-b143-6ab375e0267a.yml | 53 +++++++ .../ee2dfea1-f772-46d9-8746-5958c0e0d94e.yml | 53 +++++++ .../ef8ea5fd-ef65-4565-8417-7331b048d464.yml | 53 +++++++ .../f1ea54b3-3c20-4cf4-8c4c-8fb741780bec.yml | 53 +++++++ src/EventSubscriber/EventSubscriber.php | 79 +++++++++- stanford_profile.info.yml | 36 +++++ stanford_profile.post_update.php | 33 +++++ stanford_profile.services.yml | 2 +- .../EventSubscriber/EventSubscriberTest.php | 13 +- 59 files changed, 2524 insertions(+), 25 deletions(-) create mode 100644 config/sync/core.entity_form_display.taxonomy_term.site_owner_orgs.default.yml create mode 100644 config/sync/core.entity_view_display.taxonomy_term.site_owner_orgs.default.yml create mode 100644 config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_a11y_contact.yml create mode 100644 config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_org.yml create mode 100644 config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_owner_contact.yml create mode 100644 config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_renewal_due.yml create mode 100644 config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_tech_contact.yml create mode 100644 config/sync/field.storage.config_pages.su_site_a11y_contact.yml create mode 100644 config/sync/field.storage.config_pages.su_site_org.yml create mode 100644 config/sync/field.storage.config_pages.su_site_owner_contact.yml create mode 100644 config/sync/field.storage.config_pages.su_site_renewal_due.yml create mode 100644 config/sync/field.storage.config_pages.su_site_tech_contact.yml create mode 100644 config/sync/rabbit_hole.behavior_settings.taxonomy_vocabulary_site_owner_orgs.yml create mode 100644 config/sync/taxonomy.vocabulary.site_owner_orgs.yml create mode 100644 content/taxonomy_term/0041f7fa-7608-4a39-9165-eb0fb9c592d5.yml create mode 100644 content/taxonomy_term/04a17e8e-a333-47ca-b5db-9d5989cbae8e.yml create mode 100644 content/taxonomy_term/1f588611-ddcd-4cca-b057-4cbcc1f791ae.yml create mode 100644 content/taxonomy_term/32028190-0690-423e-ba2a-723b0af0febb.yml create mode 100644 content/taxonomy_term/33b947db-a1d0-4063-ba6a-bec47bc4e006.yml create mode 100644 content/taxonomy_term/35a291b2-8f74-4bb8-bc62-39e21c80e77c.yml create mode 100644 content/taxonomy_term/3a4ad061-c28c-4125-9183-6ae995038f3f.yml create mode 100644 content/taxonomy_term/46cb7fbc-27f1-483a-99b4-867600410138.yml create mode 100644 content/taxonomy_term/495440e1-742e-445f-8b77-9a972ecb82ff.yml create mode 100644 content/taxonomy_term/55627a30-9032-44d6-aca9-aa43fc037c1e.yml create mode 100644 content/taxonomy_term/5d9e72d5-45b1-43ab-afae-f1e5bd55007f.yml create mode 100644 content/taxonomy_term/5e07046b-302f-45c7-a46d-17350cbe001d.yml create mode 100644 content/taxonomy_term/5f6ea0cd-520a-4c99-a826-592ea9c8330c.yml create mode 100644 content/taxonomy_term/62bbda38-57a5-47e4-8c36-c70ea9f70f30.yml create mode 100644 content/taxonomy_term/62deaa58-ec4c-41e2-8681-d0e95965ea9d.yml create mode 100644 content/taxonomy_term/6940df7a-2ad4-4a64-93a8-8218a64e8169.yml create mode 100644 content/taxonomy_term/6fa0ffd2-ceda-4598-80c0-ed01c53b0b94.yml create mode 100644 content/taxonomy_term/72272279-9f82-476f-999e-ee008881723c.yml create mode 100644 content/taxonomy_term/7888c194-dcee-4cbb-866d-b59f44113396.yml create mode 100644 content/taxonomy_term/87edc9eb-344d-4dde-8b8f-e78dff007eba.yml create mode 100644 content/taxonomy_term/8ad381b4-5b30-4afe-83f9-32ab80d009f6.yml create mode 100644 content/taxonomy_term/8dfbbc5f-2bfb-46ae-b00f-1245a6ad6843.yml create mode 100644 content/taxonomy_term/9856eb23-d550-4103-a078-18da2d414be9.yml create mode 100644 content/taxonomy_term/a464983f-65d2-4396-8db5-b64dc680818d.yml create mode 100644 content/taxonomy_term/a5ae8281-11c2-4f06-abc8-6b01d60b20a8.yml create mode 100644 content/taxonomy_term/af0d33be-0896-4991-82f7-bdab3ef9ca57.yml create mode 100644 content/taxonomy_term/b0efc5ea-fbf1-482d-9294-c298d76e2800.yml create mode 100644 content/taxonomy_term/b6d9a5f0-96f1-4b79-8604-cdefd0bb424c.yml create mode 100644 content/taxonomy_term/d6389b12-e0b7-413a-a464-e9c2939b55aa.yml create mode 100644 content/taxonomy_term/dc6ac0c7-4e4d-4cd1-966f-d03ec01d32f2.yml create mode 100644 content/taxonomy_term/de0aa1c0-d860-4afb-b5e3-729542c9b773.yml create mode 100644 content/taxonomy_term/e27eaa81-11c6-4381-88df-0f567d5e9bde.yml create mode 100644 content/taxonomy_term/e30a5335-3d70-4064-b143-6ab375e0267a.yml create mode 100644 content/taxonomy_term/ee2dfea1-f772-46d9-8746-5958c0e0d94e.yml create mode 100644 content/taxonomy_term/ef8ea5fd-ef65-4565-8417-7331b048d464.yml create mode 100644 content/taxonomy_term/f1ea54b3-3c20-4cf4-8c4c-8fb741780bec.yml diff --git a/config/sync/core.entity_form_display.config_pages.stanford_basic_site_settings.default.yml b/config/sync/core.entity_form_display.config_pages.stanford_basic_site_settings.default.yml index ac3f90ae3..270db4b8f 100644 --- a/config/sync/core.entity_form_display.config_pages.stanford_basic_site_settings.default.yml +++ b/config/sync/core.entity_form_display.config_pages.stanford_basic_site_settings.default.yml @@ -9,6 +9,7 @@ dependencies: - field.field.config_pages.stanford_basic_site_settings.su_hide_site_search - field.field.config_pages.stanford_basic_site_settings.su_site_403 - field.field.config_pages.stanford_basic_site_settings.su_site_404 + - field.field.config_pages.stanford_basic_site_settings.su_site_a11y_contact - field.field.config_pages.stanford_basic_site_settings.su_site_admin_notes - field.field.config_pages.stanford_basic_site_settings.su_site_dropdowns - field.field.config_pages.stanford_basic_site_settings.su_site_email @@ -17,9 +18,15 @@ dependencies: - field.field.config_pages.stanford_basic_site_settings.su_site_name - field.field.config_pages.stanford_basic_site_settings.su_site_new_menu - field.field.config_pages.stanford_basic_site_settings.su_site_nobots + - field.field.config_pages.stanford_basic_site_settings.su_site_org + - field.field.config_pages.stanford_basic_site_settings.su_site_owner_contact + - field.field.config_pages.stanford_basic_site_settings.su_site_renewal_due + - field.field.config_pages.stanford_basic_site_settings.su_site_tech_contact - field.field.config_pages.stanford_basic_site_settings.su_site_url module: + - change_labels - conditional_fields + - cshs - field_group - link - text @@ -31,8 +38,8 @@ third_party_settings: - su_site_admin_notes label: Experimental region: content - parent_name: '' - weight: 12 + parent_name: group_site_details + weight: 13 format_type: details format_settings: classes: '' @@ -41,6 +48,66 @@ third_party_settings: open: false description: '' required_fields: false + group_tabs: + children: + - group_site_details + - group_contact_details + label: Tabs + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + show_empty_fields: false + id: '' + direction: horizontal + width_breakpoint: 640 + group_site_details: + children: + - su_site_name + - su_site_email + - su_site_url + - su_google_analytics + - su_site_dropdowns + - su_site_menu_levels + - su_hide_site_search + - su_hide_ext_link_icons + - su_site_home + - su_site_404 + - su_site_403 + - su_site_nobots + - group_experimental + label: 'Site Settings/Features' + region: content + parent_name: group_tabs + weight: 19 + format_type: tab + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: closed + description: '' + required_fields: true + group_contact_details: + children: + - su_site_owner_contact + - su_site_tech_contact + - su_site_a11y_contact + - su_site_org + label: 'Contact Details' + region: content + parent_name: group_tabs + weight: 20 + format_type: tab + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: closed + description: '' + required_fields: true id: config_pages.stanford_basic_site_settings.default targetEntityType: config_pages bundle: stanford_basic_site_settings @@ -48,7 +115,7 @@ mode: default content: su_google_analytics: type: string_textfield - weight: 3 + weight: 4 region: content settings: size: 60 @@ -56,30 +123,38 @@ content: third_party_settings: { } su_hide_ext_link_icons: type: boolean_checkbox - weight: 7 + weight: 8 region: content settings: display_label: true third_party_settings: { } su_hide_site_search: type: boolean_checkbox - weight: 6 + weight: 7 region: content settings: display_label: true third_party_settings: { } su_site_403: type: options_select - weight: 10 + weight: 11 region: content settings: { } third_party_settings: { } su_site_404: type: options_select - weight: 9 + weight: 10 region: content settings: { } third_party_settings: { } + su_site_a11y_contact: + type: email_default + weight: 6 + region: content + settings: + placeholder: '' + size: 60 + third_party_settings: { } su_site_admin_notes: type: text_textarea weight: 12 @@ -90,14 +165,14 @@ content: third_party_settings: { } su_site_dropdowns: type: boolean_checkbox - weight: 4 + weight: 5 region: content settings: display_label: true third_party_settings: { } su_site_email: type: email_default - weight: 1 + weight: 2 region: content settings: placeholder: '' @@ -105,13 +180,13 @@ content: third_party_settings: { } su_site_home: type: options_select - weight: 8 + weight: 9 region: content settings: { } third_party_settings: { } su_site_menu_levels: type: number - weight: 5 + weight: 6 region: content settings: placeholder: '' @@ -135,7 +210,7 @@ content: selector: '' su_site_name: type: string_textfield - weight: 0 + weight: 1 region: content settings: size: 60 @@ -150,14 +225,45 @@ content: third_party_settings: { } su_site_nobots: type: boolean_checkbox - weight: 11 + weight: 12 region: content settings: display_label: true third_party_settings: { } + su_site_org: + type: cshs + weight: 7 + region: content + settings: + save_lineage: false + force_deepest: false + parent: null + level_labels: '' + hierarchy_depth: 0 + required_depth: 0 + none_label: '- Please select -' + third_party_settings: + change_labels: + field_label_overwrite: '' + su_site_owner_contact: + type: email_default + weight: 4 + region: content + settings: + placeholder: '' + size: 60 + third_party_settings: { } + su_site_tech_contact: + type: email_default + weight: 5 + region: content + settings: + placeholder: '' + size: 60 + third_party_settings: { } su_site_url: type: link_default - weight: 2 + weight: 3 region: content settings: placeholder_url: '' @@ -165,3 +271,4 @@ content: third_party_settings: { } hidden: label: true + su_site_renewal_due: true diff --git a/config/sync/core.entity_form_display.taxonomy_term.site_owner_orgs.default.yml b/config/sync/core.entity_form_display.taxonomy_term.site_owner_orgs.default.yml new file mode 100644 index 000000000..f74a126bc --- /dev/null +++ b/config/sync/core.entity_form_display.taxonomy_term.site_owner_orgs.default.yml @@ -0,0 +1,25 @@ +uuid: 8552a374-507c-4d34-9c9c-459d268cbe57 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.site_owner_orgs +id: taxonomy_term.site_owner_orgs.default +targetEntityType: taxonomy_term +bundle: site_owner_orgs +mode: default +content: + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + description: true + path: true + publish_on: true + status: true + unpublish_on: true diff --git a/config/sync/core.entity_view_display.config_pages.stanford_basic_site_settings.default.yml b/config/sync/core.entity_view_display.config_pages.stanford_basic_site_settings.default.yml index 092ecc288..b9e467d05 100644 --- a/config/sync/core.entity_view_display.config_pages.stanford_basic_site_settings.default.yml +++ b/config/sync/core.entity_view_display.config_pages.stanford_basic_site_settings.default.yml @@ -9,6 +9,7 @@ dependencies: - field.field.config_pages.stanford_basic_site_settings.su_hide_site_search - field.field.config_pages.stanford_basic_site_settings.su_site_403 - field.field.config_pages.stanford_basic_site_settings.su_site_404 + - field.field.config_pages.stanford_basic_site_settings.su_site_a11y_contact - field.field.config_pages.stanford_basic_site_settings.su_site_admin_notes - field.field.config_pages.stanford_basic_site_settings.su_site_dropdowns - field.field.config_pages.stanford_basic_site_settings.su_site_email @@ -17,8 +18,13 @@ dependencies: - field.field.config_pages.stanford_basic_site_settings.su_site_name - field.field.config_pages.stanford_basic_site_settings.su_site_new_menu - field.field.config_pages.stanford_basic_site_settings.su_site_nobots + - field.field.config_pages.stanford_basic_site_settings.su_site_org + - field.field.config_pages.stanford_basic_site_settings.su_site_owner_contact + - field.field.config_pages.stanford_basic_site_settings.su_site_renewal_due + - field.field.config_pages.stanford_basic_site_settings.su_site_tech_contact - field.field.config_pages.stanford_basic_site_settings.su_site_url module: + - datetime - link - text id: config_pages.stanford_basic_site_settings.default @@ -70,6 +76,13 @@ content: third_party_settings: { } weight: 7 region: content + su_site_a11y_contact: + type: basic_string + label: above + settings: { } + third_party_settings: { } + weight: 17 + region: content su_site_admin_notes: type: text_default label: above @@ -139,6 +152,37 @@ content: third_party_settings: { } weight: 12 region: content + su_site_org: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 18 + region: content + su_site_owner_contact: + type: basic_string + label: above + settings: { } + third_party_settings: { } + weight: 14 + region: content + su_site_renewal_due: + type: datetime_default + label: above + settings: + timezone_override: '' + format_type: medium + third_party_settings: { } + weight: 15 + region: content + su_site_tech_contact: + type: basic_string + label: above + settings: { } + third_party_settings: { } + weight: 16 + region: content su_site_url: type: link label: above diff --git a/config/sync/core.entity_view_display.taxonomy_term.site_owner_orgs.default.yml b/config/sync/core.entity_view_display.taxonomy_term.site_owner_orgs.default.yml new file mode 100644 index 000000000..891230fca --- /dev/null +++ b/config/sync/core.entity_view_display.taxonomy_term.site_owner_orgs.default.yml @@ -0,0 +1,14 @@ +uuid: d8fba16a-7d29-4c7f-89de-a0e7b78671f2 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.site_owner_orgs +id: taxonomy_term.site_owner_orgs.default +targetEntityType: taxonomy_term +bundle: site_owner_orgs +mode: default +content: { } +hidden: + description: true + search_api_excerpt: true diff --git a/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_a11y_contact.yml b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_a11y_contact.yml new file mode 100644 index 000000000..f330b8962 --- /dev/null +++ b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_a11y_contact.yml @@ -0,0 +1,19 @@ +uuid: 42ca049b-3f48-4768-9c35-2ff160bd10df +langcode: en +status: true +dependencies: + config: + - config_pages.type.stanford_basic_site_settings + - field.storage.config_pages.su_site_a11y_contact +id: config_pages.stanford_basic_site_settings.su_site_a11y_contact +field_name: su_site_a11y_contact +entity_type: config_pages +bundle: stanford_basic_site_settings +label: 'Accessibility Contact' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: email diff --git a/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_org.yml b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_org.yml new file mode 100644 index 000000000..b8aca5423 --- /dev/null +++ b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_org.yml @@ -0,0 +1,29 @@ +uuid: 1deaeb31-cb9f-4513-abce-bb83bc0743ee +langcode: en +status: true +dependencies: + config: + - config_pages.type.stanford_basic_site_settings + - field.storage.config_pages.su_site_org + - taxonomy.vocabulary.site_owner_orgs +id: config_pages.stanford_basic_site_settings.su_site_org +field_name: su_site_org +entity_type: config_pages +bundle: stanford_basic_site_settings +label: Organization +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + site_owner_orgs: site_owner_orgs + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_owner_contact.yml b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_owner_contact.yml new file mode 100644 index 000000000..39d6bf2bf --- /dev/null +++ b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_owner_contact.yml @@ -0,0 +1,19 @@ +uuid: e457ce01-0e7b-4edc-bb4e-a33ac3e673a3 +langcode: en +status: true +dependencies: + config: + - config_pages.type.stanford_basic_site_settings + - field.storage.config_pages.su_site_owner_contact +id: config_pages.stanford_basic_site_settings.su_site_owner_contact +field_name: su_site_owner_contact +entity_type: config_pages +bundle: stanford_basic_site_settings +label: 'Site Owner Contact' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: email diff --git a/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_renewal_due.yml b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_renewal_due.yml new file mode 100644 index 000000000..dd8e24330 --- /dev/null +++ b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_renewal_due.yml @@ -0,0 +1,24 @@ +uuid: 457df835-c159-430b-9ef7-ce150124f017 +langcode: en +status: true +dependencies: + config: + - config_pages.type.stanford_basic_site_settings + - field.storage.config_pages.su_site_renewal_due + module: + - datetime +id: config_pages.stanford_basic_site_settings.su_site_renewal_due +field_name: su_site_renewal_due +entity_type: config_pages +bundle: stanford_basic_site_settings +label: 'Renewal Due' +description: '' +required: true +translatable: false +default_value: + - + default_date_type: relative + default_date: 'now + 12months' +default_value_callback: '' +settings: { } +field_type: datetime diff --git a/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_tech_contact.yml b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_tech_contact.yml new file mode 100644 index 000000000..da9146cc7 --- /dev/null +++ b/config/sync/field.field.config_pages.stanford_basic_site_settings.su_site_tech_contact.yml @@ -0,0 +1,19 @@ +uuid: aee406a9-b807-4dc9-ae82-749b10952948 +langcode: en +status: true +dependencies: + config: + - config_pages.type.stanford_basic_site_settings + - field.storage.config_pages.su_site_tech_contact +id: config_pages.stanford_basic_site_settings.su_site_tech_contact +field_name: su_site_tech_contact +entity_type: config_pages +bundle: stanford_basic_site_settings +label: 'Technical Contact' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: email diff --git a/config/sync/field.storage.config_pages.su_site_a11y_contact.yml b/config/sync/field.storage.config_pages.su_site_a11y_contact.yml new file mode 100644 index 000000000..b8a3078f9 --- /dev/null +++ b/config/sync/field.storage.config_pages.su_site_a11y_contact.yml @@ -0,0 +1,18 @@ +uuid: 852ec74c-1af4-4141-88a5-4d0a05785825 +langcode: en +status: true +dependencies: + module: + - config_pages +id: config_pages.su_site_a11y_contact +field_name: su_site_a11y_contact +entity_type: config_pages +type: email +settings: { } +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.config_pages.su_site_org.yml b/config/sync/field.storage.config_pages.su_site_org.yml new file mode 100644 index 000000000..3ab0f3fc4 --- /dev/null +++ b/config/sync/field.storage.config_pages.su_site_org.yml @@ -0,0 +1,20 @@ +uuid: c7097cac-531a-4faa-949f-d91ebaff5e29 +langcode: en +status: true +dependencies: + module: + - config_pages + - taxonomy +id: config_pages.su_site_org +field_name: su_site_org +entity_type: config_pages +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.config_pages.su_site_owner_contact.yml b/config/sync/field.storage.config_pages.su_site_owner_contact.yml new file mode 100644 index 000000000..c790ae125 --- /dev/null +++ b/config/sync/field.storage.config_pages.su_site_owner_contact.yml @@ -0,0 +1,18 @@ +uuid: 70f8e6a2-a6ed-48fd-b293-1e7b0d95fe6c +langcode: en +status: true +dependencies: + module: + - config_pages +id: config_pages.su_site_owner_contact +field_name: su_site_owner_contact +entity_type: config_pages +type: email +settings: { } +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.config_pages.su_site_renewal_due.yml b/config/sync/field.storage.config_pages.su_site_renewal_due.yml new file mode 100644 index 000000000..5dff8cbf6 --- /dev/null +++ b/config/sync/field.storage.config_pages.su_site_renewal_due.yml @@ -0,0 +1,20 @@ +uuid: de4bf1cb-94f5-493f-9bfb-7ab1ac10e3fb +langcode: en +status: true +dependencies: + module: + - config_pages + - datetime +id: config_pages.su_site_renewal_due +field_name: su_site_renewal_due +entity_type: config_pages +type: datetime +settings: + datetime_type: datetime +module: datetime +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.config_pages.su_site_tech_contact.yml b/config/sync/field.storage.config_pages.su_site_tech_contact.yml new file mode 100644 index 000000000..e14f427e1 --- /dev/null +++ b/config/sync/field.storage.config_pages.su_site_tech_contact.yml @@ -0,0 +1,18 @@ +uuid: 1a910c16-b956-4b33-8ecf-7d411ea9ad7d +langcode: en +status: true +dependencies: + module: + - config_pages +id: config_pages.su_site_tech_contact +field_name: su_site_tech_contact +entity_type: config_pages +type: email +settings: { } +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/rabbit_hole.behavior_settings.taxonomy_vocabulary_site_owner_orgs.yml b/config/sync/rabbit_hole.behavior_settings.taxonomy_vocabulary_site_owner_orgs.yml new file mode 100644 index 000000000..8b4c8ebcd --- /dev/null +++ b/config/sync/rabbit_hole.behavior_settings.taxonomy_vocabulary_site_owner_orgs.yml @@ -0,0 +1,14 @@ +uuid: 8cc7ed49-5f48-4d6d-90ad-460658804a0b +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.site_owner_orgs +id: taxonomy_vocabulary_site_owner_orgs +entity_type_id: taxonomy_vocabulary +entity_id: site_owner_orgs +action: page_not_found +allow_override: 0 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/config/sync/taxonomy.vocabulary.site_owner_orgs.yml b/config/sync/taxonomy.vocabulary.site_owner_orgs.yml new file mode 100644 index 000000000..bab4dc8a4 --- /dev/null +++ b/config/sync/taxonomy.vocabulary.site_owner_orgs.yml @@ -0,0 +1,24 @@ +uuid: 0611ae1d-2ab4-46c3-9cc8-2259355f0852 +langcode: en +status: true +dependencies: + module: + - scheduler +third_party_settings: + scheduler: + expand_fieldset: when_required + fields_display_mode: vertical_tab + publish_enable: false + publish_past_date: error + publish_past_date_created: false + publish_required: false + publish_revision: false + publish_touch: false + show_message_after_update: true + unpublish_enable: false + unpublish_required: false + unpublish_revision: false +name: 'Site Owner Orgs' +vid: site_owner_orgs +description: '' +weight: 0 diff --git a/config/sync/user.role.site_manager.yml b/config/sync/user.role.site_manager.yml index 6dfa56831..0fc0b71af 100644 --- a/config/sync/user.role.site_manager.yml +++ b/config/sync/user.role.site_manager.yml @@ -113,6 +113,7 @@ permissions: - 'create terms in basic_page_types' - 'create terms in event_audience' - 'create terms in media_tags' + - 'create terms in media_tags' - 'create terms in stanford_event_types' - 'create terms in stanford_news_topics' - 'create terms in stanford_person_types' @@ -164,6 +165,7 @@ permissions: - 'delete terms in basic_page_types' - 'delete terms in event_audience' - 'delete terms in media_tags' + - 'delete terms in media_tags' - 'delete terms in stanford_event_types' - 'delete terms in stanford_news_topics' - 'delete terms in stanford_person_types' @@ -215,6 +217,7 @@ permissions: - 'edit terms in basic_page_types' - 'edit terms in event_audience' - 'edit terms in media_tags' + - 'edit terms in media_tags' - 'edit terms in stanford_event_types' - 'edit terms in stanford_news_topics' - 'edit terms in stanford_person_types' diff --git a/content/config_pages/0d7e973e-6b97-4243-a373-d486a581eb84.yml b/content/config_pages/0d7e973e-6b97-4243-a373-d486a581eb84.yml index e2c801a02..1c707c182 100644 --- a/content/config_pages/0d7e973e-6b97-4243-a373-d486a581eb84.yml +++ b/content/config_pages/0d7e973e-6b97-4243-a373-d486a581eb84.yml @@ -19,3 +19,6 @@ default: su_site_dropdowns: - value: false + su_site_renewal_due: + - + value: '2020-01-01T00:00:00' diff --git a/content/taxonomy_term/0041f7fa-7608-4a39-9165-eb0fb9c592d5.yml b/content/taxonomy_term/0041f7fa-7608-4a39-9165-eb0fb9c592d5.yml new file mode 100644 index 000000000..17739c502 --- /dev/null +++ b/content/taxonomy_term/0041f7fa-7608-4a39-9165-eb0fb9c592d5.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 0041f7fa-7608-4a39-9165-eb0fb9c592d5 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Vice Provost for Student Affairs (VPSA)' + weight: + - + value: 34 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Vice Provost for Student Affairs (VPSA) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/56' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/04a17e8e-a333-47ca-b5db-9d5989cbae8e.yml b/content/taxonomy_term/04a17e8e-a333-47ca-b5db-9d5989cbae8e.yml new file mode 100644 index 000000000..a032bb6da --- /dev/null +++ b/content/taxonomy_term/04a17e8e-a333-47ca-b5db-9d5989cbae8e.yml @@ -0,0 +1,55 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 04a17e8e-a333-47ca-b5db-9d5989cbae8e + bundle: site_owner_orgs + default_langcode: en + depends: + 0041f7fa-7608-4a39-9165-eb0fb9c592d5: taxonomy_term +default: + status: + - + value: true + name: + - + value: 'Registrars Office' + weight: + - + value: 1 + parent: + - + entity: 0041f7fa-7608-4a39-9165-eb0fb9c592d5 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Registrars Office | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/57' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/1f588611-ddcd-4cca-b057-4cbcc1f791ae.yml b/content/taxonomy_term/1f588611-ddcd-4cca-b057-4cbcc1f791ae.yml new file mode 100644 index 000000000..c6bc12164 --- /dev/null +++ b/content/taxonomy_term/1f588611-ddcd-4cca-b057-4cbcc1f791ae.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 1f588611-ddcd-4cca-b057-4cbcc1f791ae + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Stanford Linear Accelerator (SLAC)' + weight: + - + value: 29 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Stanford Linear Accelerator (SLAC) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/42' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/32028190-0690-423e-ba2a-723b0af0febb.yml b/content/taxonomy_term/32028190-0690-423e-ba2a-723b0af0febb.yml new file mode 100644 index 000000000..db56de0b6 --- /dev/null +++ b/content/taxonomy_term/32028190-0690-423e-ba2a-723b0af0febb.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 32028190-0690-423e-ba2a-723b0af0febb + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Residential & Dining Enterprises (R&DE)' + weight: + - + value: 19 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Residential & Dining Enterprises (R&DE) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/54' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/33b947db-a1d0-4063-ba6a-bec47bc4e006.yml b/content/taxonomy_term/33b947db-a1d0-4063-ba6a-bec47bc4e006.yml new file mode 100644 index 000000000..16bae9e96 --- /dev/null +++ b/content/taxonomy_term/33b947db-a1d0-4063-ba6a-bec47bc4e006.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 33b947db-a1d0-4063-ba6a-bec47bc4e006 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Stanford University Libraries (SUL)' + weight: + - + value: 31 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Stanford University Libraries (SUL) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/60' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/35a291b2-8f74-4bb8-bc62-39e21c80e77c.yml b/content/taxonomy_term/35a291b2-8f74-4bb8-bc62-39e21c80e77c.yml new file mode 100644 index 000000000..c36f316c2 --- /dev/null +++ b/content/taxonomy_term/35a291b2-8f74-4bb8-bc62-39e21c80e77c.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 35a291b2-8f74-4bb8-bc62-39e21c80e77c + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Offices of President and Provost (PPO)' + weight: + - + value: 18 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Offices of President and Provost (PPO) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/38' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/3a4ad061-c28c-4125-9183-6ae995038f3f.yml b/content/taxonomy_term/3a4ad061-c28c-4125-9183-6ae995038f3f.yml new file mode 100644 index 000000000..5ac85be9e --- /dev/null +++ b/content/taxonomy_term/3a4ad061-c28c-4125-9183-6ae995038f3f.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 3a4ad061-c28c-4125-9183-6ae995038f3f + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Stanford Center for Professional Development (SCPD)' + weight: + - + value: 25 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Stanford Center for Professional Development (SCPD) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/73' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/46cb7fbc-27f1-483a-99b4-867600410138.yml b/content/taxonomy_term/46cb7fbc-27f1-483a-99b4-867600410138.yml new file mode 100644 index 000000000..215f459d8 --- /dev/null +++ b/content/taxonomy_term/46cb7fbc-27f1-483a-99b4-867600410138.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 46cb7fbc-27f1-483a-99b4-867600410138 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Graduate School of Education (GSE)' + weight: + - + value: 12 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Graduate School of Education (GSE) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/66' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/495440e1-742e-445f-8b77-9a972ecb82ff.yml b/content/taxonomy_term/495440e1-742e-445f-8b77-9a972ecb82ff.yml new file mode 100644 index 000000000..b01fe0bd2 --- /dev/null +++ b/content/taxonomy_term/495440e1-742e-445f-8b77-9a972ecb82ff.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 495440e1-742e-445f-8b77-9a972ecb82ff + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Staff Group/Community of Practice' + weight: + - + value: 23 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Staff Group/Community of Practice | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/72' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/55627a30-9032-44d6-aca9-aa43fc037c1e.yml b/content/taxonomy_term/55627a30-9032-44d6-aca9-aa43fc037c1e.yml new file mode 100644 index 000000000..ed3708836 --- /dev/null +++ b/content/taxonomy_term/55627a30-9032-44d6-aca9-aa43fc037c1e.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 55627a30-9032-44d6-aca9-aa43fc037c1e + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Office of General Counsel (OGC)' + weight: + - + value: 17 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Office of General Counsel (OGC) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/40' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/5d9e72d5-45b1-43ab-afae-f1e5bd55007f.yml b/content/taxonomy_term/5d9e72d5-45b1-43ab-afae-f1e5bd55007f.yml new file mode 100644 index 000000000..fe5646a1a --- /dev/null +++ b/content/taxonomy_term/5d9e72d5-45b1-43ab-afae-f1e5bd55007f.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 5d9e72d5-45b1-43ab-afae-f1e5bd55007f + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Stanford Doerr School of Sustainability (SDSS)' + weight: + - + value: 26 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Stanford Doerr School of Sustainability (SDSS) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/61' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/5e07046b-302f-45c7-a46d-17350cbe001d.yml b/content/taxonomy_term/5e07046b-302f-45c7-a46d-17350cbe001d.yml new file mode 100644 index 000000000..9d076776d --- /dev/null +++ b/content/taxonomy_term/5e07046b-302f-45c7-a46d-17350cbe001d.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 5e07046b-302f-45c7-a46d-17350cbe001d + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Dean of Research (DoR)' + weight: + - + value: 9 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Dean of Research (DoR) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/63' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/5f6ea0cd-520a-4c99-a826-592ea9c8330c.yml b/content/taxonomy_term/5f6ea0cd-520a-4c99-a826-592ea9c8330c.yml new file mode 100644 index 000000000..0602c847e --- /dev/null +++ b/content/taxonomy_term/5f6ea0cd-520a-4c99-a826-592ea9c8330c.yml @@ -0,0 +1,55 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 5f6ea0cd-520a-4c99-a826-592ea9c8330c + bundle: site_owner_orgs + default_langcode: en + depends: + 0041f7fa-7608-4a39-9165-eb0fb9c592d5: taxonomy_term +default: + status: + - + value: true + name: + - + value: 'Student Group' + weight: + - + value: 2 + parent: + - + entity: 0041f7fa-7608-4a39-9165-eb0fb9c592d5 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Student Group | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/59' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/62bbda38-57a5-47e4-8c36-c70ea9f70f30.yml b/content/taxonomy_term/62bbda38-57a5-47e4-8c36-c70ea9f70f30.yml new file mode 100644 index 000000000..1ca38e380 --- /dev/null +++ b/content/taxonomy_term/62bbda38-57a5-47e4-8c36-c70ea9f70f30.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 62bbda38-57a5-47e4-8c36-c70ea9f70f30 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Land, Building, and Real Estimate (LBRE)' + weight: + - + value: 15 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Land, Building, and Real Estimate (LBRE) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/55' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/62deaa58-ec4c-41e2-8681-d0e95965ea9d.yml b/content/taxonomy_term/62deaa58-ec4c-41e2-8681-d0e95965ea9d.yml new file mode 100644 index 000000000..019314fae --- /dev/null +++ b/content/taxonomy_term/62deaa58-ec4c-41e2-8681-d0e95965ea9d.yml @@ -0,0 +1,55 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 62deaa58-ec4c-41e2-8681-d0e95965ea9d + bundle: site_owner_orgs + default_langcode: en + depends: + e30a5335-3d70-4064-b143-6ab375e0267a: taxonomy_term +default: + status: + - + value: true + name: + - + value: UIT + weight: + - + value: 0 + parent: + - + entity: e30a5335-3d70-4064-b143-6ab375e0267a + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'UIT | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/44' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/6940df7a-2ad4-4a64-93a8-8218a64e8169.yml b/content/taxonomy_term/6940df7a-2ad4-4a64-93a8-8218a64e8169.yml new file mode 100644 index 000000000..a71f81566 --- /dev/null +++ b/content/taxonomy_term/6940df7a-2ad4-4a64-93a8-8218a64e8169.yml @@ -0,0 +1,55 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 6940df7a-2ad4-4a64-93a8-8218a64e8169 + bundle: site_owner_orgs + default_langcode: en + depends: + 72272279-9f82-476f-999e-ee008881723c: taxonomy_term +default: + status: + - + value: true + name: + - + value: 'Office of Development (OOD)' + weight: + - + value: 0 + parent: + - + entity: 72272279-9f82-476f-999e-ee008881723c + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Office of Development (OOD) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/51' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/6fa0ffd2-ceda-4598-80c0-ed01c53b0b94.yml b/content/taxonomy_term/6fa0ffd2-ceda-4598-80c0-ed01c53b0b94.yml new file mode 100644 index 000000000..e83bd3870 --- /dev/null +++ b/content/taxonomy_term/6fa0ffd2-ceda-4598-80c0-ed01c53b0b94.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 6fa0ffd2-ceda-4598-80c0-ed01c53b0b94 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'School of Engineering (SoE)' + weight: + - + value: 20 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'School of Engineering (SoE) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/65' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/72272279-9f82-476f-999e-ee008881723c.yml b/content/taxonomy_term/72272279-9f82-476f-999e-ee008881723c.yml new file mode 100644 index 000000000..6ecc6ed39 --- /dev/null +++ b/content/taxonomy_term/72272279-9f82-476f-999e-ee008881723c.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 72272279-9f82-476f-999e-ee008881723c + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Office of External Relations (EXRE)' + weight: + - + value: 16 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Office of External Relations (EXRE) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/49' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/7888c194-dcee-4cbb-866d-b59f44113396.yml b/content/taxonomy_term/7888c194-dcee-4cbb-866d-b59f44113396.yml new file mode 100644 index 000000000..931e9fe2c --- /dev/null +++ b/content/taxonomy_term/7888c194-dcee-4cbb-866d-b59f44113396.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 7888c194-dcee-4cbb-866d-b59f44113396 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Department of Athletics, Physical Education, and Recreation (DAPER)' + weight: + - + value: 10 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Department of Athletics, Physical Education, and Recreation (DAPER) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/62' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/87edc9eb-344d-4dde-8b8f-e78dff007eba.yml b/content/taxonomy_term/87edc9eb-344d-4dde-8b8f-e78dff007eba.yml new file mode 100644 index 000000000..d1688970b --- /dev/null +++ b/content/taxonomy_term/87edc9eb-344d-4dde-8b8f-e78dff007eba.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 87edc9eb-344d-4dde-8b8f-e78dff007eba + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Vice Provost for Undergraduate Education (VPUE)' + weight: + - + value: 35 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Vice Provost for Undergraduate Education (VPUE) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/53' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/8ad381b4-5b30-4afe-83f9-32ab80d009f6.yml b/content/taxonomy_term/8ad381b4-5b30-4afe-83f9-32ab80d009f6.yml new file mode 100644 index 000000000..72500fb16 --- /dev/null +++ b/content/taxonomy_term/8ad381b4-5b30-4afe-83f9-32ab80d009f6.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 8ad381b4-5b30-4afe-83f9-32ab80d009f6 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Stanford Law School (SLS)' + weight: + - + value: 28 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Stanford Law School (SLS) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/67' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/8dfbbc5f-2bfb-46ae-b00f-1245a6ad6843.yml b/content/taxonomy_term/8dfbbc5f-2bfb-46ae-b00f-1245a6ad6843.yml new file mode 100644 index 000000000..a900ab482 --- /dev/null +++ b/content/taxonomy_term/8dfbbc5f-2bfb-46ae-b00f-1245a6ad6843.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 8dfbbc5f-2bfb-46ae-b00f-1245a6ad6843 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Stanford Management Company' + weight: + - + value: 30 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Stanford Management Company | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/47' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/9856eb23-d550-4103-a078-18da2d414be9.yml b/content/taxonomy_term/9856eb23-d550-4103-a078-18da2d414be9.yml new file mode 100644 index 000000000..bcdb10e3b --- /dev/null +++ b/content/taxonomy_term/9856eb23-d550-4103-a078-18da2d414be9.yml @@ -0,0 +1,55 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: 9856eb23-d550-4103-a078-18da2d414be9 + bundle: site_owner_orgs + default_langcode: en + depends: + 72272279-9f82-476f-999e-ee008881723c: taxonomy_term +default: + status: + - + value: true + name: + - + value: 'University Communications (UCOMM)' + weight: + - + value: 1 + parent: + - + entity: 72272279-9f82-476f-999e-ee008881723c + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'University Communications (UCOMM) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/50' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/a464983f-65d2-4396-8db5-b64dc680818d.yml b/content/taxonomy_term/a464983f-65d2-4396-8db5-b64dc680818d.yml new file mode 100644 index 000000000..790f8a8b6 --- /dev/null +++ b/content/taxonomy_term/a464983f-65d2-4396-8db5-b64dc680818d.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: a464983f-65d2-4396-8db5-b64dc680818d + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Human Resources (HR)' + weight: + - + value: 14 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Human Resources (HR) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/45' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/a5ae8281-11c2-4f06-abc8-6b01d60b20a8.yml b/content/taxonomy_term/a5ae8281-11c2-4f06-abc8-6b01d60b20a8.yml new file mode 100644 index 000000000..b16590c18 --- /dev/null +++ b/content/taxonomy_term/a5ae8281-11c2-4f06-abc8-6b01d60b20a8.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: a5ae8281-11c2-4f06-abc8-6b01d60b20a8 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Hoover Institution' + weight: + - + value: 13 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Hoover Institution | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/41' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/af0d33be-0896-4991-82f7-bdab3ef9ca57.yml b/content/taxonomy_term/af0d33be-0896-4991-82f7-bdab3ef9ca57.yml new file mode 100644 index 000000000..5a309a01b --- /dev/null +++ b/content/taxonomy_term/af0d33be-0896-4991-82f7-bdab3ef9ca57.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: af0d33be-0896-4991-82f7-bdab3ef9ca57 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Vice President of the Arts (VPA)' + weight: + - + value: 32 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Vice President of the Arts (VPA) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/39' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/b0efc5ea-fbf1-482d-9294-c298d76e2800.yml b/content/taxonomy_term/b0efc5ea-fbf1-482d-9294-c298d76e2800.yml new file mode 100644 index 000000000..187ee5b16 --- /dev/null +++ b/content/taxonomy_term/b0efc5ea-fbf1-482d-9294-c298d76e2800.yml @@ -0,0 +1,55 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: b0efc5ea-fbf1-482d-9294-c298d76e2800 + bundle: site_owner_orgs + default_langcode: en + depends: + 0041f7fa-7608-4a39-9165-eb0fb9c592d5: taxonomy_term +default: + status: + - + value: true + name: + - + value: 'ASSU-recognized Student Group' + weight: + - + value: 0 + parent: + - + entity: 0041f7fa-7608-4a39-9165-eb0fb9c592d5 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'ASSU-recognized Student Group | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/58' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/b6d9a5f0-96f1-4b79-8604-cdefd0bb424c.yml b/content/taxonomy_term/b6d9a5f0-96f1-4b79-8604-cdefd0bb424c.yml new file mode 100644 index 000000000..afe3faf66 --- /dev/null +++ b/content/taxonomy_term/b6d9a5f0-96f1-4b79-8604-cdefd0bb424c.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: b6d9a5f0-96f1-4b79-8604-cdefd0bb424c + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Admissions & Financial Aid' + weight: + - + value: 6 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Admissions & Financial Aid | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/52' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/d6389b12-e0b7-413a-a464-e9c2939b55aa.yml b/content/taxonomy_term/d6389b12-e0b7-413a-a464-e9c2939b55aa.yml new file mode 100644 index 000000000..6a94206d6 --- /dev/null +++ b/content/taxonomy_term/d6389b12-e0b7-413a-a464-e9c2939b55aa.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: d6389b12-e0b7-413a-a464-e9c2939b55aa + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Graduate School of Business (GSB)' + weight: + - + value: 11 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Graduate School of Business (GSB) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/68' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/dc6ac0c7-4e4d-4cd1-966f-d03ec01d32f2.yml b/content/taxonomy_term/dc6ac0c7-4e4d-4cd1-966f-d03ec01d32f2.yml new file mode 100644 index 000000000..66abaaeaf --- /dev/null +++ b/content/taxonomy_term/dc6ac0c7-4e4d-4cd1-966f-d03ec01d32f2.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: dc6ac0c7-4e4d-4cd1-966f-d03ec01d32f2 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Stanford Alumni Association (SAA)' + weight: + - + value: 24 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Stanford Alumni Association (SAA) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/46' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/de0aa1c0-d860-4afb-b5e3-729542c9b773.yml b/content/taxonomy_term/de0aa1c0-d860-4afb-b5e3-729542c9b773.yml new file mode 100644 index 000000000..98da3077d --- /dev/null +++ b/content/taxonomy_term/de0aa1c0-d860-4afb-b5e3-729542c9b773.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: de0aa1c0-d860-4afb-b5e3-729542c9b773 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'School of Humanities and Sciences (H&S)' + weight: + - + value: 21 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'School of Humanities and Sciences (H&S) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/64' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/e27eaa81-11c6-4381-88df-0f567d5e9bde.yml b/content/taxonomy_term/e27eaa81-11c6-4381-88df-0f567d5e9bde.yml new file mode 100644 index 000000000..6a48015e8 --- /dev/null +++ b/content/taxonomy_term/e27eaa81-11c6-4381-88df-0f567d5e9bde.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: e27eaa81-11c6-4381-88df-0f567d5e9bde + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'School of Medicine (SoM)' + weight: + - + value: 22 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'School of Medicine (SoM) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/70' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/e30a5335-3d70-4064-b143-6ab375e0267a.yml b/content/taxonomy_term/e30a5335-3d70-4064-b143-6ab375e0267a.yml new file mode 100644 index 000000000..c9fcc03a5 --- /dev/null +++ b/content/taxonomy_term/e30a5335-3d70-4064-b143-6ab375e0267a.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: e30a5335-3d70-4064-b143-6ab375e0267a + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Business Affairs (BA)' + weight: + - + value: 8 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Business Affairs (BA) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/43' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/ee2dfea1-f772-46d9-8746-5958c0e0d94e.yml b/content/taxonomy_term/ee2dfea1-f772-46d9-8746-5958c0e0d94e.yml new file mode 100644 index 000000000..953fcc3e6 --- /dev/null +++ b/content/taxonomy_term/ee2dfea1-f772-46d9-8746-5958c0e0d94e.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: ee2dfea1-f772-46d9-8746-5958c0e0d94e + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Stanford Healthcare/ Stanford Medicine' + weight: + - + value: 27 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Stanford Healthcare/ Stanford Medicine | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/71' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/ef8ea5fd-ef65-4565-8417-7331b048d464.yml b/content/taxonomy_term/ef8ea5fd-ef65-4565-8417-7331b048d464.yml new file mode 100644 index 000000000..f2c83bf53 --- /dev/null +++ b/content/taxonomy_term/ef8ea5fd-ef65-4565-8417-7331b048d464.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: ef8ea5fd-ef65-4565-8417-7331b048d464 + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Board of Trustees' + weight: + - + value: 7 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Board of Trustees | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/48' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/content/taxonomy_term/f1ea54b3-3c20-4cf4-8c4c-8fb741780bec.yml b/content/taxonomy_term/f1ea54b3-3c20-4cf4-8c4c-8fb741780bec.yml new file mode 100644 index 000000000..dbb0c6d88 --- /dev/null +++ b/content/taxonomy_term/f1ea54b3-3c20-4cf4-8c4c-8fb741780bec.yml @@ -0,0 +1,53 @@ +_meta: + version: '1.0' + entity_type: taxonomy_term + uuid: f1ea54b3-3c20-4cf4-8c4c-8fb741780bec + bundle: site_owner_orgs + default_langcode: en +default: + status: + - + value: true + name: + - + value: 'Vice Provost for Graduate Education (VPGE)' + weight: + - + value: 33 + parent: + - + target_id: 0 + revision_translation_affected: + - + value: true + metatag: + - + tag: meta + attributes: + name: title + content: 'Vice Provost for Graduate Education (VPGE) | University' + - + tag: link + attributes: + rel: canonical + href: 'http://default/taxonomy/term/69' + - + tag: meta + attributes: + property: 'og:site_name' + content: University + - + tag: meta + attributes: + property: 'og:type' + content: website + - + tag: meta + attributes: + property: 'og:url' + content: 'http://default/home' + path: + - + alias: '' + langcode: en + pathauto: 1 diff --git a/src/EventSubscriber/EventSubscriber.php b/src/EventSubscriber/EventSubscriber.php index 78182fd70..acaff2cf3 100644 --- a/src/EventSubscriber/EventSubscriber.php +++ b/src/EventSubscriber/EventSubscriber.php @@ -4,16 +4,24 @@ use Acquia\DrupalEnvironmentDetector\AcquiaDrupalEnvironmentDetector; use Drupal\Core\File\FileSystemInterface; +use Drupal\Core\Installer\InstallerKernel; use Drupal\Core\Logger\LoggerChannelFactoryInterface; +use Drupal\Core\Messenger\MessengerInterface; use Drupal\Core\StreamWrapper\StreamWrapperManager; +use Drupal\Core\Url; use Drupal\core_event_dispatcher\EntityHookEvents; use Drupal\core_event_dispatcher\Event\Entity\EntityDeleteEvent; use Drupal\core_event_dispatcher\Event\Entity\EntityInsertEvent; +use Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent; +use Drupal\datetime\Plugin\Field\FieldType\DateTimeItemInterface; use Drupal\default_content\Event\DefaultContentEvents; use Drupal\default_content\Event\ImportEvent; use Drupal\file\FileInterface; use Drupal\user\RoleInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\HttpFoundation\RedirectResponse; +use Symfony\Component\HttpKernel\Event\RequestEvent; +use Symfony\Component\HttpKernel\KernelEvents; /** * Class EventSubscriber. @@ -49,7 +57,9 @@ public static function getSubscribedEvents() { return [ DefaultContentEvents::IMPORT => 'onContentImport', EntityHookEvents::ENTITY_INSERT => 'onEntityInsert', + EntityHookEvents::ENTITY_PRE_SAVE => 'onEntityPreSave', EntityHookEvents::ENTITY_DELETE => 'onEntityDelete', + KernelEvents::REQUEST => 'onKernelRequest', ]; } @@ -60,8 +70,10 @@ public static function getSubscribedEvents() { * File system service. * @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger_factory * Logger factory service. + * @param \Drupal\Core\Messenger\MessengerInterface $messenger + * Messenger service. */ - public function __construct(protected FileSystemInterface $fileSystem, LoggerChannelFactoryInterface $logger_factory) { + public function __construct(protected FileSystemInterface $fileSystem, LoggerChannelFactoryInterface $logger_factory, protected MessengerInterface $messenger) { $this->logger = $logger_factory->get('stanford_profile'); } @@ -77,6 +89,71 @@ public function onEntityInsert(EntityInsertEvent $event) { } } + /** + * On saving the config page, set the renewal date field. + * + * @param \Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent $event + * Entity presave event. + */ + public function onEntityPreSave(EntityPresaveEvent $event) { + $entity = $event->getEntity(); + if ( + $entity->getEntityTypeId() == 'config_pages' && + $entity->bundle() == 'stanford_basic_site_settings' + ) { + $renewal_date = time() + (InstallerKernel::installationAttempted() ? 0 : 60 * 60 * 24 * 365); + $entity->set('su_site_renewal_due', date(DateTimeItemInterface::DATETIME_STORAGE_FORMAT, $renewal_date)); + } + } + + /** + * On kernel request, redirect the user to update contact information. + * + * @param \Symfony\Component\HttpKernel\Event\RequestEvent $event + * Triggered event. + */ + public function onKernelRequest(RequestEvent $event) { + $current_uri = $event->getRequest()->getRequestUri(); + + if ( + !getenv('CI') && + $current_uri != '/admin/config/system/basic-site-settings' && + self::redirectUser() + ) { + $config_page_url = Url::fromRoute('config_pages.stanford_basic_site_settings'); + $this->messenger->addWarning('Please update or verify the site contact information.'); + $event->setResponse(new RedirectResponse($config_page_url->toString() . '#contact')); + } + } + + /** + * Check if the current user should be redirected to the site settings form. + * + * @return bool + * Redirect the user. + */ + protected static function redirectUser() { + $cache = \Drupal::cache(); + if ($cache_data = $cache->get('su_renew_site')) { + return $cache_data->data; + } + + /** @var \Drupal\config_pages\ConfigPagesLoaderServiceInterface $config_page_loader */ + $config_page_loader = \Drupal::service('config_pages.loader'); + $renewal_date = $config_page_loader->getValue('stanford_basic_site_settings', 'su_site_renewal_due', 0, 'value') ?: date(DateTimeItemInterface::DATETIME_STORAGE_FORMAT); + + // Check for config page edit access and ignore if the user is an + // administrator. That way devs don't get forced into submitting the form. + $current_user = \Drupal::currentUser(); + $site_manager = $current_user->hasPermission('edit stanford_basic_site_settings config page entity') && !in_array('administrator', $current_user->getRoles()); + + // If the renewal date has passed, they should be redirected. + $needs_renewal = $site_manager && strtotime($renewal_date) - time(); + $cache->set('su_renew_site', $needs_renewal, time() + 60 * 60 * 24); + + return $needs_renewal; + } + /** * On entity delete event. * diff --git a/stanford_profile.info.yml b/stanford_profile.info.yml index b4edd2433..248edc78d 100644 --- a/stanford_profile.info.yml +++ b/stanford_profile.info.yml @@ -186,33 +186,69 @@ default_content: - 14f046ae-3f83-4a89-b967-5ee2965bf7e5 - ca67a0aa-0cf1-4334-ac1e-be6372afecc5 taxonomy_term: + - 0041f7fa-7608-4a39-9165-eb0fb9c592d5 - 03d4f98a-d62c-47a2-85a5-71a47c7fe1ef + - 04a17e8e-a333-47ca-b5db-9d5989cbae8e - 04c17e9e-df3a-49d1-b65e-21dd7c13d191 - 0da6a528-91d9-48d9-bbf0-7c1e70bf5873 - 12ea0561-87fb-4882-8e59-1e1e3adec10a - 18fad5d5-356e-420c-83b0-6df80c1b6172 - 1eaae651-e131-4915-82af-847ad44d0544 + - 1f588611-ddcd-4cca-b057-4cbcc1f791ae - 2288b68b-04b4-43f4-9786-db54871a6e53 - 27f59ee7-d921-4c1a-8c32-175eed3b9d67 + - 32028190-0690-423e-ba2a-723b0af0febb + - 33b947db-a1d0-4063-ba6a-bec47bc4e006 + - 35a291b2-8f74-4bb8-bc62-39e21c80e77c + - 3a4ad061-c28c-4125-9183-6ae995038f3f - 3d2804ba-b2d4-42f2-8723-74aefa5e98c8 - 459e190b-ab37-490a-b679-967dde57b5ce + - 46cb7fbc-27f1-483a-99b4-867600410138 + - 495440e1-742e-445f-8b77-9a972ecb82ff + - 55627a30-9032-44d6-aca9-aa43fc037c1e + - 5d9e72d5-45b1-43ab-afae-f1e5bd55007f - 5dc9098a-0307-4534-a651-37c476ef1934 + - 5e07046b-302f-45c7-a46d-17350cbe001d + - 5f6ea0cd-520a-4c99-a826-592ea9c8330c + - 62bbda38-57a5-47e4-8c36-c70ea9f70f30 + - 62deaa58-ec4c-41e2-8681-d0e95965ea9d + - 6940df7a-2ad4-4a64-93a8-8218a64e8169 + - 6fa0ffd2-ceda-4598-80c0-ed01c53b0b94 + - 72272279-9f82-476f-999e-ee008881723c - 74d939be-aef1-4b26-8ea3-91f6140fe9d6 + - 7888c194-dcee-4cbb-866d-b59f44113396 - 849e72ee-29f5-481d-921f-769d99814af4 + - 87edc9eb-344d-4dde-8b8f-e78dff007eba - 888c30d5-39de-4c44-b76a-8766f27309b4 - 896d41ff-faec-4ad0-81d1-3adb87c93b00 - 8a4adb57-81db-42f0-a047-17f93160018b + - 8ad381b4-5b30-4afe-83f9-32ab80d009f6 + - 8dfbbc5f-2bfb-46ae-b00f-1245a6ad6843 - 94f3c757-f2e9-4ac7-a61a-974406fdeb13 - 96efe870-d4da-44e4-a52b-b3eea9f670f9 + - 9856eb23-d550-4103-a078-18da2d414be9 - a4295782-6e2c-4bfe-873e-dbdc730844bb + - a464983f-65d2-4396-8db5-b64dc680818d + - a5ae8281-11c2-4f06-abc8-6b01d60b20a8 + - af0d33be-0896-4991-82f7-bdab3ef9ca57 + - b0efc5ea-fbf1-482d-9294-c298d76e2800 - b1425aae-3d9b-4776-b617-485e54688d46 - b30bead1-2ee4-4883-aad8-1590a8877e9c + - b6d9a5f0-96f1-4b79-8604-cdefd0bb424c - bc30efe2-b577-4492-a806-1b941c56684f - ca79456c-d2da-452a-aa0b-2faa285aec2e - d08fb78b-7152-483a-8e3d-b27490638bac + - d6389b12-e0b7-413a-a464-e9c2939b55aa + - dc6ac0c7-4e4d-4cd1-966f-d03ec01d32f2 + - de0aa1c0-d860-4afb-b5e3-729542c9b773 - de41c434-c418-4afd-aab3-6cdb4d2a8ddd + - e27eaa81-11c6-4381-88df-0f567d5e9bde + - e30a5335-3d70-4064-b143-6ab375e0267a - e774e945-7dae-45ca-869d-921c909ffe95 - e9601005-8d3b-4fe2-95de-0728eac3e6ed + - ee2dfea1-f772-46d9-8746-5958c0e0d94e + - ef8ea5fd-ef65-4565-8417-7331b048d464 + - f1ea54b3-3c20-4cf4-8c4c-8fb741780bec - f25eec9d-acab-4bf4-a6ac-b84f684f5b8b user: - 04eed9d5-1f78-43d1-9ab2-93587a4b7119 diff --git a/stanford_profile.post_update.php b/stanford_profile.post_update.php index e2e9442b8..3a3ed9d4f 100644 --- a/stanford_profile.post_update.php +++ b/stanford_profile.post_update.php @@ -7,6 +7,7 @@ use Drupal\block_content\Entity\BlockContent; use Drupal\block\Entity\Block; +use Drupal\Core\Serialization\Yaml; /** * Implements hook_removed_post_updates(). @@ -98,3 +99,35 @@ function stanford_profile_post_update_samlauth() { $ignore_settings->set('ignored_config_entities', $ignored)->save(); \Drupal::service('module_installer')->install(['stanford_samlauth']); } + +/** + * Create site org vocab and terms. + */ +function stanford_profile_post_update_site_orgs() { + $vocab_storage = \Drupal::entityTypeManager() + ->getStorage('taxonomy_vocabulary'); + if (!$vocab_storage->load('site_owner_orgs')) { + $vocab_storage->create([ + 'uuid' => '0611ae1d-2ab4-46c3-9cc8-2259355f0852', + 'vid' => 'site_owner_orgs', + 'name' => 'Site Owner Orgs', + ])->save(); + + $profile_name = \Drupal::config('core.extension')->get('profile'); + $profile_path = \Drupal::service('extension.list.profile') + ->getPath($profile_name); + + /** @var \Drupal\default_content\Normalizer\ContentEntityNormalizer $importer */ + $normalizer = \Drupal::service('default_content.content_entity_normalizer'); + + $files = \Drupal::service('default_content.content_file_storage') + ->scan("$profile_path/content/taxonomy_term"); + + foreach ($files as $file) { + $term = Yaml::decode(file_get_contents($file->uri)); + if ($term['_meta']['bundle'] == 'site_owner_orgs') { + $normalizer->denormalize($term)->save(); + } + } + } +} diff --git a/stanford_profile.services.yml b/stanford_profile.services.yml index a13d50538..b631e3526 100644 --- a/stanford_profile.services.yml +++ b/stanford_profile.services.yml @@ -4,7 +4,7 @@ services: parent: default_plugin_manager stanford_profile.event_subscriber: class: '\Drupal\stanford_profile\EventSubscriber\EventSubscriber' - arguments: ['@file_system', '@logger.factory'] + arguments: ['@file_system', '@logger.factory', '@messenger'] tags: - { name: 'event_subscriber' } stanford_profile.config_overrider: diff --git a/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php b/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php index 3123d4c73..8e47f4a1d 100644 --- a/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php +++ b/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php @@ -3,12 +3,7 @@ namespace Drupal\Tests\stanford_profile\Kernel\EventSubscriber; use Drupal\consumers\Entity\Consumer; -use Drupal\Core\File\FileSystemInterface; -use Drupal\Core\Logger\LoggerChannelFactoryInterface; -use Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent; use Drupal\default_content\Event\ImportEvent; -use Drupal\field\Entity\FieldConfig; -use Drupal\field\Entity\FieldStorageConfig; use Drupal\file\Entity\File; use Drupal\KernelTests\KernelTestBase; use Drupal\media\Entity\Media; @@ -60,11 +55,11 @@ public function setup(): void { $this->installEntitySchema('oauth2_token'); $this->installEntitySchema('media'); + $file_system = \Drupal::service('file_system'); + $logger_factory = \Drupal::service('logger.factory'); + $messenger = \Drupal::messenger(); - $file_system = $this->createMock(FileSystemInterface::class); - $logger_factory = $this->createMock(LoggerChannelFactoryInterface::class); - - $this->eventSubscriber = new TestStanfordEventSubscriber($file_system, $logger_factory); + $this->eventSubscriber = new TestStanfordEventSubscriber($file_system, $logger_factory, $messenger); /** @var \Drupal\media\MediaTypeInterface $media_type */ $media_type = MediaType::create([ From 8a8a3c7779a03ac83dcbc0b015e53062cbf0aef4 Mon Sep 17 00:00:00 2001 From: Mike Decker Date: Tue, 3 Oct 2023 16:24:28 -0700 Subject: [PATCH 2/5] more test coverage --- src/EventSubscriber/EventSubscriber.php | 2 +- .../EventSubscriber/EventSubscriberTest.php | 47 +++++++++++++++++++ .../test_stanford_profile.info.yml | 6 +++ .../test_stanford_profile.routing.yml | 4 ++ 4 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 tests/test_stanford_profile/test_stanford_profile.info.yml create mode 100644 tests/test_stanford_profile/test_stanford_profile.routing.yml diff --git a/src/EventSubscriber/EventSubscriber.php b/src/EventSubscriber/EventSubscriber.php index acaff2cf3..06b9365a1 100644 --- a/src/EventSubscriber/EventSubscriber.php +++ b/src/EventSubscriber/EventSubscriber.php @@ -148,7 +148,7 @@ protected static function redirectUser() { $site_manager = $current_user->hasPermission('edit stanford_basic_site_settings config page entity') && !in_array('administrator', $current_user->getRoles()); // If the renewal date has passed, they should be redirected. - $needs_renewal = $site_manager && strtotime($renewal_date) - time(); + $needs_renewal = $site_manager && (strtotime($renewal_date) - time() < 60 * 60 * 24); $cache->set('su_renew_site', $needs_renewal, time() + 60 * 60 * 24); return $needs_renewal; diff --git a/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php b/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php index 8e47f4a1d..c9e3cf5ba 100644 --- a/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php +++ b/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php @@ -2,13 +2,21 @@ namespace Drupal\Tests\stanford_profile\Kernel\EventSubscriber; +use Drupal\config_pages\ConfigPagesLoaderServiceInterface; use Drupal\consumers\Entity\Consumer; +use Drupal\Core\Session\AccountProxyInterface; +use Drupal\core_event_dispatcher\Event\Entity\EntityInsertEvent; use Drupal\default_content\Event\ImportEvent; use Drupal\file\Entity\File; use Drupal\KernelTests\KernelTestBase; use Drupal\media\Entity\Media; use Drupal\media\Entity\MediaType; use Drupal\stanford_profile\EventSubscriber\EventSubscriber as StanfordEventSubscriber; +use Drupal\user\Entity\Role; +use Symfony\Component\HttpFoundation\RedirectResponse; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpKernel\Event\RequestEvent; +use Symfony\Component\HttpKernel\HttpKernelInterface; /** * Class EventSubscriberTest. @@ -33,6 +41,7 @@ class EventSubscriberTest extends KernelTestBase { 'simple_oauth', 'serialization', 'media', + 'test_stanford_profile', ]; /** @@ -113,6 +122,44 @@ public function testContentImportEntity() { $this->assertFileExists('public://foobar.jpg'); } + public function testUserInsert() { + \Drupal::service('module_installer')->install(['samlauth']); + $role = Role::create(['id' => 'test_role1', 'label' => 'Test role 1']); + $role->save(); + + $event = new EntityInsertEvent($role); + $this->eventSubscriber->onEntityInsert($event); + $saml_setting = \Drupal::config('samlauth.authentication') + ->get('map_users_roles'); + + $this->assertContains('test_role1', $saml_setting); + } + + public function testKernelRequest() { + $config_page_loader = $this->createMock(ConfigPagesLoaderServiceInterface::class); + + \Drupal::getContainer()->set('config_pages.loader', $config_page_loader); + + $account = $this->createMock(AccountProxyInterface::class); + $account->method('hasPermission')->willReturn(TRUE); + $account->method('getRoles')->willReturn([]); + + \Drupal::currentUser()->setAccount($account); + + $ci = getenv('CI'); + $request = Request::create('/foo/bar', 'GET', [], [], [], ['SCRIPT_NAME' => 'index.php']); + + $http_kernel = $this->createMock(HttpKernelInterface::class); + $event = new RequestEvent($http_kernel, $request, HttpKernelInterface::MAIN_REQUEST); + + $this->eventSubscriber->onKernelRequest($event); + $this->assertInstanceOf(RedirectResponse::class, $event->getResponse()); + + if ($ci) { + putenv("CI=$ci"); + } + } + } /** diff --git a/tests/test_stanford_profile/test_stanford_profile.info.yml b/tests/test_stanford_profile/test_stanford_profile.info.yml new file mode 100644 index 000000000..90c2ffcd6 --- /dev/null +++ b/tests/test_stanford_profile/test_stanford_profile.info.yml @@ -0,0 +1,6 @@ +name: 'Test Stanford Profile' +type: module +description: 'Stanford Profile Module.' +core_version_requirement: ^9 || ^10 +package: Testing +hidden: true diff --git a/tests/test_stanford_profile/test_stanford_profile.routing.yml b/tests/test_stanford_profile/test_stanford_profile.routing.yml new file mode 100644 index 000000000..ccd0fe4b0 --- /dev/null +++ b/tests/test_stanford_profile/test_stanford_profile.routing.yml @@ -0,0 +1,4 @@ +config_pages.stanford_basic_site_settings: + path: '/' + requirements: + _access: true From 30924c246f5e5ebeebb30bde4c2b46095c714439 Mon Sep 17 00:00:00 2001 From: Mike Decker Date: Tue, 3 Oct 2023 16:35:28 -0700 Subject: [PATCH 3/5] environment variable --- tests/src/Kernel/EventSubscriber/EventSubscriberTest.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php b/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php index c9e3cf5ba..e2c35a0cf 100644 --- a/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php +++ b/tests/src/Kernel/EventSubscriber/EventSubscriberTest.php @@ -136,6 +136,9 @@ public function testUserInsert() { } public function testKernelRequest() { + $ci = getenv('CI'); + putenv('CI'); + $config_page_loader = $this->createMock(ConfigPagesLoaderServiceInterface::class); \Drupal::getContainer()->set('config_pages.loader', $config_page_loader); @@ -145,8 +148,6 @@ public function testKernelRequest() { $account->method('getRoles')->willReturn([]); \Drupal::currentUser()->setAccount($account); - - $ci = getenv('CI'); $request = Request::create('/foo/bar', 'GET', [], [], [], ['SCRIPT_NAME' => 'index.php']); $http_kernel = $this->createMock(HttpKernelInterface::class); From 21fda2c2256d6e6b5a21a52d70045785b8af69fe Mon Sep 17 00:00:00 2001 From: Mike Decker Date: Mon, 9 Oct 2023 11:07:25 -0700 Subject: [PATCH 4/5] Updated acceptance tests --- src/EventSubscriber/EventSubscriber.php | 3 +-- .../acceptance/Content/SearchBlockCest.php | 18 ++++++++++++++++++ .../acceptance/SystemSiteConfigCest.php | 18 ++++++++++++++++++ .../Navigation/NavigationDropDownsCest.php | 9 +++++++++ 4 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/EventSubscriber/EventSubscriber.php b/src/EventSubscriber/EventSubscriber.php index 06b9365a1..0fceca2be 100644 --- a/src/EventSubscriber/EventSubscriber.php +++ b/src/EventSubscriber/EventSubscriber.php @@ -116,7 +116,6 @@ public function onKernelRequest(RequestEvent $event) { $current_uri = $event->getRequest()->getRequestUri(); if ( - !getenv('CI') && $current_uri != '/admin/config/system/basic-site-settings' && self::redirectUser() ) { @@ -148,7 +147,7 @@ protected static function redirectUser() { $site_manager = $current_user->hasPermission('edit stanford_basic_site_settings config page entity') && !in_array('administrator', $current_user->getRoles()); // If the renewal date has passed, they should be redirected. - $needs_renewal = $site_manager && (strtotime($renewal_date) - time() < 60 * 60 * 24); + $needs_renewal = !getenv('CI') && $site_manager && (strtotime($renewal_date) - time() < 60 * 60 * 24); $cache->set('su_renew_site', $needs_renewal, time() + 60 * 60 * 24); return $needs_renewal; diff --git a/tests/codeception/acceptance/Content/SearchBlockCest.php b/tests/codeception/acceptance/Content/SearchBlockCest.php index 21fa91fd7..322c8c9ca 100644 --- a/tests/codeception/acceptance/Content/SearchBlockCest.php +++ b/tests/codeception/acceptance/Content/SearchBlockCest.php @@ -1,5 +1,7 @@ faker = Factory::create(); + } + /** * Site managers should be able to disable the search block. */ public function testHideSearchBlock(AcceptanceTester $I) { + $org_term = $I->createEntity([ + 'vid' => 'site_owner_orgs', + 'name' => $this->faker->words(2, TRUE), + ], 'taxonomy_term'); + $I->logInWithRole('site_manager'); $I->amOnPage('/'); $I->seeElement('.su-site-search__input'); $I->amOnPage('/admin/config/system/basic-site-settings'); $I->see('Hide Site Search'); $I->checkOption('Hide Site Search'); + $I->fillField('Site Owner Contact (value 1)', $this->faker->email); + $I->fillField('Technical Contact (value 1)', $this->faker->email); + $I->fillField('Accessibility Contact (value 1)', $this->faker->email); + $I->selectOption('Organization', $org_term->id()); $I->click('Save'); // The settings might have been created or updated. $I->see('Site Settings has been'); diff --git a/tests/codeception/acceptance/SystemSiteConfigCest.php b/tests/codeception/acceptance/SystemSiteConfigCest.php index f6fbc7b21..a2ebf3305 100644 --- a/tests/codeception/acceptance/SystemSiteConfigCest.php +++ b/tests/codeception/acceptance/SystemSiteConfigCest.php @@ -37,12 +37,21 @@ public function __after(AcceptanceTester $I) { * The site manager should be able to change the site name. */ public function testBasicSiteSettings(AcceptanceTester $I) { + $org_term = $I->createEntity([ + 'vid' => 'site_owner_orgs', + 'name' => $this->faker->words(2, TRUE), + ], 'taxonomy_term'); + $I->logInWithRole('site_manager'); $I->amOnPage('/'); $I->cantSee('Foo Bar Site'); $I->amOnPage('/admin/config/system/basic-site-settings'); $I->cantSee('Site URL'); $I->fillField('Site Name', 'Foo Bar Site'); + $I->fillField('Site Owner Contact (value 1)', $this->faker->email); + $I->fillField('Technical Contact (value 1)', $this->faker->email); + $I->fillField('Accessibility Contact (value 1)', $this->faker->email); + $I->selectOption('Organization', $org_term->id()); $I->click('Save'); $I->amOnPage('/user/logout'); @@ -61,6 +70,11 @@ public function testBasicSiteSettings(AcceptanceTester $I) { * Site settings config should change the home, 404, and 403 pages. */ public function testSitePages(AcceptanceTester $I) { + $org_term = $I->createEntity([ + 'vid' => 'site_owner_orgs', + 'name' => $this->faker->words(2, TRUE), + ], 'taxonomy_term'); + $text = $this->faker->paragraph; $paragraph = $I->createEntity([ 'type' => 'stanford_wysiwyg', @@ -85,6 +99,10 @@ public function testSitePages(AcceptanceTester $I) { $I->logInWithRole('administrator'); $I->amOnPage('/admin/config/system/basic-site-settings'); $I->selectOption('Home Page', $node->label()); + $I->fillField('Site Owner Contact (value 1)', $this->faker->email); + $I->fillField('Technical Contact (value 1)', $this->faker->email); + $I->fillField('Accessibility Contact (value 1)', $this->faker->email); + $I->selectOption('Organization', $org_term->id()); $I->click('Save'); $I->canSee('Site Settings has been'); diff --git a/tests/codeception/functional/Navigation/NavigationDropDownsCest.php b/tests/codeception/functional/Navigation/NavigationDropDownsCest.php index 8a882d09e..f9ab2ef52 100644 --- a/tests/codeception/functional/Navigation/NavigationDropDownsCest.php +++ b/tests/codeception/functional/Navigation/NavigationDropDownsCest.php @@ -40,6 +40,11 @@ public function __after(FunctionalTester $I) { * @group menu_link_weight */ public function testDropdownMenus(FunctionalTester $I) { + $org_term = $I->createEntity([ + 'vid' => 'site_owner_orgs', + 'name' => $this->faker->words(2, TRUE), + ], 'taxonomy_term'); + $parent_menu_title = $this->faker->word; $I->createEntity([ 'title' => $parent_menu_title, @@ -51,6 +56,10 @@ public function testDropdownMenus(FunctionalTester $I) { $I->resizeWindow(1400, 700); $I->amOnPage('/admin/config/system/basic-site-settings'); $I->uncheckOption('Use drop down menus'); + $I->fillField('Site Owner Contact (value 1)', $this->faker->email); + $I->fillField('Technical Contact (value 1)', $this->faker->email); + $I->fillField('Accessibility Contact (value 1)', $this->faker->email); + $I->selectOption('Organization', $org_term->id()); $I->click('Save'); $I->amOnPage('/'); $I->cantSeeElement('button', ['class' => 'su-nav-toggle']); From b7cc25249bf2703205f78a256874f6e9f694fc9f Mon Sep 17 00:00:00 2001 From: Mike Decker Date: Mon, 9 Oct 2023 11:45:37 -0700 Subject: [PATCH 5/5] Update chosen issue --- config/sync/chosen.settings.yml | 4 ++-- ....config_pages.stanford_basic_site_settings.default.yml | 2 +- .../functional/Navigation/NavigationDropDownsCest.php | 8 ++++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/config/sync/chosen.settings.yml b/config/sync/chosen.settings.yml index 81a07ed88..7ca9b04b2 100644 --- a/config/sync/chosen.settings.yml +++ b/config/sync/chosen.settings.yml @@ -6,15 +6,15 @@ disable_search_threshold: 0 minimum_width: 300 max_shown_results: null use_relative_width: false -jquery_selector: 'select:visible' +jquery_selector: "select:not([class*='simpler-select']):visible" search_contains: false disable_search: false allow_single_deselect: false disabled_themes: claro: '0' - stanford_profile_admin: '0' minimally_branded_subtheme: '0' stanford_basic: '0' + stanford_profile_admin: '0' chosen_include: 2 placeholder_text_multiple: 'Choose some options' placeholder_text_single: 'Choose an option' diff --git a/config/sync/core.entity_form_display.config_pages.stanford_basic_site_settings.default.yml b/config/sync/core.entity_form_display.config_pages.stanford_basic_site_settings.default.yml index 270db4b8f..bb2ca9322 100644 --- a/config/sync/core.entity_form_display.config_pages.stanford_basic_site_settings.default.yml +++ b/config/sync/core.entity_form_display.config_pages.stanford_basic_site_settings.default.yml @@ -238,7 +238,7 @@ content: save_lineage: false force_deepest: false parent: null - level_labels: '' + level_labels: 'Org Code, Group' hierarchy_depth: 0 required_depth: 0 none_label: '- Please select -' diff --git a/tests/codeception/functional/Navigation/NavigationDropDownsCest.php b/tests/codeception/functional/Navigation/NavigationDropDownsCest.php index f9ab2ef52..25138414a 100644 --- a/tests/codeception/functional/Navigation/NavigationDropDownsCest.php +++ b/tests/codeception/functional/Navigation/NavigationDropDownsCest.php @@ -6,6 +6,7 @@ * Test for the lockup settings. * * @group navigation + * @group foobar */ class NavigationDropDownsCest { @@ -53,13 +54,16 @@ public function testDropdownMenus(FunctionalTester $I) { ], 'menu_link_content'); $I->logInWithRole('site_manager'); - $I->resizeWindow(1400, 700); + $I->resizeWindow(1400, 2000); $I->amOnPage('/admin/config/system/basic-site-settings'); $I->uncheckOption('Use drop down menus'); + + $I->click('Contact Details'); + $I->waitForElementVisible('[data-drupal-selector="edit-group-contact-details"]'); $I->fillField('Site Owner Contact (value 1)', $this->faker->email); $I->fillField('Technical Contact (value 1)', $this->faker->email); $I->fillField('Accessibility Contact (value 1)', $this->faker->email); - $I->selectOption('Organization', $org_term->id()); + $I->selectOption('Org Code', $org_term->id()); $I->click('Save'); $I->amOnPage('/'); $I->cantSeeElement('button', ['class' => 'su-nav-toggle']);