diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..70578d9 --- /dev/null +++ b/composer.json @@ -0,0 +1,10 @@ +{ + "name": "ynorth-projects/openy_node_session", + "description": "Contains the Open Y Node Session feature.", + "type": "drupal-module", + "require": { + "ymcatwincities/openy": "*" + }, + "license": "GPL-2.0+", + "minimum-stability": "dev" +} diff --git a/config/install/core.entity_form_display.node.session.default.yml b/config/install/core.entity_form_display.node.session.default.yml new file mode 100644 index 0000000..4bee5c8 --- /dev/null +++ b/config/install/core.entity_form_display.node.session.default.yml @@ -0,0 +1,374 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.session.field_activity_type + - field.field.node.session.field_availability + - field.field.node.session.field_productid + - field.field.node.session.field_session_class + - field.field.node.session.field_session_description + - field.field.node.session.field_session_exclusions + - field.field.node.session.field_session_gender + - field.field.node.session.field_session_in_mbrsh + - field.field.node.session.field_session_instructor + - field.field.node.session.field_session_location + - field.field.node.session.field_session_max_age + - field.field.node.session.field_session_mbr_price + - field.field.node.session.field_session_min_age + - field.field.node.session.field_session_nmbr_price + - field.field.node.session.field_session_online + - field.field.node.session.field_session_plocation + - field.field.node.session.field_session_reg_link + - field.field.node.session.field_session_room + - field.field.node.session.field_session_ticket + - field.field.node.session.field_session_time + - field.field.node.session.field_wait_list_availability + - node.type.session +# - workflows.workflow.content_workflow + module: + - content_moderation + - datetime_range + - field_group + - link + - paragraphs + - path + - scheduler + - text +third_party_settings: + field_group: + group_session_info: + children: + - field_session_instructor + - field_session_description + - field_session_gender + - field_session_online + - field_session_ticket + - field_availability + - field_wait_list_availability + - field_session_min_age + - field_session_max_age + - field_session_reg_link + - field_activity_type + parent_name: '' + weight: 4 + format_type: tab + format_settings: + id: '' + classes: '' + formatter: closed + description: '' + required_fields: true + label: 'Session Info' + region: content + group_membership: + children: + - field_session_in_mbrsh + - field_session_mbr_price + - field_session_nmbr_price + - field_productid + parent_name: '' + weight: 5 + format_type: tab + format_settings: + id: '' + classes: '' + formatter: closed + description: '' + required_fields: true + label: Membership + region: content + group_location: + children: + - field_session_location + - field_session_plocation + - field_session_room + parent_name: '' + weight: 3 + format_type: tab + format_settings: + id: '' + classes: '' + formatter: closed + description: '' + required_fields: true + label: Location + region: content + group_time: + children: + - field_session_time + - field_session_exclusions + parent_name: '' + weight: 7 + format_type: tab + format_settings: + id: '' + classes: '' + formatter: closed + description: '' + required_fields: true + label: Time + region: content +id: node.session.default +targetEntityType: node +bundle: session +mode: default +content: + addthis: + type: boolean_checkbox + settings: + display_label: true + weight: 13 + region: content + third_party_settings: { } + created: + type: datetime_timestamp + weight: 9 + settings: { } + third_party_settings: { } + region: content + field_activity_type: + weight: 41 + settings: { } + third_party_settings: { } + type: options_select + region: content + field_availability: + type: number + weight: 16 + region: content + settings: + placeholder: '' + third_party_settings: { } + field_productid: + type: number + weight: 13 + region: content + settings: + placeholder: '' + third_party_settings: { } + field_session_class: + weight: 1 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + match_limit: 10 + third_party_settings: { } + type: entity_reference_autocomplete + region: content + field_session_description: + weight: 7 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + type: text_textarea + region: content + field_session_exclusions: + weight: 27 + settings: { } + third_party_settings: { } + type: daterange_default + region: content + field_session_gender: + weight: 8 + settings: { } + third_party_settings: { } + type: options_select + region: content + field_session_in_mbrsh: + weight: 10 + settings: + display_label: true + third_party_settings: { } + type: boolean_checkbox + region: content + field_session_instructor: + type: string_textfield + weight: 15 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_session_location: + weight: 11 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + match_limit: 10 + third_party_settings: { } + type: entity_reference_autocomplete + region: content + field_session_max_age: + weight: 13 + settings: + placeholder: '' + third_party_settings: { } + type: number + region: content + field_session_mbr_price: + weight: 11 + settings: + placeholder: '' + third_party_settings: { } + type: number + region: content + field_session_min_age: + weight: 12 + settings: + placeholder: '' + third_party_settings: { } + type: number + region: content + field_session_nmbr_price: + weight: 12 + settings: + placeholder: '' + third_party_settings: { } + type: number + region: content + field_session_online: + weight: 9 + settings: + display_label: true + third_party_settings: { } + type: boolean_checkbox + region: content + field_session_plocation: + weight: 12 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + match_limit: 10 + third_party_settings: { } + type: entity_reference_autocomplete + region: content + field_session_reg_link: + weight: 14 + settings: + placeholder_url: '' + placeholder_title: '' + third_party_settings: { } + type: link_default + region: content + field_session_room: + type: string_textfield + weight: 16 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_session_ticket: + weight: 10 + settings: + display_label: true + third_party_settings: { } + type: boolean_checkbox + region: content + field_session_time: + type: entity_reference_paragraphs + weight: 26 + settings: + title: Paragraph + title_plural: Paragraphs + edit_mode: closed + add_mode: dropdown + form_display_mode: default + default_paragraph_type: '' + third_party_settings: { } + region: content + field_wait_list_availability: + type: number + weight: 17 + region: content + settings: + placeholder: '' + third_party_settings: { } + langcode: + type: language_select + weight: 2 + region: content + settings: + include_locked: true + third_party_settings: { } + moderation_state: + type: moderation_state_default + weight: 17 + settings: { } + region: content + third_party_settings: { } + path: + type: path + weight: 12 + settings: { } + third_party_settings: { } + region: content + promote: + type: boolean_checkbox + settings: + display_label: true + weight: 10 + third_party_settings: { } + region: content + publish_on: + type: datetime_timestamp_no_default + weight: 14 + region: content + settings: { } + third_party_settings: { } + redirect: + type: string_textfield + weight: 16 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 18 + third_party_settings: { } + region: content + sticky: + type: boolean_checkbox + settings: + display_label: true + weight: 11 + third_party_settings: { } + region: content + title: + type: string_textfield + weight: 0 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + region: content + uid: + type: entity_reference_autocomplete + weight: 8 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + match_limit: 10 + third_party_settings: { } + region: content + unpublish_on: + type: datetime_timestamp_no_default + weight: 15 + region: content + settings: { } + third_party_settings: { } + url_redirects: + weight: 50 + settings: { } + third_party_settings: { } + region: content +hidden: { } diff --git a/config/install/core.entity_form_display.paragraph.session_time.default.yml b/config/install/core.entity_form_display.paragraph.session_time.default.yml new file mode 100644 index 0000000..5a22708 --- /dev/null +++ b/config/install/core.entity_form_display.paragraph.session_time.default.yml @@ -0,0 +1,39 @@ +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.session_time.field_session_time_date + - field.field.paragraph.session_time.field_session_time_days + - field.field.paragraph.session_time.field_session_time_override + - paragraphs.paragraphs_type.session_time + module: + - datetime_range +id: paragraph.session_time.default +targetEntityType: paragraph +bundle: session_time +mode: default +content: + field_session_time_date: + weight: 0 + settings: { } + third_party_settings: { } + type: daterange_default + region: content + field_session_time_days: + weight: 1 + settings: { } + third_party_settings: { } + type: options_buttons + region: content + field_session_time_override: + type: string_textfield + weight: 2 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + status: true + uid: true diff --git a/config/install/core.entity_view_display.node.session.default.yml b/config/install/core.entity_view_display.node.session.default.yml new file mode 100644 index 0000000..db87fd3 --- /dev/null +++ b/config/install/core.entity_view_display.node.session.default.yml @@ -0,0 +1,245 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.session.field_activity_type + - field.field.node.session.field_availability + - field.field.node.session.field_productid + - field.field.node.session.field_session_class + - field.field.node.session.field_session_description + - field.field.node.session.field_session_exclusions + - field.field.node.session.field_session_gender + - field.field.node.session.field_session_in_mbrsh + - field.field.node.session.field_session_instructor + - field.field.node.session.field_session_location + - field.field.node.session.field_session_max_age + - field.field.node.session.field_session_mbr_price + - field.field.node.session.field_session_min_age + - field.field.node.session.field_session_nmbr_price + - field.field.node.session.field_session_online + - field.field.node.session.field_session_plocation + - field.field.node.session.field_session_reg_link + - field.field.node.session.field_session_room + - field.field.node.session.field_session_ticket + - field.field.node.session.field_session_time + - field.field.node.session.field_wait_list_availability + - node.type.session + module: + - datetime_range + - entity_reference_revisions + - link + - options + - text + - user +id: node.session.default +targetEntityType: node +bundle: session +mode: default +content: + addthis: + label: hidden + type: string + weight: 100 + region: content + settings: + link_to_entity: false + third_party_settings: { } + field_activity_type: + weight: 120 + label: above + settings: { } + third_party_settings: { } + type: list_default + region: content + field_availability: + weight: 118 + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + type: number_integer + region: content + field_productid: + weight: 119 + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + type: number_integer + region: content + field_session_class: + weight: 101 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_session_description: + weight: 113 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_session_exclusions: + weight: 114 + label: above + settings: + separator: '-' + format_type: medium + timezone_override: '' + third_party_settings: { } + type: daterange_default + region: content + field_session_gender: + weight: 104 + label: above + settings: { } + third_party_settings: { } + type: list_default + region: content + field_session_in_mbrsh: + weight: 111 + label: above + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + type: boolean + region: content + field_session_instructor: + weight: 117 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_session_location: + weight: 102 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_session_max_age: + weight: 109 + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + type: number_integer + region: content + field_session_mbr_price: + weight: 106 + label: above + settings: + thousand_separator: '' + decimal_separator: . + scale: 2 + prefix_suffix: true + third_party_settings: { } + type: number_decimal + region: content + field_session_min_age: + weight: 108 + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + type: number_integer + region: content + field_session_nmbr_price: + weight: 107 + label: above + settings: + thousand_separator: '' + decimal_separator: . + scale: 2 + prefix_suffix: true + third_party_settings: { } + type: number_decimal + region: content + field_session_online: + weight: 112 + label: above + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + type: boolean + region: content + field_session_plocation: + weight: 103 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_session_reg_link: + weight: 105 + label: above + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + type: link + region: content + field_session_room: + weight: 116 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_session_ticket: + weight: 110 + label: above + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + type: boolean + region: content + field_session_time: + type: entity_reference_revisions_entity_view + weight: 115 + label: above + settings: + view_mode: default + link: '' + third_party_settings: { } + region: content + field_wait_list_availability: + weight: 119 + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + type: number_integer + region: content + links: + weight: 100 + settings: { } + third_party_settings: { } + region: content +hidden: + field_session_instructor: true + field_session_room: true + langcode: true + search_api_excerpt: true diff --git a/config/install/core.entity_view_display.node.session.teaser.yml b/config/install/core.entity_view_display.node.session.teaser.yml new file mode 100644 index 0000000..90d9ca9 --- /dev/null +++ b/config/install/core.entity_view_display.node.session.teaser.yml @@ -0,0 +1,71 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.session.field_activity_type + - field.field.node.session.field_availability + - field.field.node.session.field_productid + - field.field.node.session.field_session_class + - field.field.node.session.field_session_description + - field.field.node.session.field_session_exclusions + - field.field.node.session.field_session_gender + - field.field.node.session.field_session_in_mbrsh + - field.field.node.session.field_session_instructor + - field.field.node.session.field_session_location + - field.field.node.session.field_session_max_age + - field.field.node.session.field_session_mbr_price + - field.field.node.session.field_session_min_age + - field.field.node.session.field_session_nmbr_price + - field.field.node.session.field_session_online + - field.field.node.session.field_session_plocation + - field.field.node.session.field_session_reg_link + - field.field.node.session.field_session_room + - field.field.node.session.field_session_ticket + - field.field.node.session.field_session_time + - field.field.node.session.field_wait_list_availability + - node.type.session + module: + - user +id: node.session.teaser +targetEntityType: node +bundle: session +mode: teaser +content: + addthis: + label: hidden + type: string + weight: 100 + region: content + settings: + link_to_entity: false + third_party_settings: { } + links: + weight: 100 + region: content + settings: { } + third_party_settings: { } +hidden: + field_activity_type: true + field_availability: true + field_productid: true + field_session_class: true + field_session_description: true + field_session_exclusions: true + field_session_gender: true + field_session_in_mbrsh: true + field_session_instructor: true + field_session_location: true + field_session_max_age: true + field_session_mbr_price: true + field_session_min_age: true + field_session_nmbr_price: true + field_session_online: true + field_session_plocation: true + field_session_reg_link: true + field_session_room: true + field_session_ticket: true + field_session_time: true + field_wait_list_availability: true + langcode: true + search_api_excerpt: true diff --git a/config/install/core.entity_view_display.paragraph.session_time.default.yml b/config/install/core.entity_view_display.paragraph.session_time.default.yml new file mode 100644 index 0000000..5eec22a --- /dev/null +++ b/config/install/core.entity_view_display.paragraph.session_time.default.yml @@ -0,0 +1,52 @@ +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.session_time.field_session_time_date + - field.field.paragraph.session_time.field_session_time_days + - field.field.paragraph.session_time.field_session_time_override + - paragraphs.paragraphs_type.session_time + module: + - datetime_range + - options +id: paragraph.session_time.default +targetEntityType: paragraph +bundle: session_time +mode: default +content: + field_session_time_date: + weight: 0 + label: above + settings: + separator: '-' + format_type: medium + timezone_override: '' + third_party_settings: { } + type: daterange_default + region: content + field_session_time_days: + weight: 1 + label: above + settings: { } + third_party_settings: { } + type: list_default + region: content + field_session_time_override: + type: string + weight: 2 + label: above + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + moderation_state: + type: moderation_state_default + weight: 100 + settings: { } + region: content + third_party_settings: { } +hidden: + created: true + status: true + uid: true diff --git a/config/install/field.field.node.session.field_activity_type.yml b/config/install/field.field.node.session.field_activity_type.yml new file mode 100644 index 0000000..5d1485f --- /dev/null +++ b/config/install/field.field.node.session.field_activity_type.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_activity_type + - node.type.session + module: + - datalayer + - options +third_party_settings: + datalayer: + expose: 0 + label: field_activity_type +id: node.session.field_activity_type +field_name: field_activity_type +entity_type: node +bundle: session +label: 'Activity Type' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/config/install/field.field.node.session.field_availability.yml b/config/install/field.field.node.session.field_availability.yml new file mode 100644 index 0000000..d42f5c1 --- /dev/null +++ b/config/install/field.field.node.session.field_availability.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_availability + - node.type.session + module: + - datalayer +third_party_settings: + datalayer: + expose: 0 + label: '' +id: node.session.field_availability +field_name: field_availability +entity_type: node +bundle: session +label: 'Initial Availability' +description: 'Availability for the class to book/register. ' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/config/install/field.field.node.session.field_productid.yml b/config/install/field.field.node.session.field_productid.yml new file mode 100644 index 0000000..541d04b --- /dev/null +++ b/config/install/field.field.node.session.field_productid.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_productid + - node.type.session + module: + - datalayer +third_party_settings: + datalayer: + expose: 0 + label: '' +id: node.session.field_productid +field_name: field_productid +entity_type: node +bundle: session +label: 'Product ID' +description: 'ID of the product in external system aka CRM or any other. Used for integration of OpenY with external services.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/config/install/field.field.node.session.field_session_class.yml b/config/install/field.field.node.session.field_session_class.yml new file mode 100644 index 0000000..6c1a3b4 --- /dev/null +++ b/config/install/field.field.node.session.field_session_class.yml @@ -0,0 +1,27 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_class + - node.type.session +id: node.session.field_session_class +field_name: field_session_class +entity_type: node +bundle: session +label: Class +description: 'A reference field for selecting the program subcategory.' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default_no_dep:node' + handler_settings: + target_bundles: null + sort: + field: _none + auto_create: 0 + auto_create_bundle: '' + target_bundles_no_dep: + class: class +field_type: entity_reference diff --git a/config/install/field.field.node.session.field_session_description.yml b/config/install/field.field.node.session.field_session_description.yml new file mode 100644 index 0000000..068b1d9 --- /dev/null +++ b/config/install/field.field.node.session.field_session_description.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_description + - node.type.session + module: + - text +id: node.session.field_session_description +field_name: field_session_description +entity_type: node +bundle: session +label: Description +description: 'Textarea for the description/body with WYSIWYG, without summary.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/config/install/field.field.node.session.field_session_exclusions.yml b/config/install/field.field.node.session.field_session_exclusions.yml new file mode 100644 index 0000000..298568b --- /dev/null +++ b/config/install/field.field.node.session.field_session_exclusions.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_exclusions + - node.type.session + module: + - datetime_range +id: node.session.field_session_exclusions +field_name: field_session_exclusions +entity_type: node +bundle: session +label: Exclusions +description: 'A date field that identifies dates that would normally have an instance of the session but won’t. Needs to be able to have multiple exclusions. Supports multiple values. Should be handled by a single date field with ''end date'' option enabled. Its widget should be adjust to not to show period end date, but show period end time (to keep period start/end date equal).' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: daterange diff --git a/config/install/field.field.node.session.field_session_gender.yml b/config/install/field.field.node.session.field_session_gender.yml new file mode 100644 index 0000000..493b6d0 --- /dev/null +++ b/config/install/field.field.node.session.field_session_gender.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_gender + - node.type.session + module: + - options +id: node.session.field_session_gender +field_name: field_session_gender +entity_type: node +bundle: session +label: Gender +description: 'Select List with Gender options: Coed, Male, Female.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/config/install/field.field.node.session.field_session_in_mbrsh.yml b/config/install/field.field.node.session.field_session_in_mbrsh.yml new file mode 100644 index 0000000..e84d13e --- /dev/null +++ b/config/install/field.field.node.session.field_session_in_mbrsh.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_in_mbrsh + - node.type.session +id: node.session.field_session_in_mbrsh +field_name: field_session_in_mbrsh +entity_type: node +bundle: session +label: 'In membership' +description: 'Boolean field that helps determine if the session is included into membership package.' +required: false +translatable: true +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/config/install/field.field.node.session.field_session_instructor.yml b/config/install/field.field.node.session.field_session_instructor.yml new file mode 100644 index 0000000..23a2a32 --- /dev/null +++ b/config/install/field.field.node.session.field_session_instructor.yml @@ -0,0 +1,24 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_instructor + - node.type.session + module: + - datalayer +third_party_settings: + datalayer: + expose: 0 + label: field_session_instructor +id: node.session.field_session_instructor +field_name: field_session_instructor +entity_type: node +bundle: session +label: Instructor +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/install/field.field.node.session.field_session_location.yml b/config/install/field.field.node.session.field_session_location.yml new file mode 100644 index 0000000..a205d55 --- /dev/null +++ b/config/install/field.field.node.session.field_session_location.yml @@ -0,0 +1,36 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_location + - node.type.session + module: + - datalayer +third_party_settings: + datalayer: + expose: 0 + label: field_session_location +id: node.session.field_session_location +field_name: field_session_location +entity_type: node +bundle: session +label: Location +description: 'A reference field for selecting the branch or camp.' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default_no_dep:node' + handler_settings: + target_bundles: null + sort: + field: _none + auto_create: 0 + auto_create_bundle: branch + target_bundles_no_dep: + branch: branch + facility: facility + subsite_location: subsite_location + camp: camp +field_type: entity_reference diff --git a/config/install/field.field.node.session.field_session_max_age.yml b/config/install/field.field.node.session.field_session_max_age.yml new file mode 100644 index 0000000..2cdca57 --- /dev/null +++ b/config/install/field.field.node.session.field_session_max_age.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_max_age + - node.type.session +id: node.session.field_session_max_age +field_name: field_session_max_age +entity_type: node +bundle: session +label: 'Max Age' +description: 'Input field for adding the max age.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/config/install/field.field.node.session.field_session_mbr_price.yml b/config/install/field.field.node.session.field_session_mbr_price.yml new file mode 100644 index 0000000..21a7900 --- /dev/null +++ b/config/install/field.field.node.session.field_session_mbr_price.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_mbr_price + - node.type.session +id: node.session.field_session_mbr_price +field_name: field_session_mbr_price +entity_type: node +bundle: session +label: 'Member price' +description: 'Input with with the price information for members.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: $ + suffix: '' +field_type: decimal diff --git a/config/install/field.field.node.session.field_session_min_age.yml b/config/install/field.field.node.session.field_session_min_age.yml new file mode 100644 index 0000000..7bdc306 --- /dev/null +++ b/config/install/field.field.node.session.field_session_min_age.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_min_age + - node.type.session +id: node.session.field_session_min_age +field_name: field_session_min_age +entity_type: node +bundle: session +label: 'Min Age' +description: 'Input field for adding the min age.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/config/install/field.field.node.session.field_session_nmbr_price.yml b/config/install/field.field.node.session.field_session_nmbr_price.yml new file mode 100644 index 0000000..725a1a4 --- /dev/null +++ b/config/install/field.field.node.session.field_session_nmbr_price.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_nmbr_price + - node.type.session +id: node.session.field_session_nmbr_price +field_name: field_session_nmbr_price +entity_type: node +bundle: session +label: 'Non Member Price' +description: 'Input with with the price information for members.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: $ + suffix: '' +field_type: decimal diff --git a/config/install/field.field.node.session.field_session_online.yml b/config/install/field.field.node.session.field_session_online.yml new file mode 100644 index 0000000..88b0de9 --- /dev/null +++ b/config/install/field.field.node.session.field_session_online.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_online + - node.type.session +id: node.session.field_session_online +field_name: field_session_online +entity_type: node +bundle: session +label: 'Online registration' +description: 'Boolean field that determines if the Register Now button/link gets displayed.' +required: false +translatable: true +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/config/install/field.field.node.session.field_session_plocation.yml b/config/install/field.field.node.session.field_session_plocation.yml new file mode 100644 index 0000000..b511983 --- /dev/null +++ b/config/install/field.field.node.session.field_session_plocation.yml @@ -0,0 +1,33 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_plocation + - node.type.session + module: + - datalayer +third_party_settings: + datalayer: + expose: 0 + label: field_session_plocation +id: node.session.field_session_plocation +field_name: field_session_plocation +entity_type: node +bundle: session +label: 'Physical Location' +description: 'A reference field for selecting the facility.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default_no_dep:node' + handler_settings: + target_bundles: null + sort: + field: _none + auto_create: 0 + auto_create_bundle: '' + target_bundles_no_dep: + facility: facility +field_type: entity_reference diff --git a/config/install/field.field.node.session.field_session_reg_link.yml b/config/install/field.field.node.session.field_session_reg_link.yml new file mode 100644 index 0000000..6f49622 --- /dev/null +++ b/config/install/field.field.node.session.field_session_reg_link.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_reg_link + - node.type.session + module: + - link +id: node.session.field_session_reg_link +field_name: field_session_reg_link +entity_type: node +bundle: session +label: 'Registration link' +description: 'A link field with the Registration link Value.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + link_type: 17 + title: 1 +field_type: link diff --git a/config/install/field.field.node.session.field_session_room.yml b/config/install/field.field.node.session.field_session_room.yml new file mode 100644 index 0000000..854906f --- /dev/null +++ b/config/install/field.field.node.session.field_session_room.yml @@ -0,0 +1,24 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_room + - node.type.session + module: + - datalayer +third_party_settings: + datalayer: + expose: 0 + label: field_session_room +id: node.session.field_session_room +field_name: field_session_room +entity_type: node +bundle: session +label: Room +description: 'Name of the room where the session will be held. Example: "Studio A"' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/install/field.field.node.session.field_session_ticket.yml b/config/install/field.field.node.session.field_session_ticket.yml new file mode 100644 index 0000000..e0056c4 --- /dev/null +++ b/config/install/field.field.node.session.field_session_ticket.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_ticket + - node.type.session +id: node.session.field_session_ticket +field_name: field_session_ticket +entity_type: node +bundle: session +label: 'Ticket required' +description: 'Checkbox field to indicate that there is a ticket required.' +required: false +translatable: true +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/config/install/field.field.node.session.field_session_time.yml b/config/install/field.field.node.session.field_session_time.yml new file mode 100644 index 0000000..e40e9d1 --- /dev/null +++ b/config/install/field.field.node.session.field_session_time.yml @@ -0,0 +1,92 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_session_time + - node.type.session + - paragraphs.paragraphs_type.session_time + module: + - entity_reference_revisions +id: node.session.field_session_time +field_name: field_session_time +entity_type: node +bundle: session +label: Time +description: 'Session schedule.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:paragraph' + handler_settings: + target_bundles: + session_time: session_time + target_bundles_drag_drop: + banner: + weight: 23 + enabled: false + blog_posts_listing: + weight: 24 + enabled: false + branch_hours: + weight: 25 + enabled: false + camp_menu: + weight: 26 + enabled: false + categories_listing: + weight: 27 + enabled: false + classes_listing: + weight: 28 + enabled: false + classes_listing_filters: + weight: 29 + enabled: false + featured_blogs: + weight: 30 + enabled: false + featured_content: + weight: 31 + enabled: false + gallery: + weight: 32 + enabled: false + grid_content: + weight: 33 + enabled: false + latest_blog_posts: + weight: 34 + enabled: false + latest_blog_posts_branch: + weight: 35 + enabled: false + latest_blog_posts_camp: + weight: 36 + enabled: false + membership_info: + weight: 37 + enabled: false + prgf_location_finder: + weight: 38 + enabled: false + promo_card: + weight: 39 + enabled: false + session_time: + enabled: true + weight: 40 + simple_content: + weight: 41 + enabled: false + small_banner: + weight: 42 + enabled: false + story_card: + weight: 43 + enabled: false + teaser: + weight: 44 + enabled: false +field_type: entity_reference_revisions diff --git a/config/install/field.field.node.session.field_wait_list_availability.yml b/config/install/field.field.node.session.field_wait_list_availability.yml new file mode 100644 index 0000000..89b17e6 --- /dev/null +++ b/config/install/field.field.node.session.field_wait_list_availability.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_wait_list_availability + - node.type.session + module: + - datalayer +third_party_settings: + datalayer: + expose: 0 + label: '' +id: node.session.field_wait_list_availability +field_name: field_wait_list_availability +entity_type: node +bundle: session +label: 'Wait List Availability' +description: 'Availability for the wait list for registration.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/config/install/field.field.paragraph.session_time.field_session_time_date.yml b/config/install/field.field.paragraph.session_time.field_session_time_date.yml new file mode 100644 index 0000000..b510226 --- /dev/null +++ b/config/install/field.field.paragraph.session_time.field_session_time_date.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_session_time_date + - paragraphs.paragraphs_type.session_time + module: + - datetime_range +id: paragraph.session_time.field_session_time_date +field_name: field_session_time_date +entity_type: paragraph +bundle: session_time +label: 'Date & Time' +description: 'For example dates from 01/01/2018 to 01/01/2019 will indicate that this session schedule is going to be displayed only during year 2018.
Time set "from 1:00 PM to 2:00 PM" will indicate that this class is happening at that time.
If you select "Saturday" in the next field, that will mean your class happening "From 1pm to 2pm on every Saturday of 2018".' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: daterange diff --git a/config/install/field.field.paragraph.session_time.field_session_time_days.yml b/config/install/field.field.paragraph.session_time.field_session_time_days.yml new file mode 100644 index 0000000..7deae0d --- /dev/null +++ b/config/install/field.field.paragraph.session_time.field_session_time_days.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_session_time_days + - paragraphs.paragraphs_type.session_time + module: + - options +id: paragraph.session_time.field_session_time_days +field_name: field_session_time_days +entity_type: paragraph +bundle: session_time +label: Days +description: 'Indicate on what days your class is repeating during period specified in previous field.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/config/install/field.field.paragraph.session_time.field_session_time_override.yml b/config/install/field.field.paragraph.session_time.field_session_time_override.yml new file mode 100644 index 0000000..760fcf5 --- /dev/null +++ b/config/install/field.field.paragraph.session_time.field_session_time_override.yml @@ -0,0 +1,24 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_session_time_override + - paragraphs.paragraphs_type.session_time + module: + - datalayer +third_party_settings: + datalayer: + expose: 0 + label: field_session_time_override +id: paragraph.session_time.field_session_time_override +field_name: field_session_time_override +entity_type: paragraph +bundle: session_time +label: 'Session time override' +description: 'Override session time to text' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/install/field.storage.node.field_activity_type.yml b/config/install/field.storage.node.field_activity_type.yml new file mode 100644 index 0000000..8c7dec8 --- /dev/null +++ b/config/install/field.storage.node.field_activity_type.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + module: + - node + - options +id: node.field_activity_type +field_name: field_activity_type +entity_type: node +type: list_string +settings: + allowed_values: + - + value: group + label: Group + - + value: personal + label: Personal + - + value: 'small group training' + label: 'Small Group Training' + allowed_values_function: '' +module: options +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_availability.yml b/config/install/field.storage.node.field_availability.yml new file mode 100644 index 0000000..deedc6e --- /dev/null +++ b/config/install/field.storage.node.field_availability.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_availability +field_name: field_availability +entity_type: node +type: integer +settings: + unsigned: false + size: normal +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_productid.yml b/config/install/field.storage.node.field_productid.yml new file mode 100644 index 0000000..0022f8a --- /dev/null +++ b/config/install/field.storage.node.field_productid.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_productid +field_name: field_productid +entity_type: node +type: integer +settings: + unsigned: false + size: normal +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_class.yml b/config/install/field.storage.node.field_session_class.yml new file mode 100644 index 0000000..72009e5 --- /dev/null +++ b/config/install/field.storage.node.field_session_class.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_class +field_name: field_session_class +entity_type: node +type: entity_reference +settings: + target_type: node +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_description.yml b/config/install/field.storage.node.field_session_description.yml new file mode 100644 index 0000000..4370598 --- /dev/null +++ b/config/install/field.storage.node.field_session_description.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_session_description +field_name: field_session_description +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_exclusions.yml b/config/install/field.storage.node.field_session_exclusions.yml new file mode 100644 index 0000000..36c4ade --- /dev/null +++ b/config/install/field.storage.node.field_session_exclusions.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - datetime_range + - node +id: node.field_session_exclusions +field_name: field_session_exclusions +entity_type: node +type: daterange +settings: + datetime_type: datetime +module: datetime_range +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_gender.yml b/config/install/field.storage.node.field_session_gender.yml new file mode 100644 index 0000000..7c1f30f --- /dev/null +++ b/config/install/field.storage.node.field_session_gender.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + module: + - node + - options +id: node.field_session_gender +field_name: field_session_gender +entity_type: node +type: list_string +settings: + allowed_values: + - + value: coed + label: Coed + - + value: male + label: Male + - + value: female + label: Female + allowed_values_function: '' +module: options +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_in_mbrsh.yml b/config/install/field.storage.node.field_session_in_mbrsh.yml new file mode 100644 index 0000000..cd38e44 --- /dev/null +++ b/config/install/field.storage.node.field_session_in_mbrsh.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_in_mbrsh +field_name: field_session_in_mbrsh +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_instructor.yml b/config/install/field.storage.node.field_session_instructor.yml new file mode 100644 index 0000000..730344c --- /dev/null +++ b/config/install/field.storage.node.field_session_instructor.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_instructor +field_name: field_session_instructor +entity_type: node +type: string +settings: + max_length: 255 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_location.yml b/config/install/field.storage.node.field_session_location.yml new file mode 100644 index 0000000..b01bdc7 --- /dev/null +++ b/config/install/field.storage.node.field_session_location.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_location +field_name: field_session_location +entity_type: node +type: entity_reference +settings: + target_type: node +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_max_age.yml b/config/install/field.storage.node.field_session_max_age.yml new file mode 100644 index 0000000..698a0bd --- /dev/null +++ b/config/install/field.storage.node.field_session_max_age.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_max_age +field_name: field_session_max_age +entity_type: node +type: integer +settings: + unsigned: false + size: normal +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_mbr_price.yml b/config/install/field.storage.node.field_session_mbr_price.yml new file mode 100644 index 0000000..8559fe4 --- /dev/null +++ b/config/install/field.storage.node.field_session_mbr_price.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_mbr_price +field_name: field_session_mbr_price +entity_type: node +type: decimal +settings: + precision: 10 + scale: 2 +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_min_age.yml b/config/install/field.storage.node.field_session_min_age.yml new file mode 100644 index 0000000..c96d904 --- /dev/null +++ b/config/install/field.storage.node.field_session_min_age.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_min_age +field_name: field_session_min_age +entity_type: node +type: integer +settings: + unsigned: false + size: normal +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_nmbr_price.yml b/config/install/field.storage.node.field_session_nmbr_price.yml new file mode 100644 index 0000000..675cec8 --- /dev/null +++ b/config/install/field.storage.node.field_session_nmbr_price.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_nmbr_price +field_name: field_session_nmbr_price +entity_type: node +type: decimal +settings: + precision: 10 + scale: 2 +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_online.yml b/config/install/field.storage.node.field_session_online.yml new file mode 100644 index 0000000..6f9ee99 --- /dev/null +++ b/config/install/field.storage.node.field_session_online.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_online +field_name: field_session_online +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_plocation.yml b/config/install/field.storage.node.field_session_plocation.yml new file mode 100644 index 0000000..34b2f2f --- /dev/null +++ b/config/install/field.storage.node.field_session_plocation.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_plocation +field_name: field_session_plocation +entity_type: node +type: entity_reference +settings: + target_type: node +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_reg_link.yml b/config/install/field.storage.node.field_session_reg_link.yml new file mode 100644 index 0000000..789a2ab --- /dev/null +++ b/config/install/field.storage.node.field_session_reg_link.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - link + - node +id: node.field_session_reg_link +field_name: field_session_reg_link +entity_type: node +type: link +settings: { } +module: link +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_room.yml b/config/install/field.storage.node.field_session_room.yml new file mode 100644 index 0000000..d7263a9 --- /dev/null +++ b/config/install/field.storage.node.field_session_room.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_room +field_name: field_session_room +entity_type: node +type: string +settings: + max_length: 255 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_ticket.yml b/config/install/field.storage.node.field_session_ticket.yml new file mode 100644 index 0000000..6be4c20 --- /dev/null +++ b/config/install/field.storage.node.field_session_ticket.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_session_ticket +field_name: field_session_ticket +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_session_time.yml b/config/install/field.storage.node.field_session_time.yml new file mode 100644 index 0000000..f8b8f03 --- /dev/null +++ b/config/install/field.storage.node.field_session_time.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - entity_reference_revisions + - node + - paragraphs +id: node.field_session_time +field_name: field_session_time +entity_type: node +type: entity_reference_revisions +settings: + target_type: paragraph +module: entity_reference_revisions +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.node.field_wait_list_availability.yml b/config/install/field.storage.node.field_wait_list_availability.yml new file mode 100644 index 0000000..2424e45 --- /dev/null +++ b/config/install/field.storage.node.field_wait_list_availability.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_wait_list_availability +field_name: field_wait_list_availability +entity_type: node +type: integer +settings: + unsigned: false + size: normal +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.paragraph.field_session_time_date.yml b/config/install/field.storage.paragraph.field_session_time_date.yml new file mode 100644 index 0000000..6879de1 --- /dev/null +++ b/config/install/field.storage.paragraph.field_session_time_date.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - datetime_range + - paragraphs +id: paragraph.field_session_time_date +field_name: field_session_time_date +entity_type: paragraph +type: daterange +settings: + datetime_type: datetime +module: datetime_range +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.paragraph.field_session_time_days.yml b/config/install/field.storage.paragraph.field_session_time_days.yml new file mode 100644 index 0000000..0bf08d7 --- /dev/null +++ b/config/install/field.storage.paragraph.field_session_time_days.yml @@ -0,0 +1,41 @@ +langcode: en +status: true +dependencies: + module: + - options + - paragraphs +id: paragraph.field_session_time_days +field_name: field_session_time_days +entity_type: paragraph +type: list_string +settings: + allowed_values: + - + value: sunday + label: Sunday + - + value: monday + label: Monday + - + value: tuesday + label: Tuesday + - + value: wednesday + label: Wednesday + - + value: thursday + label: Thursday + - + value: friday + label: Friday + - + value: saturday + label: Saturday + allowed_values_function: '' +module: options +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.paragraph.field_session_time_override.yml b/config/install/field.storage.paragraph.field_session_time_override.yml new file mode 100644 index 0000000..5094fc4 --- /dev/null +++ b/config/install/field.storage.paragraph.field_session_time_override.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - paragraphs +id: paragraph.field_session_time_override +field_name: field_session_time_override +entity_type: paragraph +type: string +settings: + max_length: 255 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/node.type.session.yml b/config/install/node.type.session.yml new file mode 100644 index 0000000..4571946 --- /dev/null +++ b/config/install/node.type.session.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +name: Session +type: session +description: 'Session content type is used for adding Sessions on the site.' +help: '' +new_revision: true +preview_mode: 1 +display_submitted: true diff --git a/config/install/paragraphs.paragraphs_type.session_time.yml b/config/install/paragraphs.paragraphs_type.session_time.yml new file mode 100644 index 0000000..ad9ec15 --- /dev/null +++ b/config/install/paragraphs.paragraphs_type.session_time.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +id: session_time +label: 'Session Time' +icon_uuid: null +description: null +behavior_plugins: { } diff --git a/config/install/rabbit_hole.behavior_settings.node_type_session.yml b/config/install/rabbit_hole.behavior_settings.node_type_session.yml new file mode 100644 index 0000000..c1937e9 --- /dev/null +++ b/config/install/rabbit_hole.behavior_settings.node_type_session.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + config: + - node.type.session +id: node_type_session +entity_type_id: node_type +entity_id: session +action: page_not_found +allow_override: 0 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/openy_node_session.features.yml b/openy_node_session.features.yml new file mode 100644 index 0000000..060a98e --- /dev/null +++ b/openy_node_session.features.yml @@ -0,0 +1 @@ +required: true diff --git a/openy_node_session.info.yml b/openy_node_session.info.yml new file mode 100644 index 0000000..6ecae03 --- /dev/null +++ b/openy_node_session.info.yml @@ -0,0 +1,24 @@ +name: 'Open Y Node Session' +description: 'Provides a Session content type and related configuration' +type: module +package: 'Open Y' +version: 8.x-1.2 +dependencies: + - 'datalayer:datalayer' + - 'drupal:content_moderation' + - 'drupal:datetime_range' + - 'drupal:field' + - 'drupal:link' + - 'drupal:menu_ui' + - 'drupal:node' + - 'drupal:options' + - 'drupal:path' + - 'drupal:text' + - 'drupal:user' + - 'entity_reference_revisions:entity_reference_revisions' + - 'field_group:field_group' + - 'openy_node_session:openy_node_session' + - 'paragraphs:paragraphs' + - 'rabbit_hole:rabbit_hole' + - 'scheduler:scheduler' +core_version_requirement: '^8.9 || ^9' diff --git a/openy_node_session.install b/openy_node_session.install new file mode 100644 index 0000000..2121927 --- /dev/null +++ b/openy_node_session.install @@ -0,0 +1,328 @@ +setDirectory($config_dir); + $config_importer->importConfigs([ + 'rabbit_hole.behavior_settings.node_type_session', + ]); + // Update multiple configurations. + $configs = [ + 'core.entity_view_display.paragraph.session_time.default' => [ + 'content', + ], + ]; + + $config_updater = \Drupal::service('openy_upgrade_tool.param_updater'); + foreach ($configs as $config_name => $params) { + $config = $config_dir . $config_name . '.yml'; + foreach ($params as $param) { + $config_updater->update($config, $config_name, $param); + } + } +} + +/** + * Update description for field. + */ +function openy_node_session_update_8002() { + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + // Update multiple configurations. + $configs = [ + 'field.field.node.session.field_session_class' => [ + 'description', + ], + 'field.field.node.session.field_session_description' => [ + 'description', + ], + 'field.field.node.session.field_session_gender' => [ + 'description', + ], + 'field.field.node.session.field_session_in_mbrsh' => [ + 'description', + ], + 'field.field.node.session.field_session_location' => [ + 'description', + ], + 'field.field.node.session.field_session_max_age' => [ + 'description', + ], + 'field.field.node.session.field_session_mbr_price' => [ + 'description', + ], + 'field.field.node.session.field_session_min_age' => [ + 'description', + ], + 'field.field.node.session.field_session_nmbr_price' => [ + 'description', + ], + 'field.field.node.session.field_session_online' => [ + 'description', + ], + 'field.field.node.session.field_session_reg_link' => [ + 'description', + ], + 'field.field.node.session.field_session_ticket' => [ + 'description', + ], + 'field.field.node.session.field_session_time' => [ + 'description', + ], + ]; + + $config_updater = \Drupal::service('openy_upgrade_tool.param_updater'); + foreach ($configs as $config_name => $params) { + $config = $config_dir . $config_name . '.yml'; + foreach ($params as $param) { + $config_updater->update($config, $config_name, $param); + } + } +} + +/** + * Update description for fields. + */ +function openy_node_session_update_8003() { + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + // Update multiple configurations. + $configs = [ + 'field.field.paragraph.session_time.field_session_time_date' => [ + 'description', + ], + 'field.field.paragraph.session_time.field_session_time_days' => [ + 'description', + ], + ]; + + $config_updater = \Drupal::service('openy_upgrade_tool.param_updater'); + foreach ($configs as $config_name => $params) { + $config = $config_dir . $config_name . '.yml'; + foreach ($params as $param) { + $config_updater->update($config, $config_name, $param); + } + } +} + +/** + * Update Open Y session node feature configs. + */ +function openy_node_session_update_8004() { + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + // Update multiple configurations. + $configs = [ + 'field.field.node.session.field_session_exclusions' => [ + 'description', + ], + ]; + $config_updater = \Drupal::service('openy_upgrade_tool.param_updater'); + foreach ($configs as $config_name => $params) { + $config = $config_dir . $config_name . '.yml'; + foreach ($params as $param) { + $config_updater->update($config, $config_name, $param); + } + } +} + +/** + * Update feature configs for Drupal Core upgrade. + */ +function openy_node_session_update_8006() { + // This is outdated update and exist in next hooks, no need to import config twice. +} + +/** + * Update feature configs after entity reference handler update and configs actualization. + */ +function _openy_node_session_update_8007() { + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + // Update multiple configurations. + $configs = [ + 'field.field.node.session.field_session_class' => [ + 'dependencies', + 'settings', + ], + 'field.field.node.session.field_session_location' => [ + 'dependencies', + 'settings', + ], + 'field.field.node.session.field_session_plocation' => [ + 'dependencies', + 'settings', + ], + ]; + $config_updater = \Drupal::service('openy_upgrade_tool.param_updater'); + foreach ($configs as $config_name => $params) { + $config = $config_dir . $config_name . '.yml'; + foreach ($params as $param) { + $config_updater->update($config, $config_name, $param); + } + } +} + +/** + * Add room and instructor fields. + */ +function _openy_node_session_update_8008() { + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + + // Add two new fields. + $config_importer = \Drupal::service('openy_upgrade_tool.importer'); + $config_importer->setDirectory($config_dir); + $config_importer->importConfigs([ + 'field.field.node.session.field_session_instructor', + 'field.field.node.session.field_session_room', + 'field.storage.node.field_session_instructor', + 'field.storage.node.field_session_room', + ]); + + // Update multiple configurations. + $configs = [ + 'core.entity_form_display.node.session.default' =>[ + 'dependencies', + 'field_group', + ], + 'core.entity_view_display.node.session.default' =>[ + 'dependencies', + 'content', + ], + 'field.field.node.session.field_session_plocation' =>[], + ]; + + $config_updater = \Drupal::service('openy_upgrade_tool.param_updater'); + foreach ($configs as $config_name => $params) { + $config = $config_dir . $config_name . '.yml'; + foreach ($params as $param) { + $config_updater->update($config, $config_name, $param); + } + } +} + +/** + * Update to get fields from prgreg. + */ +function openy_node_session_update_8009() { + // This is outdated update and exist in next hooks, no need to import config twice. +} + +/** + * Update to get fields from prgreg. + */ +function openy_node_session_update_8010() { + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + + // Add two new fields. + $config_importer = \Drupal::service('openy_upgrade_tool.importer'); + $config_importer->setDirectory($config_dir); + $config_importer->importConfigs([ + 'core.entity_form_display.node.session.default', + 'core.entity_form_display.paragraph.session_time.default', + 'core.entity_view_display.node.session.default', + 'field.field.node.session.field_session_plocation', + 'core.entity_view_display.node.session.teaser', + 'field.field.node.session.field_session_room', + 'field.field.node.session.field_availability', + 'field.field.node.session.field_productid', + 'field.field.node.session.field_session_class', + 'field.storage.node.field_session_room', + 'field.storage.node.field_availability', + 'field.storage.node.field_productid', + 'field.field.node.session.field_session_instructor', + 'field.field.node.session.field_session_location', + 'paragraphs.paragraphs_type.session_time', + 'field.storage.node.field_session_instructor', + ]); +} + +/** + * Add new field_activity_type. + */ +function openy_node_session_update_8012() { + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + + // Add two new fields. + $config_importer = \Drupal::service('openy_upgrade_tool.importer'); + $config_importer->setDirectory($config_dir); + $config_importer->importConfigs([ + 'field.storage.node.field_activity_type', + 'field.field.node.session.field_activity_type', + 'core.entity_view_display.node.session.default', + 'core.entity_form_display.node.session.default', + ]); +} + +/** + * Add field for override session time. + */ +function openy_node_session_update_8013() { + + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + + $config_importer = \Drupal::service('openy_upgrade_tool.importer'); + $config_importer->setDirectory($config_dir); + $config_importer->importConfigs([ + 'field.storage.paragraph.field_session_time_override', + 'field.field.paragraph.session_time.field_session_time_override', + ]); + + $configs = [ + 'core.entity_form_display.paragraph.session_time.default' =>[ + 'dependencies', + 'content', + ], + 'core.entity_view_display.paragraph.session_time.default' =>[ + 'dependencies', + 'content', + ], + ]; + $config_updater = \Drupal::service('openy_upgrade_tool.param_updater'); + foreach ($configs as $config_name => $params) { + $config = $config_dir . $config_name . '.yml'; + foreach ($params as $param) { + $config_updater->update($config, $config_name, $param); + } + } +} + +/** + * Add field for Wait List. + */ +function openy_node_session_update_8014() { + + $config_dir = drupal_get_path('module', 'openy_node_session') . '/config/install/'; + + $config_importer = \Drupal::service('openy_upgrade_tool.importer'); + $config_importer->setDirectory($config_dir); + $config_importer->importConfigs([ + 'field.storage.node.field_wait_list_availability', + 'field.field.node.session.field_wait_list_availability', + ]); + + $configs = [ + 'core.entity_form_display.node.session.default' =>[ + 'dependencies', + 'content', + 'third_party_settings', + ], + 'core.entity_view_display.node.session.default' =>[ + 'dependencies', + 'content', + ], + ]; + $config_updater = \Drupal::service('openy_upgrade_tool.param_updater'); + foreach ($configs as $config_name => $params) { + $config = $config_dir . $config_name . '.yml'; + foreach ($params as $param) { + $config_updater->update($config, $config_name, $param); + } + } +}