diff --git a/composer.json b/composer.json index 5e5dcb00fc..5ac716376f 100644 --- a/composer.json +++ b/composer.json @@ -286,6 +286,10 @@ } }, "patches": { + "drupal/addtocal": { + "Patch for Type error DIG-3707 Dec 2023 Stella": "https://www.drupal.org/files/issues/2023-07-07/3372354-fix-addtocal-download.patch", + "Part two - menu not opening patch for Type error DIG-3707 - Dec 2023 Stella": "patches/dig-3707a.patch" + }, "drupal/core": { "CoB patch - Fix original node is null on migration.": "patches/cob_migration_missing_original_001.patch", "Optional end-date in date_range field type": "https://www.drupal.org/files/issues/2020-08-09/2794481-109.patch", diff --git a/config/default/content_access.settings.yml b/config/default/content_access.settings.yml index 66e711fbab..bf2fafe15a 100644 --- a/config/default/content_access.settings.yml +++ b/config/default/content_access.settings.yml @@ -11,6 +11,7 @@ content_access_roles_gids: content_reviewer: 7 metrolist_editor: 8 election_editor: 9 + city_clerk_editor: 10 content_access_node_type: test_component_page: 'a:2:{s:4:"view";a:1:{i:0;s:13:"authenticated";}s:8:"view own";a:1:{i:0;s:13:"authenticated";}}' department_profile: 'a:1:{s:8:"view own";a:1:{i:0;s:13:"authenticated";}}' @@ -44,3 +45,4 @@ content_access_node_type: node_emergency_alert_new: 'a:1:{s:8:"view own";a:1:{i:0;s:13:"authenticated";}}' node_neighborhood_lookup: 'a:2:{s:4:"view";a:1:{i:0;s:13:"authenticated";}s:8:"view own";a:1:{i:0;s:13:"authenticated";}}' election_report: 'a:2:{s:8:"view_own";a:4:{i:0;s:9:"anonymous";i:1;s:13:"authenticated";i:2;s:13:"administrator";i:3;s:18:"site_administrator";}s:4:"view";a:4:{i:0;s:9:"anonymous";i:1;s:13:"authenticated";i:2;s:13:"administrator";i:3;s:18:"site_administrator";}}' + roll_call_dockets: 'a:2:{s:8:"view_own";a:3:{i:0;s:17:"city_clerk_editor";i:1;s:13:"administrator";i:2;s:18:"site_administrator";}s:4:"view";a:3:{i:0;s:17:"city_clerk_editor";i:1;s:13:"administrator";i:2;s:18:"site_administrator";}}' diff --git a/config/default/core.base_field_override.node.roll_call_dockets.promote.yml b/config/default/core.base_field_override.node.roll_call_dockets.promote.yml new file mode 100644 index 0000000000..9662ae50d4 --- /dev/null +++ b/config/default/core.base_field_override.node.roll_call_dockets.promote.yml @@ -0,0 +1,22 @@ +uuid: d5bd9b32-599a-44d1-a334-4380765b5bc5 +langcode: en +status: true +dependencies: + config: + - node.type.roll_call_dockets +id: node.roll_call_dockets.promote +field_name: promote +entity_type: node +bundle: roll_call_dockets +label: 'Promoted to front page' +description: '' +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/default/core.base_field_override.node.roll_call_dockets.title.yml b/config/default/core.base_field_override.node.roll_call_dockets.title.yml new file mode 100644 index 0000000000..835e9d57b8 --- /dev/null +++ b/config/default/core.base_field_override.node.roll_call_dockets.title.yml @@ -0,0 +1,18 @@ +uuid: 65c05dfc-dc4b-4879-b7cf-10b74c6d450a +langcode: en +status: true +dependencies: + config: + - node.type.roll_call_dockets +id: node.roll_call_dockets.title +field_name: title +entity_type: node +bundle: roll_call_dockets +label: 'Docket Number' +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/default/core.entity_form_display.node.bh_update.default.yml b/config/default/core.entity_form_display.node.bh_update.default.yml index cc34b0e521..1954d0f34b 100644 --- a/config/default/core.entity_form_display.node.bh_update.default.yml +++ b/config/default/core.entity_form_display.node.bh_update.default.yml @@ -5,6 +5,7 @@ dependencies: config: - field.field.node.bh_update.body - field.field.node.bh_update.field_bh_attachment + - field.field.node.bh_update.field_bh_banner_status - field.field.node.bh_update.field_bh_boston_based_business - field.field.node.bh_update.field_bh_developer_name - field.field.node.bh_update.field_bh_developer_website @@ -92,6 +93,7 @@ third_party_settings: group_project: children: - field_bh_project_ref + - field_bh_banner_status - body - field_bh_image - field_bh_project_web_link @@ -150,7 +152,7 @@ mode: default content: body: type: text_textarea_with_summary - weight: 3 + weight: 5 region: content settings: rows: 9 @@ -160,7 +162,7 @@ content: third_party_settings: { } created: type: datetime_timestamp - weight: 11 + weight: 3 region: content settings: { } third_party_settings: { } @@ -171,9 +173,19 @@ content: settings: progress_indicator: throbber third_party_settings: { } + field_bh_banner_status: + type: entity_reference_autocomplete + weight: 4 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } field_bh_boston_based_business: type: boolean_checkbox - weight: 6 + weight: 7 region: content settings: display_label: true @@ -188,7 +200,7 @@ content: third_party_settings: { } field_bh_developer_website: type: string_textfield - weight: 9 + weight: 10 region: content settings: size: 60 @@ -212,7 +224,7 @@ content: third_party_settings: { } field_bh_image: type: file_generic - weight: 4 + weight: 6 region: content settings: progress_indicator: throbber @@ -244,7 +256,7 @@ content: third_party_settings: { } field_bh_project_web_link: type: string_textfield - weight: 5 + weight: 7 region: content settings: size: 60 @@ -297,46 +309,46 @@ content: third_party_settings: { } langcode: type: language_select - weight: 9 + weight: 1 region: content settings: include_locked: true third_party_settings: { } moderation_state: type: moderation_state_default - weight: 18 + weight: 9 region: content settings: { } third_party_settings: { } path: type: path - weight: 16 + weight: 7 region: content settings: { } third_party_settings: { } promote: type: boolean_checkbox - weight: 14 + weight: 5 region: content settings: display_label: true third_party_settings: { } published_at: type: publication_date_timestamp - weight: 13 + weight: 4 region: content settings: { } third_party_settings: { } status: type: boolean_checkbox - weight: 19 + weight: 10 region: content settings: display_label: true third_party_settings: { } sticky: type: boolean_checkbox - weight: 15 + weight: 6 region: content settings: display_label: true @@ -351,7 +363,7 @@ content: third_party_settings: { } uid: type: entity_reference_autocomplete - weight: 10 + weight: 2 region: content settings: match_operator: CONTAINS @@ -360,7 +372,7 @@ content: placeholder: '' third_party_settings: { } url_redirects: - weight: 17 + weight: 8 region: content settings: { } third_party_settings: { } diff --git a/config/default/core.entity_form_display.node.roll_call_dockets.default.yml b/config/default/core.entity_form_display.node.roll_call_dockets.default.yml new file mode 100644 index 0000000000..1af1ead7fd --- /dev/null +++ b/config/default/core.entity_form_display.node.roll_call_dockets.default.yml @@ -0,0 +1,133 @@ +uuid: a54a2432-0677-41f0-9b3a-a89fd253f52f +langcode: en +status: true +dependencies: + config: + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + - workflows.workflow.managed_workflow + module: + - content_moderation + - datetime + - field_group + - paragraphs + - publication_date + - text +third_party_settings: + field_group: + group_council_meeting: + children: + - group_docket + label: 'Council Meeting' + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + show_empty_fields: false + id: '' + direction: vertical + width_breakpoint: 640 + group_docket: + children: + - title + - field_meeting_date + - body + - field_components + label: Docket + region: content + parent_name: group_council_meeting + weight: 20 + format_type: tab + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: closed + description: '' + required_fields: true +id: node.roll_call_dockets.default +targetEntityType: node +bundle: roll_call_dockets +mode: default +content: + body: + type: text_textarea_with_summary + weight: 4 + region: content + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + show_summary: false + third_party_settings: { } + created: + type: datetime_timestamp + weight: 3 + region: content + settings: { } + third_party_settings: { } + field_components: + type: entity_reference_paragraphs + weight: 5 + region: content + settings: + title: 'Roll Call Vote' + title_plural: 'Roll Call Votes' + edit_mode: open + add_mode: dropdown + form_display_mode: default + default_paragraph_type: roll_call_vote + third_party_settings: { } + field_meeting_date: + type: datetime_default + weight: 3 + region: content + settings: { } + third_party_settings: { } + moderation_state: + type: moderation_state_default + weight: 1 + region: content + settings: { } + third_party_settings: { } + published_at: + type: publication_date_timestamp + weight: 4 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + weight: 5 + region: content + settings: + display_label: true + third_party_settings: { } + title: + type: string_textfield + weight: 2 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 2 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + langcode: true + path: true + promote: true + sticky: true + url_redirects: true diff --git a/config/default/core.entity_form_display.paragraph.bos_node_search.default.yml b/config/default/core.entity_form_display.paragraph.bos_node_search.default.yml new file mode 100644 index 0000000000..fe338de672 --- /dev/null +++ b/config/default/core.entity_form_display.paragraph.bos_node_search.default.yml @@ -0,0 +1,59 @@ +uuid: 54b77ab3-d22b-4129-920b-16d686a01426 +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.bos_node_search.field_component_title + - field.field.paragraph.bos_node_search.field_node_search + - field.field.paragraph.bos_node_search.field_search_results + - field.field.paragraph.bos_node_search.field_short_title + - field.field.paragraph.bos_node_search.field_title + - paragraphs.paragraphs_type.bos_node_search + module: + - viewfield +id: paragraph.bos_node_search.default +targetEntityType: paragraph +bundle: bos_node_search +mode: default +content: + field_component_title: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_node_search: + type: viewfield_select + weight: 2 + region: content + settings: { } + third_party_settings: { } + field_search_results: + type: string_textfield + weight: 4 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_short_title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_title: + type: string_textfield + weight: 3 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + status: true diff --git a/config/default/core.entity_form_display.paragraph.roll_call_vote.default.yml b/config/default/core.entity_form_display.paragraph.roll_call_vote.default.yml new file mode 100644 index 0000000000..cfaa23a86e --- /dev/null +++ b/config/default/core.entity_form_display.paragraph.roll_call_vote.default.yml @@ -0,0 +1,30 @@ +uuid: 0b55669f-8136-4908-b22f-9f8839fb7ee3 +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.roll_call_vote.field_councillor + - field.field.paragraph.roll_call_vote.field_vote + - paragraphs.paragraphs_type.roll_call_vote + module: + - dynamic_entity_reference +id: paragraph.roll_call_vote.default +targetEntityType: paragraph +bundle: roll_call_vote +mode: default +content: + field_councillor: + type: dynamic_entity_reference_options_select + weight: 0 + region: content + settings: { } + third_party_settings: { } + field_vote: + type: dynamic_entity_reference_options_select + weight: 1 + region: content + settings: { } + third_party_settings: { } +hidden: + created: true + status: true diff --git a/config/default/core.entity_form_display.taxonomy_term.city_council_districts.default.yml b/config/default/core.entity_form_display.taxonomy_term.city_council_districts.default.yml new file mode 100644 index 0000000000..9cac2c904a --- /dev/null +++ b/config/default/core.entity_form_display.taxonomy_term.city_council_districts.default.yml @@ -0,0 +1,24 @@ +uuid: d3e2ad81-6245-4a85-9571-9528e815a84e +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.city_council_districts +id: taxonomy_term.city_council_districts.default +targetEntityType: taxonomy_term +bundle: city_council_districts +mode: default +content: + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + description: true + langcode: true + path: true + status: true diff --git a/config/default/core.entity_form_display.taxonomy_term.project_banner_bh_.default.yml b/config/default/core.entity_form_display.taxonomy_term.project_banner_bh_.default.yml new file mode 100644 index 0000000000..c40d967511 --- /dev/null +++ b/config/default/core.entity_form_display.taxonomy_term.project_banner_bh_.default.yml @@ -0,0 +1,110 @@ +uuid: a8a439c6-721a-4e72-aaf4-3832432330b9 +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state + - field.field.taxonomy_term.project_banner_bh_.field_banner_text + - field.field.taxonomy_term.project_banner_bh_.field_banner_title + - field.field.taxonomy_term.project_banner_bh_.field_show_banner + - taxonomy.vocabulary.project_banner_bh_ + module: + - field_group + - text +third_party_settings: + field_group: + group_tabs: + children: + - group_status + - group_banner + label: tabs + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + show_empty_fields: false + id: '' + direction: vertical + width_breakpoint: 640 + group_status: + children: + - name + - field_banner_moderation_state + label: Status + region: content + parent_name: group_tabs + weight: 22 + format_type: tab + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: open + description: '' + required_fields: true + group_banner: + children: + - field_show_banner + - field_banner_title + - field_banner_text + label: Banner + region: content + parent_name: group_tabs + weight: 23 + format_type: tab + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: closed + description: '' + required_fields: true +id: taxonomy_term.project_banner_bh_.default +targetEntityType: taxonomy_term +bundle: project_banner_bh_ +mode: default +content: + field_banner_moderation_state: + type: options_select + weight: 2 + region: content + settings: { } + third_party_settings: { } + field_banner_text: + type: text_textfield + weight: 8 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_banner_title: + type: string_textfield + weight: 7 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_show_banner: + type: boolean_checkbox + weight: 6 + region: content + settings: + display_label: true + third_party_settings: { } + name: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + description: true + langcode: true + path: true + status: true diff --git a/config/default/core.entity_form_display.taxonomy_term.vocab_city_councillors.default.yml b/config/default/core.entity_form_display.taxonomy_term.vocab_city_councillors.default.yml new file mode 100644 index 0000000000..6bfad2d1a0 --- /dev/null +++ b/config/default/core.entity_form_display.taxonomy_term.vocab_city_councillors.default.yml @@ -0,0 +1,68 @@ +uuid: 122dd8c6-417f-4fe4-b8e5-1fccbbed6c88 +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.vocab_city_councillors.field_active + - field.field.taxonomy_term.vocab_city_councillors.field_district + - field.field.taxonomy_term.vocab_city_councillors.field_email + - field.field.taxonomy_term.vocab_city_councillors.field_first_name + - taxonomy.vocabulary.vocab_city_councillors + module: + - advanced_text_formatter + - bos_core +id: taxonomy_term.vocab_city_councillors.default +targetEntityType: taxonomy_term +bundle: vocab_city_councillors +mode: default +content: + field_active: + type: boolean_checkbox + weight: 2 + region: content + settings: + display_label: true + third_party_settings: { } + field_district: + type: entity_reference_autocomplete + weight: 3 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + field_email: + type: email_default + weight: 4 + region: content + settings: + placeholder: '' + size: 60 + third_party_settings: { } + field_first_name: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: 'Name to appear in Roll Call results' + third_party_settings: + advanced_text_formatter: + show_token_tree: 0 + bos_core: + show_token_tree: 0 +hidden: + description: true + langcode: true + path: true + status: true diff --git a/config/default/core.entity_form_display.taxonomy_term.vocab_votes.default.yml b/config/default/core.entity_form_display.taxonomy_term.vocab_votes.default.yml new file mode 100644 index 0000000000..978fdd8eff --- /dev/null +++ b/config/default/core.entity_form_display.taxonomy_term.vocab_votes.default.yml @@ -0,0 +1,24 @@ +uuid: 33e637f1-2418-40bd-a16e-40ec65a97b85 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.vocab_votes +id: taxonomy_term.vocab_votes.default +targetEntityType: taxonomy_term +bundle: vocab_votes +mode: default +content: + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + description: true + langcode: true + path: true + status: true diff --git a/config/default/core.entity_view_display.node.bh_project.default.yml b/config/default/core.entity_view_display.node.bh_project.default.yml index 0a622dbef8..b698799d3b 100644 --- a/config/default/core.entity_view_display.node.bh_project.default.yml +++ b/config/default/core.entity_view_display.node.bh_project.default.yml @@ -66,7 +66,7 @@ third_party_settings: label: Information parent_name: '' region: hidden - weight: 20 + weight: 25 format_type: tabs format_settings: classes: '' @@ -75,8 +75,8 @@ third_party_settings: group_dates: children: - field_bh_commitment_letter_date - - field_bh_construction_start_date - field_bh_construct_complete_date + - field_bh_construction_start_date - field_bh_conveyance_vote_date - field_bh_dnd_funding_award_date - field_bh_initial_comm_mtg_date @@ -141,7 +141,7 @@ third_party_settings: label: 'Additional Details and Information' parent_name: '' region: hidden - weight: 19 + weight: 24 format_type: details format_settings: classes: m-v400 @@ -167,7 +167,7 @@ third_party_settings: label: 'Hero Placeholder' parent_name: '' region: hidden - weight: 2 + weight: 23 format_type: html_element format_settings: classes: g--8 @@ -183,6 +183,7 @@ third_party_settings: children: - bh_project_bh_homepage_link - field_bh_project_name + - bh_project_banner - field_bh_project_parcels - group_header_images_and_map - group_info_list @@ -274,7 +275,7 @@ third_party_settings: label: 'Info List' parent_name: group_header region: content - weight: 106 + weight: 105 format_type: html_element format_settings: classes: '' @@ -293,7 +294,7 @@ third_party_settings: label: 'Container - Full Width' parent_name: '' region: content - weight: 1 + weight: 4 format_type: html_element format_settings: classes: 'clearfix b b--fw b--g' @@ -311,7 +312,7 @@ third_party_settings: label: 'Header Full Width Container' parent_name: '' region: content - weight: 0 + weight: 2 format_type: html_element format_settings: classes: 'clearfix b b--fw b--w' @@ -348,7 +349,7 @@ third_party_settings: label: 'Header Images and Map' parent_name: group_header region: content - weight: 103 + weight: 104 format_type: html_element format_settings: classes: bh-project-header-img-map @@ -372,6 +373,11 @@ content: third_party_settings: { } weight: 3 region: content + bh_project_banner: + settings: { } + third_party_settings: { } + weight: 102 + region: content bh_project_bh_homepage_link: settings: { } third_party_settings: { } @@ -502,7 +508,7 @@ content: fences_field_item_classes: fl--l fences_label_tag: div fences_label_classes: '' - weight: 102 + weight: 103 region: content field_bh_property_size: type: number_integer @@ -566,7 +572,18 @@ content: fences_label_classes: m-v200 weight: 9 region: content + salesforce_id: + settings: { } + third_party_settings: { } + weight: 0 + region: content + salesforce_last_sync: + settings: { } + third_party_settings: { } + weight: 1 + region: content hidden: + content_moderation_control: true field_bh_attachment: true field_bh_attachments: true field_bh_commitment_letter_date: true diff --git a/config/default/core.entity_view_display.node.bh_update.default.yml b/config/default/core.entity_view_display.node.bh_update.default.yml index 1feaff4f85..97f793628f 100644 --- a/config/default/core.entity_view_display.node.bh_update.default.yml +++ b/config/default/core.entity_view_display.node.bh_update.default.yml @@ -5,6 +5,7 @@ dependencies: config: - field.field.node.bh_update.body - field.field.node.bh_update.field_bh_attachment + - field.field.node.bh_update.field_bh_banner_status - field.field.node.bh_update.field_bh_boston_based_business - field.field.node.bh_update.field_bh_developer_name - field.field.node.bh_update.field_bh_developer_website @@ -123,6 +124,7 @@ third_party_settings: children: - field_bh_project_ref - body + - field_bh_banner - field_bh_image - field_bh_project_web_link label: Project @@ -142,7 +144,7 @@ third_party_settings: label: 'Follower emails' parent_name: group_update region: content - weight: 14 + weight: 26 format_type: fieldset format_settings: classes: m-v300 @@ -155,7 +157,7 @@ third_party_settings: label: Documents parent_name: group_update region: content - weight: 13 + weight: 25 format_type: fieldset format_settings: classes: 'm-v300 ta--l' @@ -168,7 +170,7 @@ third_party_settings: label: 'Text Updates' parent_name: group_update region: content - weight: 12 + weight: 24 format_type: fieldset format_settings: classes: '' @@ -226,7 +228,7 @@ content: fences_field_item_classes: '' fences_label_tag: span fences_label_classes: '' - weight: 24 + weight: 25 region: content field_bh_developer_name: type: string @@ -292,7 +294,7 @@ content: fences_field_item_classes: '' fences_label_tag: div fences_label_classes: '' - weight: 13 + weight: 14 region: content field_bh_minority_owned_business: type: boolean @@ -331,7 +333,7 @@ content: fences_field_item_classes: '' fences_label_tag: div fences_label_classes: '' - weight: 15 + weight: 27 region: content field_bh_project_ref: type: entity_reference_label @@ -361,7 +363,7 @@ content: fences_field_item_classes: '' fences_label_tag: div fences_label_classes: '' - weight: 14 + weight: 15 region: content field_bh_text_updates: type: basic_string @@ -416,7 +418,7 @@ content: fences_field_item_classes: '' fences_label_tag: span fences_label_classes: '' - weight: 23 + weight: 24 region: content field_bh_women_owned_business: type: boolean @@ -472,6 +474,7 @@ content: weight: 0 region: content hidden: + field_bh_banner_status: true langcode: true links: true salesforce_id: true diff --git a/config/default/core.entity_view_display.node.bh_update.teaser.yml b/config/default/core.entity_view_display.node.bh_update.teaser.yml index 5835614629..1f7f43b6f8 100644 --- a/config/default/core.entity_view_display.node.bh_update.teaser.yml +++ b/config/default/core.entity_view_display.node.bh_update.teaser.yml @@ -6,6 +6,7 @@ dependencies: - core.entity_view_mode.node.teaser - field.field.node.bh_update.body - field.field.node.bh_update.field_bh_attachment + - field.field.node.bh_update.field_bh_banner_status - field.field.node.bh_update.field_bh_boston_based_business - field.field.node.bh_update.field_bh_developer_name - field.field.node.bh_update.field_bh_developer_website @@ -56,6 +57,7 @@ content: region: content hidden: field_bh_attachment: true + field_bh_banner_status: true field_bh_boston_based_business: true field_bh_developer_name: true field_bh_developer_website: true diff --git a/config/default/core.entity_view_display.node.roll_call_dockets.default.yml b/config/default/core.entity_view_display.node.roll_call_dockets.default.yml new file mode 100644 index 0000000000..61701f224e --- /dev/null +++ b/config/default/core.entity_view_display.node.roll_call_dockets.default.yml @@ -0,0 +1,71 @@ +uuid: b8c1ca0e-9408-4323-9c85-36444ce930d2 +langcode: en +status: true +dependencies: + config: + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + module: + - datetime + - entity_reference_revisions + - fences + - text + - user +id: node.roll_call_dockets.default +targetEntityType: node +bundle: roll_call_dockets +mode: default +content: + body: + type: text_default + label: above + settings: { } + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: squiggle-border-bottom + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content + field_components: + type: entity_reference_revisions_entity_view + label: hidden + settings: + view_mode: default + link: '' + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: div + fences_field_item_classes: g + fences_label_tag: none + fences_label_classes: '' + weight: 2 + region: content + field_meeting_date: + type: datetime_default + label: inline + settings: + timezone_override: '' + format_type: date_format_normal_date + third_party_settings: + fences: + fences_field_tag: span + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: span + fences_label_classes: '' + weight: 0 + region: content +hidden: + content_moderation_control: true + langcode: true + links: true + published_at: true diff --git a/config/default/core.entity_view_display.node.roll_call_dockets.featured_item.yml b/config/default/core.entity_view_display.node.roll_call_dockets.featured_item.yml new file mode 100644 index 0000000000..bed3b6435a --- /dev/null +++ b/config/default/core.entity_view_display.node.roll_call_dockets.featured_item.yml @@ -0,0 +1,28 @@ +uuid: e808f00d-a7ef-48d4-b901-f56aec06a96f +langcode: en +status: false +dependencies: + config: + - core.entity_view_mode.node.featured_item + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + module: + - user +id: node.roll_call_dockets.featured_item +targetEntityType: node +bundle: roll_call_dockets +mode: featured_item +content: + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + body: true + field_components: true + field_meeting_date: true + langcode: true + published_at: true diff --git a/config/default/core.entity_view_display.node.roll_call_dockets.listing.yml b/config/default/core.entity_view_display.node.roll_call_dockets.listing.yml new file mode 100644 index 0000000000..822fadc5c4 --- /dev/null +++ b/config/default/core.entity_view_display.node.roll_call_dockets.listing.yml @@ -0,0 +1,28 @@ +uuid: 252c5a20-0794-4410-9b50-42810f52034b +langcode: en +status: false +dependencies: + config: + - core.entity_view_mode.node.listing + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + module: + - user +id: node.roll_call_dockets.listing +targetEntityType: node +bundle: roll_call_dockets +mode: listing +content: + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + body: true + field_components: true + field_meeting_date: true + langcode: true + published_at: true diff --git a/config/default/core.entity_view_display.node.roll_call_dockets.roll_call_search.yml b/config/default/core.entity_view_display.node.roll_call_dockets.roll_call_search.yml new file mode 100644 index 0000000000..4a61f6d50a --- /dev/null +++ b/config/default/core.entity_view_display.node.roll_call_dockets.roll_call_search.yml @@ -0,0 +1,72 @@ +uuid: d97a5076-7043-4b33-afeb-dcabd89767ac +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.roll_call_search + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + module: + - datetime + - entity_reference_revisions + - fences + - text + - user +id: node.roll_call_dockets.roll_call_search +targetEntityType: node +bundle: roll_call_dockets +mode: roll_call_search +content: + body: + type: text_default + label: hidden + settings: { } + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content + field_components: + type: entity_reference_revisions_entity_view + label: hidden + settings: + view_mode: roll_call_search + link: '' + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 2 + region: content + field_meeting_date: + type: datetime_default + label: hidden + settings: + timezone_override: '' + format_type: date_format_normal_date + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content +hidden: + content_moderation_control: true + langcode: true + links: true + published_at: true diff --git a/config/default/core.entity_view_display.node.roll_call_dockets.teaser.yml b/config/default/core.entity_view_display.node.roll_call_dockets.teaser.yml new file mode 100644 index 0000000000..61399d6d35 --- /dev/null +++ b/config/default/core.entity_view_display.node.roll_call_dockets.teaser.yml @@ -0,0 +1,36 @@ +uuid: 4b6ad0cd-a7b2-406f-b618-840f165441ec +langcode: en +status: false +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + module: + - text + - user +id: node.roll_call_dockets.teaser +targetEntityType: node +bundle: roll_call_dockets +mode: teaser +content: + body: + type: text_summary_or_trimmed + label: hidden + settings: + trim_length: 600 + third_party_settings: { } + weight: 101 + region: content + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_components: true + field_meeting_date: true + langcode: true + published_at: true diff --git a/config/default/core.entity_view_display.paragraph.bos_node_search.default.yml b/config/default/core.entity_view_display.paragraph.bos_node_search.default.yml new file mode 100644 index 0000000000..350d74301e --- /dev/null +++ b/config/default/core.entity_view_display.paragraph.bos_node_search.default.yml @@ -0,0 +1,97 @@ +uuid: 8f6c3c2d-661e-45b0-8e9d-325c517082f8 +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.bos_node_search.field_component_title + - field.field.paragraph.bos_node_search.field_node_search + - field.field.paragraph.bos_node_search.field_search_results + - field.field.paragraph.bos_node_search.field_short_title + - field.field.paragraph.bos_node_search.field_title + - paragraphs.paragraphs_type.bos_node_search + module: + - fences + - viewfield +id: paragraph.bos_node_search.default +targetEntityType: paragraph +bundle: bos_node_search +mode: default +content: + field_component_title: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content + field_node_search: + type: viewfield_default + label: hidden + settings: + view_title: hidden + always_build_output: true + empty_view_title: above + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: david1 + fences_field_item_tag: none + fences_field_item_classes: david2 + fences_label_tag: none + fences_label_classes: lcd--sm-t + weight: 1 + region: content + field_search_results: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 3 + region: content + field_short_title: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 4 + region: content + field_title: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 2 + region: content +hidden: { } diff --git a/config/default/core.entity_view_display.paragraph.branded_links.default.yml b/config/default/core.entity_view_display.paragraph.branded_links.default.yml index 66a726d227..c5f22d651e 100644 --- a/config/default/core.entity_view_display.paragraph.branded_links.default.yml +++ b/config/default/core.entity_view_display.paragraph.branded_links.default.yml @@ -5,8 +5,8 @@ dependencies: config: - field.field.paragraph.branded_links.field_component_theme - field.field.paragraph.branded_links.field_component_title - - field.field.paragraph.3_column_w_image.field_hide_title_bar - field.field.paragraph.branded_links.field_contact + - field.field.paragraph.branded_links.field_hide_title_bar - field.field.paragraph.branded_links.field_image - field.field.paragraph.branded_links.field_links - field.field.paragraph.branded_links.field_short_title @@ -29,16 +29,6 @@ content: third_party_settings: { } weight: 1 region: content - field_hide_title_bar: - type: boolean - label: hidden - settings: - format: default - format_custom_false: '' - format_custom_true: '' - third_party_settings: { } - weight: 2 - region: content field_image: type: entity_reference_entity_view label: hidden @@ -69,9 +59,10 @@ content: fences_field_item_classes: '' fences_label_tag: div fences_label_classes: '' - weight: 4 + weight: 2 region: content hidden: field_component_theme: true field_contact: true + field_hide_title_bar: true field_short_title: true diff --git a/config/default/core.entity_view_display.paragraph.roll_call_vote.default.yml b/config/default/core.entity_view_display.paragraph.roll_call_vote.default.yml new file mode 100644 index 0000000000..bb82bd17eb --- /dev/null +++ b/config/default/core.entity_view_display.paragraph.roll_call_vote.default.yml @@ -0,0 +1,47 @@ +uuid: 492388d7-d7b9-4e94-983f-5567500a8737 +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.roll_call_vote.field_councillor + - field.field.paragraph.roll_call_vote.field_vote + - paragraphs.paragraphs_type.roll_call_vote + module: + - dynamic_entity_reference + - fences +id: paragraph.roll_call_vote.default +targetEntityType: paragraph +bundle: roll_call_vote +mode: default +content: + field_councillor: + type: dynamic_entity_reference_label + label: hidden + settings: + link: true + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: g--4 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content + field_vote: + type: dynamic_entity_reference_label + label: hidden + settings: + link: false + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: g--8 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content +hidden: { } diff --git a/config/default/core.entity_view_display.paragraph.roll_call_vote.roll_call_search.yml b/config/default/core.entity_view_display.paragraph.roll_call_vote.roll_call_search.yml new file mode 100644 index 0000000000..38a5b33074 --- /dev/null +++ b/config/default/core.entity_view_display.paragraph.roll_call_vote.roll_call_search.yml @@ -0,0 +1,176 @@ +uuid: 7db75b3c-f3b8-453a-9fd1-4640fe366db0 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.paragraph.roll_call_search + - field.field.paragraph.roll_call_vote.field_councillor + - field.field.paragraph.roll_call_vote.field_vote + - paragraphs.paragraphs_type.roll_call_vote + module: + - dynamic_entity_reference + - fences +id: paragraph.roll_call_vote.roll_call_search +targetEntityType: paragraph +bundle: roll_call_vote +mode: roll_call_search +content: + field_councillor: + type: dynamic_entity_reference_entity_view + label: hidden + settings: + taxonomy_term: + view_mode: roll_call_search + node: + view_mode: default + link: false + block_content: + view_mode: default + link: false + content_moderation_state: + view_mode: default + link: false + token_custom: + view_mode: default + link: false + menu_link_content: + view_mode: default + link: false + entity_embed_fake_entity: + view_mode: default + link: false + file: + view_mode: default + link: false + media: + view_mode: default + link: false + paragraph: + view_mode: default + link: false + paragraphs_library_item: + view_mode: default + link: false + poll: + view_mode: default + link: false + poll_choice: + view_mode: default + link: false + profile: + view_mode: default + link: false + redirect: + view_mode: default + link: false + salesforce_mapped_object: + view_mode: default + link: false + shortcut: + view_mode: default + link: false + path_alias: + view_mode: default + link: false + user: + view_mode: default + link: false + vote: + view_mode: default + link: false + vote_result: + view_mode: default + link: false + webform_submission: + view_mode: default + link: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content + field_vote: + type: dynamic_entity_reference_entity_view + label: hidden + settings: + taxonomy_term: + view_mode: roll_call_search + node: + view_mode: default + link: false + block_content: + view_mode: default + link: false + content_moderation_state: + view_mode: default + link: false + token_custom: + view_mode: default + link: false + menu_link_content: + view_mode: default + link: false + entity_embed_fake_entity: + view_mode: default + link: false + file: + view_mode: default + link: false + media: + view_mode: default + link: false + paragraph: + view_mode: default + link: false + paragraphs_library_item: + view_mode: default + link: false + poll: + view_mode: default + link: false + poll_choice: + view_mode: default + link: false + profile: + view_mode: default + link: false + redirect: + view_mode: default + link: false + salesforce_mapped_object: + view_mode: default + link: false + shortcut: + view_mode: default + link: false + path_alias: + view_mode: default + link: false + user: + view_mode: default + link: false + vote: + view_mode: default + link: false + vote_result: + view_mode: default + link: false + webform_submission: + view_mode: default + link: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content +hidden: { } diff --git a/config/default/core.entity_view_display.taxonomy_term.city_council_districts.default.yml b/config/default/core.entity_view_display.taxonomy_term.city_council_districts.default.yml new file mode 100644 index 0000000000..29d0fe46c1 --- /dev/null +++ b/config/default/core.entity_view_display.taxonomy_term.city_council_districts.default.yml @@ -0,0 +1,22 @@ +uuid: 30bac352-f5bb-4caa-8e7f-96cf1633ea46 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.city_council_districts + module: + - text +id: taxonomy_term.city_council_districts.default +targetEntityType: taxonomy_term +bundle: city_council_districts +mode: default +content: + description: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 0 + region: content +hidden: + langcode: true diff --git a/config/default/core.entity_view_display.taxonomy_term.city_council_districts.roll_call_search.yml b/config/default/core.entity_view_display.taxonomy_term.city_council_districts.roll_call_search.yml new file mode 100644 index 0000000000..30b4bc4042 --- /dev/null +++ b/config/default/core.entity_view_display.taxonomy_term.city_council_districts.roll_call_search.yml @@ -0,0 +1,15 @@ +uuid: db48cd47-e2ab-42cf-b639-71ea257bbe33 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.taxonomy_term.roll_call_search + - taxonomy.vocabulary.city_council_districts +id: taxonomy_term.city_council_districts.roll_call_search +targetEntityType: taxonomy_term +bundle: city_council_districts +mode: roll_call_search +content: { } +hidden: + description: true + langcode: true diff --git a/config/default/core.entity_view_display.taxonomy_term.project_banner_bh_.default.yml b/config/default/core.entity_view_display.taxonomy_term.project_banner_bh_.default.yml new file mode 100644 index 0000000000..f7dda2eb23 --- /dev/null +++ b/config/default/core.entity_view_display.taxonomy_term.project_banner_bh_.default.yml @@ -0,0 +1,59 @@ +uuid: 4ce2f828-d75c-4b34-ba1f-c1e0037baf6b +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state + - field.field.taxonomy_term.project_banner_bh_.field_banner_text + - field.field.taxonomy_term.project_banner_bh_.field_banner_title + - field.field.taxonomy_term.project_banner_bh_.field_show_banner + - taxonomy.vocabulary.project_banner_bh_ + module: + - options + - text +id: taxonomy_term.project_banner_bh_.default +targetEntityType: taxonomy_term +bundle: project_banner_bh_ +mode: default +content: + description: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 0 + region: content + field_banner_moderation_state: + type: list_default + label: above + settings: { } + third_party_settings: { } + weight: 3 + region: content + field_banner_text: + type: text_default + label: above + settings: { } + third_party_settings: { } + weight: 2 + region: content + field_banner_title: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 1 + region: content + field_show_banner: + type: boolean + label: above + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + weight: 4 + region: content +hidden: + langcode: true diff --git a/config/default/core.entity_view_display.taxonomy_term.vocab_city_councillors.default.yml b/config/default/core.entity_view_display.taxonomy_term.vocab_city_councillors.default.yml new file mode 100644 index 0000000000..09f26682d3 --- /dev/null +++ b/config/default/core.entity_view_display.taxonomy_term.vocab_city_councillors.default.yml @@ -0,0 +1,68 @@ +uuid: 22bd4280-1499-4706-9644-db1cc9785e33 +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.vocab_city_councillors.field_active + - field.field.taxonomy_term.vocab_city_councillors.field_district + - field.field.taxonomy_term.vocab_city_councillors.field_email + - field.field.taxonomy_term.vocab_city_councillors.field_first_name + - taxonomy.vocabulary.vocab_city_councillors + module: + - fences +id: taxonomy_term.vocab_city_councillors.default +targetEntityType: taxonomy_term +bundle: vocab_city_councillors +mode: default +content: + field_active: + type: boolean + label: hidden + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 2 + region: content + field_district: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: + fences: + fences_field_tag: span + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content + field_first_name: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: span + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content +hidden: + description: true + field_email: true + langcode: true diff --git a/config/default/core.entity_view_display.taxonomy_term.vocab_city_councillors.roll_call_search.yml b/config/default/core.entity_view_display.taxonomy_term.vocab_city_councillors.roll_call_search.yml new file mode 100644 index 0000000000..7ce937b1e6 --- /dev/null +++ b/config/default/core.entity_view_display.taxonomy_term.vocab_city_councillors.roll_call_search.yml @@ -0,0 +1,23 @@ +uuid: cfc0fb9c-0473-41b7-a06e-e52f0b6677ef +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.taxonomy_term.roll_call_search + - field.field.taxonomy_term.vocab_city_councillors.field_active + - field.field.taxonomy_term.vocab_city_councillors.field_district + - field.field.taxonomy_term.vocab_city_councillors.field_email + - field.field.taxonomy_term.vocab_city_councillors.field_first_name + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.roll_call_search +targetEntityType: taxonomy_term +bundle: vocab_city_councillors +mode: roll_call_search +content: { } +hidden: + description: true + field_active: true + field_district: true + field_email: true + field_first_name: true + langcode: true diff --git a/config/default/core.entity_view_display.taxonomy_term.vocab_votes.default.yml b/config/default/core.entity_view_display.taxonomy_term.vocab_votes.default.yml new file mode 100644 index 0000000000..266ebe3f2f --- /dev/null +++ b/config/default/core.entity_view_display.taxonomy_term.vocab_votes.default.yml @@ -0,0 +1,30 @@ +uuid: 2ad0dae8-9a7c-461a-9bd9-842d78ee6a35 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.vocab_votes + module: + - fences + - text +id: taxonomy_term.vocab_votes.default +targetEntityType: taxonomy_term +bundle: vocab_votes +mode: default +content: + description: + type: text_default + label: hidden + settings: { } + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content +hidden: + langcode: true diff --git a/config/default/core.entity_view_display.taxonomy_term.vocab_votes.roll_call_search.yml b/config/default/core.entity_view_display.taxonomy_term.vocab_votes.roll_call_search.yml new file mode 100644 index 0000000000..5284dbb5f3 --- /dev/null +++ b/config/default/core.entity_view_display.taxonomy_term.vocab_votes.roll_call_search.yml @@ -0,0 +1,15 @@ +uuid: 0d5c3bcf-d665-4133-bf3c-732c7453b45f +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.taxonomy_term.roll_call_search + - taxonomy.vocabulary.vocab_votes +id: taxonomy_term.vocab_votes.roll_call_search +targetEntityType: taxonomy_term +bundle: vocab_votes +mode: roll_call_search +content: { } +hidden: + description: true + langcode: true diff --git a/config/default/core.entity_view_mode.node.roll_call_search.yml b/config/default/core.entity_view_mode.node.roll_call_search.yml new file mode 100644 index 0000000000..210e933469 --- /dev/null +++ b/config/default/core.entity_view_mode.node.roll_call_search.yml @@ -0,0 +1,14 @@ +uuid: e886699f-91d0-45d9-ab92-48c269bd537e +langcode: en +status: true +dependencies: + module: + - lightning_core + - node +third_party_settings: + lightning_core: + description: 'A format optimized for Drawers, displaying the Docket and Voting records.' +id: node.roll_call_search +label: 'Roll Call Search' +targetEntityType: node +cache: true diff --git a/config/default/core.entity_view_mode.paragraph.roll_call_search.yml b/config/default/core.entity_view_mode.paragraph.roll_call_search.yml new file mode 100644 index 0000000000..4ad4c39799 --- /dev/null +++ b/config/default/core.entity_view_mode.paragraph.roll_call_search.yml @@ -0,0 +1,14 @@ +uuid: b56fc888-ede3-4bd2-be63-9066cb577ad5 +langcode: en +status: true +dependencies: + module: + - lightning_core + - paragraphs +third_party_settings: + lightning_core: + description: 'Use to display Councillor Voting inside a Drawer when searching Roll Calls.' +id: paragraph.roll_call_search +label: 'Roll Call Search' +targetEntityType: paragraph +cache: true diff --git a/config/default/core.entity_view_mode.taxonomy_term.roll_call_search.yml b/config/default/core.entity_view_mode.taxonomy_term.roll_call_search.yml new file mode 100644 index 0000000000..d06bf3b0e3 --- /dev/null +++ b/config/default/core.entity_view_mode.taxonomy_term.roll_call_search.yml @@ -0,0 +1,14 @@ +uuid: cc97436b-d591-460d-b7af-3cbfa440ab46 +langcode: en +status: true +dependencies: + module: + - lightning_core + - taxonomy +third_party_settings: + lightning_core: + description: 'Display used for Rollcall Search' +id: taxonomy_term.roll_call_search +label: 'Roll Call Search' +targetEntityType: taxonomy_term +cache: true diff --git a/config/default/core.extension.yml b/config/default/core.extension.yml index 553ac23a76..d764103588 100644 --- a/config/default/core.extension.yml +++ b/config/default/core.extension.yml @@ -116,6 +116,7 @@ module: mysql: 0 node: 0 node_elections: 0 + node_rollcall: 0 office_hours: 0 options: 0 page_cache: 0 diff --git a/config/default/field.field.node.article.field_components.yml b/config/default/field.field.node.article.field_components.yml index fd89a3925d..1edff48484 100644 --- a/config/default/field.field.node.article.field_components.yml +++ b/config/default/field.field.node.article.field_components.yml @@ -7,6 +7,7 @@ dependencies: - node.type.article - paragraphs.paragraphs_type.3_column_w_image - paragraphs.paragraphs_type.bos311 + - paragraphs.paragraphs_type.bos_node_search - paragraphs.paragraphs_type.bos_signup_emergency_alerts - paragraphs.paragraphs_type.branded_links - paragraphs.paragraphs_type.cabinet @@ -84,6 +85,7 @@ settings: transaction_grid: transaction_grid video: video branded_links: branded_links + bos_node_search: bos_node_search from_library: from_library election_card: election_card group_of_links_quick_links: group_of_links_quick_links @@ -100,6 +102,9 @@ settings: bos311: weight: -95 enabled: true + bos_node_search: + weight: 78 + enabled: true bos_signup_emergency_alerts: weight: -47 enabled: true @@ -262,6 +267,9 @@ settings: quote: weight: -70 enabled: false + roll_call_vote: + weight: 133 + enabled: false seamless_doc: weight: -65 enabled: false diff --git a/config/default/field.field.node.bh_update.field_bh_banner_status.yml b/config/default/field.field.node.bh_update.field_bh_banner_status.yml new file mode 100644 index 0000000000..f596649ce4 --- /dev/null +++ b/config/default/field.field.node.bh_update.field_bh_banner_status.yml @@ -0,0 +1,33 @@ +uuid: 6122d390-e8e5-45f1-9187-a059af09412c +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_bh_banner_status + - node.type.bh_update + - taxonomy.vocabulary.project_banner_bh_ + content: + - 'taxonomy_term:project_banner_bh_:058f00a5-9cd5-46ba-a75a-208d0fd9f97f' +id: node.bh_update.field_bh_banner_status +field_name: field_bh_banner_status +entity_type: node +bundle: bh_update +label: 'Banner Status' +description: 'Banners can be managed here' +required: false +translatable: false +default_value: + - + target_uuid: 058f00a5-9cd5-46ba-a75a-208d0fd9f97f +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + project_banner_bh_: project_banner_bh_ + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/default/field.field.node.roll_call_dockets.body.yml b/config/default/field.field.node.roll_call_dockets.body.yml new file mode 100644 index 0000000000..ebb2803b24 --- /dev/null +++ b/config/default/field.field.node.roll_call_dockets.body.yml @@ -0,0 +1,26 @@ +uuid: 29654c36-c615-471c-91f8-a8f752204d15 +langcode: en +status: true +dependencies: + config: + - field.storage.node.body + - filter.format.plain_text + - node.type.roll_call_dockets + module: + - text +id: node.roll_call_dockets.body +field_name: body +entity_type: node +bundle: roll_call_dockets +label: Description +description: 'This is the description of the Docket.' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + display_summary: true + required_summary: false + allowed_formats: + - plain_text +field_type: text_with_summary diff --git a/config/default/field.field.node.roll_call_dockets.field_components.yml b/config/default/field.field.node.roll_call_dockets.field_components.yml new file mode 100644 index 0000000000..ed341d4c3b --- /dev/null +++ b/config/default/field.field.node.roll_call_dockets.field_components.yml @@ -0,0 +1,249 @@ +uuid: 52fdeea5-d593-4fba-aea2-d11b9fff68e1 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_components + - node.type.roll_call_dockets + - paragraphs.paragraphs_type.roll_call_vote + - paragraphs.paragraphs_type.text_one_column + module: + - entity_reference_revisions +id: node.roll_call_dockets.field_components +field_name: field_components +entity_type: node +bundle: roll_call_dockets +label: Components +description: 'Add components to this Docket.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:paragraph' + handler_settings: + target_bundles: + text_one_column: text_one_column + roll_call_vote: roll_call_vote + negate: 0 + target_bundles_drag_drop: + 3_column_w_image: + weight: -96 + enabled: false + bid: + weight: -36 + enabled: false + bos311: + weight: -95 + enabled: false + bos_signup_emergency_alerts: + weight: -47 + enabled: false + branded_links: + weight: 73 + enabled: false + cabinet: + weight: -95 + enabled: false + card: + weight: -39 + enabled: false + city_score_dashboard: + weight: -68 + enabled: false + columns: + weight: -31 + enabled: false + commission_contact_info: + weight: -35 + enabled: false + commission_members: + weight: -94 + enabled: false + commission_search: + weight: 75 + enabled: false + commission_summary: + weight: -93 + enabled: false + custom_hours_text: + weight: -80 + enabled: false + daily_hours: + weight: -79 + enabled: false + discussion_topic: + weight: -38 + enabled: false + document: + weight: -88 + enabled: false + drawer: + weight: -73 + enabled: false + drawers: + weight: -85 + enabled: false + election_area_results: + weight: 92 + enabled: false + election_candidate_results: + weight: 93 + enabled: false + election_card: + weight: 94 + enabled: false + election_contest_results: + weight: 95 + enabled: false + election_results: + weight: -87 + enabled: false + embed_view: + weight: 87 + enabled: false + events_and_notices: + weight: 125 + enabled: false + external_link: + weight: -86 + enabled: false + featured_topics: + weight: -84 + enabled: false + from_library: + weight: 87 + enabled: false + fyi: + weight: -78 + enabled: false + gol_list_links: + weight: -77 + enabled: false + grid_links: + weight: -29 + enabled: false + grid_of_cards: + weight: -62 + enabled: false + grid_of_people: + weight: -69 + enabled: false + grid_of_places: + weight: -64 + enabled: false + grid_of_programs_initiatives: + weight: -60 + enabled: false + grid_of_quotes: + weight: -58 + enabled: false + grid_of_topics: + weight: -61 + enabled: false + group_of_links_grid: + weight: -59 + enabled: false + group_of_links_list: + weight: -57 + enabled: false + group_of_links_mini_grid: + weight: -56 + enabled: false + group_of_links_quick_links: + weight: 104 + enabled: false + header_text: + weight: -81 + enabled: false + hero_image: + weight: -55 + enabled: false + how_to_contact_step: + weight: -76 + enabled: false + how_to_tab: + weight: -75 + enabled: false + how_to_text_step: + weight: -74 + enabled: false + iframe: + weight: -54 + enabled: false + internal_link: + weight: -53 + enabled: false + lightbox_link: + weight: -28 + enabled: false + list: + weight: -52 + enabled: false + map: + weight: -51 + enabled: false + message_for_the_day: + weight: -72 + enabled: false + news_and_announcements: + weight: 111 + enabled: false + newsletter: + weight: -49 + enabled: false + photo: + weight: -48 + enabled: false + quote: + weight: -70 + enabled: false + roll_call_vote: + weight: 131 + enabled: true + seamless_doc: + weight: -65 + enabled: false + sidebar_item: + weight: -90 + enabled: false + sidebar_item_w_icon: + weight: -89 + enabled: false + social_media_links: + weight: -91 + enabled: false + social_networking: + weight: -92 + enabled: false + status_overrides: + weight: 123 + enabled: false + tabbed_content_tab: + weight: 124 + enabled: false + text: + weight: -46 + enabled: false + text_one_column: + weight: -45 + enabled: true + text_three_column: + weight: -43 + enabled: false + text_two_column: + weight: -44 + enabled: false + transaction_grid: + weight: -42 + enabled: false + transactions: + weight: -27 + enabled: false + video: + weight: -40 + enabled: false + web_app: + weight: 134 + enabled: false +field_type: entity_reference_revisions diff --git a/config/default/field.field.node.roll_call_dockets.field_meeting_date.yml b/config/default/field.field.node.roll_call_dockets.field_meeting_date.yml new file mode 100644 index 0000000000..fbe41972cb --- /dev/null +++ b/config/default/field.field.node.roll_call_dockets.field_meeting_date.yml @@ -0,0 +1,25 @@ +uuid: 3041785f-23f0-4b45-917a-70e035560fb1 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_meeting_date + - node.type.roll_call_dockets + module: + - datetime + - field_display_label +third_party_settings: + field_display_label: + display_label: 'Meeting Date' +id: node.roll_call_dockets.field_meeting_date +field_name: field_meeting_date +entity_type: node +bundle: roll_call_dockets +label: 'Meeting Date' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: datetime diff --git a/config/default/field.field.paragraph.bos_node_search.field_component_title.yml b/config/default/field.field.paragraph.bos_node_search.field_component_title.yml new file mode 100644 index 0000000000..23557657ea --- /dev/null +++ b/config/default/field.field.paragraph.bos_node_search.field_component_title.yml @@ -0,0 +1,21 @@ +uuid: 5f4c148c-5c38-4f86-91a0-04737012381f +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_component_title + - paragraphs.paragraphs_type.bos_node_search +id: paragraph.bos_node_search.field_component_title +field_name: field_component_title +entity_type: paragraph +bundle: bos_node_search +label: 'Search Box Title' +description: 'This label will appear above the search box on the page' +required: true +translatable: false +default_value: + - + value: Search +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/default/field.field.paragraph.bos_node_search.field_node_search.yml b/config/default/field.field.paragraph.bos_node_search.field_node_search.yml new file mode 100644 index 0000000000..b065ece6e1 --- /dev/null +++ b/config/default/field.field.paragraph.bos_node_search.field_node_search.yml @@ -0,0 +1,99 @@ +uuid: fe05d4ed-8416-455a-8bb5-aa9682f146b3 +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_node_search + - paragraphs.paragraphs_type.bos_node_search + module: + - viewfield +id: paragraph.bos_node_search.field_node_search +field_name: field_node_search +entity_type: paragraph +bundle: bos_node_search +label: 'Content Search' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + force_default: false + allowed_views: + roll_call_dockets: roll_call_dockets + assessing: '0' + bids_rfps: '0' + bos_dashboards: '0' + building_housing: '0' + bhmaps: '0' + building_housing_updates: '0' + calendar: '0' + change: '0' + cityscore: '0' + content: '0' + content_feed: '0' + block_content: '0' + departments_listing: '0' + document_entity_browser_file_: '0' + election_reports_2022: '0' + emergency_alerts: '0' + entity_reference_filters: '0' + events_and_notices: '0' + file_entity_files: '0' + frontpage: '0' + poll_list: '0' + maillog_overview: '0' + media_cob: '0' + media_entity_browser: '0' + media_library: '0' + message_for_the_day: '0' + metrolist: '0' + metrolist_ami: '0' + metrolist_zillow_api: '0' + metrolist_affordable_housing: '0' + news_and_announcements: '0' + news_landing: '0' + paragraphs_library: '0' + paragraphs_library_browser: '0' + user_admin_people: '0' + places: '0' + poll_admin: '0' + profiles: '0' + public_notice: '0' + content_recent: '0' + redirect: '0' + roll_call_taxonomy: '0' + rss_feeds: '0' + salesforce_mapped_objects: '0' + samlauth_map: '0' + site_alerts: '0' + status_items: '0' + taxonomy_dashboards: '0' + taxonomy_term: '0' + topic_landing_page: '0' + transactions: '0' + watchdog: '0' + webform_submissions: '0' + who_s_new: '0' + who_s_online: '0' + workbench_current_user: '0' + workbench_edited: '0' + workbench_my_edits: '0' + workbench_needs_review_cob: '0' + workbench_recent_content: '0' + wysiwyg_entity_browser: '0' + allowed_display_types: + block: block + attachment: '0' + default: '0' + embed: '0' + entity_browser: '0' + entity_reference: '0' + feed: '0' + geolocation_layer: '0' + page: '0' + rest_export: '0' + rest_export_nested: '0' + handler: 'default:view' + handler_settings: { } +field_type: viewfield diff --git a/config/default/field.field.paragraph.bos_node_search.field_search_results.yml b/config/default/field.field.paragraph.bos_node_search.field_search_results.yml new file mode 100644 index 0000000000..6138520c10 --- /dev/null +++ b/config/default/field.field.paragraph.bos_node_search.field_search_results.yml @@ -0,0 +1,19 @@ +uuid: ecb0423f-d631-461e-9217-267f5745e422 +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_search_results + - paragraphs.paragraphs_type.bos_node_search +id: paragraph.bos_node_search.field_search_results +field_name: field_search_results +entity_type: paragraph +bundle: bos_node_search +label: 'Search Results Title' +description: "The title above the search results from the view which displays after a search is performed.\r\nLeave blank to omit this title" +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/default/field.field.paragraph.bos_node_search.field_short_title.yml b/config/default/field.field.paragraph.bos_node_search.field_short_title.yml new file mode 100644 index 0000000000..6c5deaeece --- /dev/null +++ b/config/default/field.field.paragraph.bos_node_search.field_short_title.yml @@ -0,0 +1,19 @@ +uuid: f4e53811-e005-41ae-ba1d-140578b20885 +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_short_title + - paragraphs.paragraphs_type.bos_node_search +id: paragraph.bos_node_search.field_short_title +field_name: field_short_title +entity_type: paragraph +bundle: bos_node_search +label: 'Navigation Title' +description: 'The nav title is used to populate the in-page navigation. Please keep it short: one to three words is ideal.
Example can be found on boston.gov/winter/.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/default/field.field.paragraph.bos_node_search.field_title.yml b/config/default/field.field.paragraph.bos_node_search.field_title.yml new file mode 100644 index 0000000000..d5bdac3053 --- /dev/null +++ b/config/default/field.field.paragraph.bos_node_search.field_title.yml @@ -0,0 +1,19 @@ +uuid: 1b4f4368-a58b-4d9a-9be7-f553f4cab42b +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_title + - paragraphs.paragraphs_type.bos_node_search +id: paragraph.bos_node_search.field_title +field_name: field_title +entity_type: paragraph +bundle: bos_node_search +label: 'Initial Results Title' +description: "The title above the search results from the view which displays for results (if any) before any a search is performed.\r\nLeave blank to omit this title" +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/default/field.field.paragraph.roll_call_vote.field_councillor.yml b/config/default/field.field.paragraph.roll_call_vote.field_councillor.yml new file mode 100644 index 0000000000..497e199a66 --- /dev/null +++ b/config/default/field.field.paragraph.roll_call_vote.field_councillor.yml @@ -0,0 +1,95 @@ +uuid: 4a5555f1-e62f-42c2-a012-a358cabb8fe0 +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_councillor + - paragraphs.paragraphs_type.roll_call_vote + - taxonomy.vocabulary.vocab_city_councillors + module: + - dynamic_entity_reference +id: paragraph.roll_call_vote.field_councillor +field_name: field_councillor +entity_type: paragraph +bundle: roll_call_vote +label: Councillor +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + taxonomy_term: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + vocab_city_councillors: vocab_city_councillors + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' + node: + handler: 'default:node' + handler_settings: { } + block_content: + handler: 'default:block_content' + handler_settings: { } + content_moderation_state: + handler: 'default:content_moderation_state' + handler_settings: { } + token_custom: + handler: 'default:token_custom' + handler_settings: { } + menu_link_content: + handler: 'default:menu_link_content' + handler_settings: { } + entity_embed_fake_entity: + handler: 'default:entity_embed_fake_entity' + handler_settings: { } + file: + handler: 'default:file' + handler_settings: { } + media: + handler: 'default:media' + handler_settings: { } + paragraph: + handler: 'default:paragraph' + handler_settings: { } + paragraphs_library_item: + handler: 'default:paragraphs_library_item' + handler_settings: { } + poll: + handler: 'default:poll' + handler_settings: { } + poll_choice: + handler: 'default:poll_choice' + handler_settings: { } + profile: + handler: 'default:profile' + handler_settings: { } + redirect: + handler: 'default:redirect' + handler_settings: { } + salesforce_mapped_object: + handler: 'default:salesforce_mapped_object' + handler_settings: { } + shortcut: + handler: 'default:shortcut' + handler_settings: { } + path_alias: + handler: 'default:path_alias' + handler_settings: { } + user: + handler: 'default:user' + handler_settings: { } + vote: + handler: 'default:vote' + handler_settings: { } + vote_result: + handler: 'default:vote_result' + handler_settings: { } + webform_submission: + handler: 'default:webform_submission' + handler_settings: { } +field_type: dynamic_entity_reference diff --git a/config/default/field.field.paragraph.roll_call_vote.field_vote.yml b/config/default/field.field.paragraph.roll_call_vote.field_vote.yml new file mode 100644 index 0000000000..97e590fcbd --- /dev/null +++ b/config/default/field.field.paragraph.roll_call_vote.field_vote.yml @@ -0,0 +1,95 @@ +uuid: 7ee3287b-9d99-4128-9769-4ffbed2b2544 +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_vote + - paragraphs.paragraphs_type.roll_call_vote + - taxonomy.vocabulary.vocab_votes + module: + - dynamic_entity_reference +id: paragraph.roll_call_vote.field_vote +field_name: field_vote +entity_type: paragraph +bundle: roll_call_vote +label: Vote +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + taxonomy_term: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + vocab_votes: vocab_votes + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' + node: + handler: 'default:node' + handler_settings: { } + block_content: + handler: 'default:block_content' + handler_settings: { } + content_moderation_state: + handler: 'default:content_moderation_state' + handler_settings: { } + token_custom: + handler: 'default:token_custom' + handler_settings: { } + menu_link_content: + handler: 'default:menu_link_content' + handler_settings: { } + entity_embed_fake_entity: + handler: 'default:entity_embed_fake_entity' + handler_settings: { } + file: + handler: 'default:file' + handler_settings: { } + media: + handler: 'default:media' + handler_settings: { } + paragraph: + handler: 'default:paragraph' + handler_settings: { } + paragraphs_library_item: + handler: 'default:paragraphs_library_item' + handler_settings: { } + poll: + handler: 'default:poll' + handler_settings: { } + poll_choice: + handler: 'default:poll_choice' + handler_settings: { } + profile: + handler: 'default:profile' + handler_settings: { } + redirect: + handler: 'default:redirect' + handler_settings: { } + salesforce_mapped_object: + handler: 'default:salesforce_mapped_object' + handler_settings: { } + shortcut: + handler: 'default:shortcut' + handler_settings: { } + path_alias: + handler: 'default:path_alias' + handler_settings: { } + user: + handler: 'default:user' + handler_settings: { } + vote: + handler: 'default:vote' + handler_settings: { } + vote_result: + handler: 'default:vote_result' + handler_settings: { } + webform_submission: + handler: 'default:webform_submission' + handler_settings: { } +field_type: dynamic_entity_reference diff --git a/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state.yml b/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state.yml new file mode 100644 index 0000000000..bf4cad24fe --- /dev/null +++ b/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state.yml @@ -0,0 +1,23 @@ +uuid: 19abaa6b-96e0-41da-8bd4-e03805442a6f +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_banner_moderation_state + - taxonomy.vocabulary.project_banner_bh_ + module: + - options +id: taxonomy_term.project_banner_bh_.field_banner_moderation_state +field_name: field_banner_moderation_state +entity_type: taxonomy_term +bundle: project_banner_bh_ +label: 'Moderation State' +description: '' +required: false +translatable: false +default_value: + - + value: Published +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_text.yml b/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_text.yml new file mode 100644 index 0000000000..f7261d9c80 --- /dev/null +++ b/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_text.yml @@ -0,0 +1,24 @@ +uuid: 6b715b9a-45b2-427c-a9a9-7242e56834a4 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_banner_text + - filter.format.filtered_html + - taxonomy.vocabulary.project_banner_bh_ + module: + - text +id: taxonomy_term.project_banner_bh_.field_banner_text +field_name: field_banner_text +entity_type: taxonomy_term +bundle: project_banner_bh_ +label: 'Banner Text' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + allowed_formats: + - filtered_html +field_type: text diff --git a/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_title.yml b/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_title.yml new file mode 100644 index 0000000000..cfdba6f061 --- /dev/null +++ b/config/default/field.field.taxonomy_term.project_banner_bh_.field_banner_title.yml @@ -0,0 +1,19 @@ +uuid: ee2f2083-cab0-4c16-88f4-90dd06ac8c9c +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_banner_title + - taxonomy.vocabulary.project_banner_bh_ +id: taxonomy_term.project_banner_bh_.field_banner_title +field_name: field_banner_title +entity_type: taxonomy_term +bundle: project_banner_bh_ +label: 'Banner Title' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/default/field.field.taxonomy_term.project_banner_bh_.field_show_banner.yml b/config/default/field.field.taxonomy_term.project_banner_bh_.field_show_banner.yml new file mode 100644 index 0000000000..aa9c165a72 --- /dev/null +++ b/config/default/field.field.taxonomy_term.project_banner_bh_.field_show_banner.yml @@ -0,0 +1,23 @@ +uuid: 97843634-c409-427c-a568-0e5191c56966 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_show_banner + - taxonomy.vocabulary.project_banner_bh_ +id: taxonomy_term.project_banner_bh_.field_show_banner +field_name: field_show_banner +entity_type: taxonomy_term +bundle: project_banner_bh_ +label: 'Show Banner' +description: 'When selected, a banner will be shown on the Project homepage' +required: false +translatable: false +default_value: + - + value: 1 +default_value_callback: '' +settings: + on_label: Show + off_label: Hide +field_type: boolean diff --git a/config/default/field.field.taxonomy_term.vocab_city_councillors.field_active.yml b/config/default/field.field.taxonomy_term.vocab_city_councillors.field_active.yml new file mode 100644 index 0000000000..e6d5c0d167 --- /dev/null +++ b/config/default/field.field.taxonomy_term.vocab_city_councillors.field_active.yml @@ -0,0 +1,23 @@ +uuid: ed49776f-18ee-409d-a73c-fe96978edb7a +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_active + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.field_active +field_name: field_active +entity_type: taxonomy_term +bundle: vocab_city_councillors +label: Active +description: 'Is this Councillor currently elected ? This field is used to determine voting Councillors when creating new RollCall Dockets.' +required: false +translatable: false +default_value: + - + value: 1 +default_value_callback: '' +settings: + on_label: Active + off_label: Inactive +field_type: boolean diff --git a/config/default/field.field.taxonomy_term.vocab_city_councillors.field_district.yml b/config/default/field.field.taxonomy_term.vocab_city_councillors.field_district.yml new file mode 100644 index 0000000000..0b4b58f655 --- /dev/null +++ b/config/default/field.field.taxonomy_term.vocab_city_councillors.field_district.yml @@ -0,0 +1,25 @@ +uuid: a2c94178-6cfe-4964-9649-d7f5804bb4e1 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_district + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.field_district +field_name: field_district +entity_type: taxonomy_term +bundle: vocab_city_councillors +label: District +description: 'The District this Councillor currently represents.
If the District does not appear in the list, please make the current Councillor for this district inactive, and try again.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: views + handler_settings: + view: + view_name: roll_call_taxonomy + display_name: unused_districts_filter + arguments: { } +field_type: entity_reference diff --git a/config/default/field.field.taxonomy_term.vocab_city_councillors.field_email.yml b/config/default/field.field.taxonomy_term.vocab_city_councillors.field_email.yml new file mode 100644 index 0000000000..aeff646e43 --- /dev/null +++ b/config/default/field.field.taxonomy_term.vocab_city_councillors.field_email.yml @@ -0,0 +1,19 @@ +uuid: 3a9b3646-7d5c-45fd-890c-0e581d786207 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_email + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.field_email +field_name: field_email +entity_type: taxonomy_term +bundle: vocab_city_councillors +label: Email +description: 'The Councillors business email address.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: email diff --git a/config/default/field.field.taxonomy_term.vocab_city_councillors.field_first_name.yml b/config/default/field.field.taxonomy_term.vocab_city_councillors.field_first_name.yml new file mode 100644 index 0000000000..5a40c85bdc --- /dev/null +++ b/config/default/field.field.taxonomy_term.vocab_city_councillors.field_first_name.yml @@ -0,0 +1,19 @@ +uuid: 9e68317e-3115-47a0-8db0-9053ad2ada7f +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_first_name + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.field_first_name +field_name: field_first_name +entity_type: taxonomy_term +bundle: vocab_city_councillors +label: 'First Name' +description: 'Councillors First Name ' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/default/field.storage.node.field_bh_banner_status.yml b/config/default/field.storage.node.field_bh_banner_status.yml new file mode 100644 index 0000000000..a0287ead03 --- /dev/null +++ b/config/default/field.storage.node.field_bh_banner_status.yml @@ -0,0 +1,20 @@ +uuid: 53a9bfda-7526-4905-aba9-b628c6c0d30e +langcode: en +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_bh_banner_status +field_name: field_bh_banner_status +entity_type: node +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/default/field.storage.node.field_meeting_date.yml b/config/default/field.storage.node.field_meeting_date.yml new file mode 100644 index 0000000000..1b0503dfb1 --- /dev/null +++ b/config/default/field.storage.node.field_meeting_date.yml @@ -0,0 +1,20 @@ +uuid: 92e13c81-739a-4ea9-a144-cb5b1ff28703 +langcode: en +status: true +dependencies: + module: + - datetime + - node +id: node.field_meeting_date +field_name: field_meeting_date +entity_type: node +type: datetime +settings: + datetime_type: date +module: datetime +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.paragraph.field_councillor.yml b/config/default/field.storage.paragraph.field_councillor.yml new file mode 100644 index 0000000000..e2e266eef0 --- /dev/null +++ b/config/default/field.storage.paragraph.field_councillor.yml @@ -0,0 +1,23 @@ +uuid: 3fc9fd3b-faa6-482e-b336-202094d937b9 +langcode: en +status: true +dependencies: + module: + - dynamic_entity_reference + - paragraphs + - taxonomy +id: paragraph.field_councillor +field_name: field_councillor +entity_type: paragraph +type: dynamic_entity_reference +settings: + exclude_entity_types: false + entity_type_ids: + taxonomy_term: taxonomy_term +module: dynamic_entity_reference +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.paragraph.field_node_search.yml b/config/default/field.storage.paragraph.field_node_search.yml new file mode 100644 index 0000000000..e2b7364a83 --- /dev/null +++ b/config/default/field.storage.paragraph.field_node_search.yml @@ -0,0 +1,21 @@ +uuid: ef9d7d52-e0d9-4372-bd64-1760da6b3fcf +langcode: en +status: true +dependencies: + module: + - paragraphs + - viewfield + - views +id: paragraph.field_node_search +field_name: field_node_search +entity_type: paragraph +type: viewfield +settings: + target_type: view +module: viewfield +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.paragraph.field_search_results.yml b/config/default/field.storage.paragraph.field_search_results.yml new file mode 100644 index 0000000000..febd8e1d53 --- /dev/null +++ b/config/default/field.storage.paragraph.field_search_results.yml @@ -0,0 +1,21 @@ +uuid: e31b3153-b2fd-4a47-a2ea-c0533b55df88 +langcode: en +status: true +dependencies: + module: + - paragraphs +id: paragraph.field_search_results +field_name: field_search_results +entity_type: paragraph +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.paragraph.field_vote.yml b/config/default/field.storage.paragraph.field_vote.yml new file mode 100644 index 0000000000..76f6e8a058 --- /dev/null +++ b/config/default/field.storage.paragraph.field_vote.yml @@ -0,0 +1,23 @@ +uuid: 29a29a9a-d900-4e88-a6f4-99ebe0146c3d +langcode: en +status: true +dependencies: + module: + - dynamic_entity_reference + - paragraphs + - taxonomy +id: paragraph.field_vote +field_name: field_vote +entity_type: paragraph +type: dynamic_entity_reference +settings: + exclude_entity_types: false + entity_type_ids: + taxonomy_term: taxonomy_term +module: dynamic_entity_reference +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.taxonomy_term.field_active.yml b/config/default/field.storage.taxonomy_term.field_active.yml new file mode 100644 index 0000000000..6b410492cb --- /dev/null +++ b/config/default/field.storage.taxonomy_term.field_active.yml @@ -0,0 +1,18 @@ +uuid: 2c3ee81e-89d7-476b-8f25-61589f62ae80 +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_active +field_name: field_active +entity_type: taxonomy_term +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.taxonomy_term.field_banner_moderation_state.yml b/config/default/field.storage.taxonomy_term.field_banner_moderation_state.yml new file mode 100644 index 0000000000..a23f947053 --- /dev/null +++ b/config/default/field.storage.taxonomy_term.field_banner_moderation_state.yml @@ -0,0 +1,30 @@ +uuid: 878a29c4-ae72-493a-bc5a-916d1c0b79e3 +langcode: en +status: true +dependencies: + module: + - options + - taxonomy +id: taxonomy_term.field_banner_moderation_state +field_name: field_banner_moderation_state +entity_type: taxonomy_term +type: list_string +settings: + allowed_values: + - + value: Draft + label: Draft + - + value: Published + label: Published + - + value: Archived + label: Archived + allowed_values_function: '' +module: options +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.taxonomy_term.field_banner_text.yml b/config/default/field.storage.taxonomy_term.field_banner_text.yml new file mode 100644 index 0000000000..7c97771e67 --- /dev/null +++ b/config/default/field.storage.taxonomy_term.field_banner_text.yml @@ -0,0 +1,20 @@ +uuid: 8b7eabe5-8712-4db7-ab4d-92a7ef47a1ad +langcode: en +status: true +dependencies: + module: + - taxonomy + - text +id: taxonomy_term.field_banner_text +field_name: field_banner_text +entity_type: taxonomy_term +type: text +settings: + max_length: 255 +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.taxonomy_term.field_banner_title.yml b/config/default/field.storage.taxonomy_term.field_banner_title.yml new file mode 100644 index 0000000000..392018c8a7 --- /dev/null +++ b/config/default/field.storage.taxonomy_term.field_banner_title.yml @@ -0,0 +1,21 @@ +uuid: a423b0c1-fa36-4871-861b-ea69d221c67c +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_banner_title +field_name: field_banner_title +entity_type: taxonomy_term +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.taxonomy_term.field_district.yml b/config/default/field.storage.taxonomy_term.field_district.yml new file mode 100644 index 0000000000..a59350509a --- /dev/null +++ b/config/default/field.storage.taxonomy_term.field_district.yml @@ -0,0 +1,19 @@ +uuid: b64d00b9-759e-4460-8c0a-b31ea45a1011 +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_district +field_name: field_district +entity_type: taxonomy_term +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/default/field.storage.taxonomy_term.field_email.yml b/config/default/field.storage.taxonomy_term.field_email.yml new file mode 100644 index 0000000000..502cb761ae --- /dev/null +++ b/config/default/field.storage.taxonomy_term.field_email.yml @@ -0,0 +1,18 @@ +uuid: f9964313-8dbf-45d9-b8a5-349da43858e1 +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_email +field_name: field_email +entity_type: taxonomy_term +type: email +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.taxonomy_term.field_first_name.yml b/config/default/field.storage.taxonomy_term.field_first_name.yml new file mode 100644 index 0000000000..39db0405e4 --- /dev/null +++ b/config/default/field.storage.taxonomy_term.field_first_name.yml @@ -0,0 +1,21 @@ +uuid: fd59e5c2-2779-43ed-a77a-975a29d2825c +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_first_name +field_name: field_first_name +entity_type: taxonomy_term +type: string +settings: + max_length: 25 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.taxonomy_term.field_show_banner.yml b/config/default/field.storage.taxonomy_term.field_show_banner.yml new file mode 100644 index 0000000000..ddc342d633 --- /dev/null +++ b/config/default/field.storage.taxonomy_term.field_show_banner.yml @@ -0,0 +1,18 @@ +uuid: ada5b953-d880-4d72-aebb-a75cda685f5c +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_show_banner +field_name: field_show_banner +entity_type: taxonomy_term +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/language.content_settings.node.roll_call_dockets.yml b/config/default/language.content_settings.node.roll_call_dockets.yml new file mode 100644 index 0000000000..6e647a73ab --- /dev/null +++ b/config/default/language.content_settings.node.roll_call_dockets.yml @@ -0,0 +1,11 @@ +uuid: e197f8fe-0f85-4842-b8a4-33ab32b6a3cc +langcode: en +status: true +dependencies: + config: + - node.type.roll_call_dockets +id: node.roll_call_dockets +target_entity_type_id: node +target_bundle: roll_call_dockets +default_langcode: site_default +language_alterable: false diff --git a/config/default/language.content_settings.taxonomy_term.city_council_districts.yml b/config/default/language.content_settings.taxonomy_term.city_council_districts.yml new file mode 100644 index 0000000000..4be8976e11 --- /dev/null +++ b/config/default/language.content_settings.taxonomy_term.city_council_districts.yml @@ -0,0 +1,11 @@ +uuid: 206ad886-b188-403d-84a4-d50a7792e69c +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.city_council_districts +id: taxonomy_term.city_council_districts +target_entity_type_id: taxonomy_term +target_bundle: city_council_districts +default_langcode: site_default +language_alterable: false diff --git a/config/default/language.content_settings.taxonomy_term.project_banner_bh_.yml b/config/default/language.content_settings.taxonomy_term.project_banner_bh_.yml new file mode 100644 index 0000000000..873cc1e882 --- /dev/null +++ b/config/default/language.content_settings.taxonomy_term.project_banner_bh_.yml @@ -0,0 +1,11 @@ +uuid: 40b135c9-abe4-42cc-a973-8a6f940b6f8c +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.project_banner_bh_ +id: taxonomy_term.project_banner_bh_ +target_entity_type_id: taxonomy_term +target_bundle: project_banner_bh_ +default_langcode: site_default +language_alterable: false diff --git a/config/default/language.content_settings.taxonomy_term.vocab_city_councillors.yml b/config/default/language.content_settings.taxonomy_term.vocab_city_councillors.yml new file mode 100644 index 0000000000..1a07f4c06b --- /dev/null +++ b/config/default/language.content_settings.taxonomy_term.vocab_city_councillors.yml @@ -0,0 +1,11 @@ +uuid: 399c64f9-308c-4edb-88da-cc12ea7c1c44 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors +target_entity_type_id: taxonomy_term +target_bundle: vocab_city_councillors +default_langcode: site_default +language_alterable: false diff --git a/config/default/language.content_settings.taxonomy_term.vocab_votes.yml b/config/default/language.content_settings.taxonomy_term.vocab_votes.yml new file mode 100644 index 0000000000..5b18b6fca7 --- /dev/null +++ b/config/default/language.content_settings.taxonomy_term.vocab_votes.yml @@ -0,0 +1,11 @@ +uuid: 23f5ce7f-a912-4db5-b185-8206d3750a7e +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.vocab_votes +id: taxonomy_term.vocab_votes +target_entity_type_id: taxonomy_term +target_bundle: vocab_votes +default_langcode: site_default +language_alterable: false diff --git a/config/default/language.types.yml b/config/default/language.types.yml index 545179cab4..de0e4cd24f 100644 --- a/config/default/language.types.yml +++ b/config/default/language.types.yml @@ -9,7 +9,7 @@ configurable: negotiation: language_content: enabled: - language-interface: 9 + language-interface: 0 method_weights: language-content-entity: -9 language-url: -8 diff --git a/config/default/node.type.roll_call_dockets.yml b/config/default/node.type.roll_call_dockets.yml new file mode 100644 index 0000000000..c56ac8a5d9 --- /dev/null +++ b/config/default/node.type.roll_call_dockets.yml @@ -0,0 +1,18 @@ +uuid: b2ffee1d-229c-4017-b45a-7c3374560cff +langcode: en +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +name: 'Roll Call Dockets' +type: roll_call_dockets +description: 'RollCall: This is a single record for a Docket which was voted upon in a Council Meeting.' +help: '' +new_revision: true +preview_mode: 1 +display_submitted: true diff --git a/config/default/node_elections.settings.yml b/config/default/node_elections.settings.yml index 7eb2926570..a251f34c67 100644 --- a/config/default/node_elections.settings.yml +++ b/config/default/node_elections.settings.yml @@ -1,19 +1,83 @@ upload_directory: 'public://election_results' history: - - generate_date: 1636159532 - upload_date: 1667423430 - file: '374657' + generate_date: 1694569052 + upload_date: 1694569267 + file: 438391 + result: Success + election: '41751' + revision: '18794186' + result_comment: 'Processed OK' + - + generate_date: 1694570120 + upload_date: 1694570336 + file: 438396 + result: Success + election: '41751' + revision: '18794191' + result_comment: 'Processed OK' + - + generate_date: 1694570671 + upload_date: 1694570884 + file: 438401 + result: Success + election: '41751' + revision: '18794196' + result_comment: 'Processed OK' + - + generate_date: 1694572371 + upload_date: 1694572592 + file: 438406 + result: Success + election: '41751' + revision: '18794226' + result_comment: 'Processed OK' + - + generate_date: 1694574160 + upload_date: 1694574824 + file: 438411 + result: Success + election: '41751' + revision: '18794241' + result_comment: 'Processed OK' + - + generate_date: 1694574160 + upload_date: 1694576835 + file: '438416' + result: Failed + election: '41751' + revision: '' + result_comment: 'An election with this timestamp (2023-09-12T23:02:40) has already been processed.
This file will not be processed.
Error 9026.' + - + generate_date: 1694574160 + upload_date: 1694576885 + file: '438421' + result: Failed + election: '41751' + revision: '' + result_comment: 'An election with this timestamp (2023-09-12T23:02:40) has already been processed.
This file will not be processed.
Error 9026.' + - + generate_date: 1694574160 + upload_date: 1694576961 + file: '438426' + result: Failed + election: '41751' + revision: '' + result_comment: 'An election with this timestamp (2023-09-12T23:02:40) has already been processed.
This file will not be processed.
Error 9026.' + - + generate_date: 1694574160 + upload_date: 1694576986 + file: '438431' result: Failed - election: '34921' + election: '41751' revision: '' - result_comment: 'This file is out of sequence.
This file has a timestamp 2021-11-05T20:45:32 but the last file uploaded for this election had a timestamp 2021-11-05T23:07:10.
This file will not be processed.
Error 9027.' + result_comment: 'An election with this timestamp (2023-09-12T23:02:40) has already been processed.
This file will not be processed.
Error 9026.' - - generate_date: 1692981369 - upload_date: 1692984562 - file: 386301 + generate_date: 1694578707 + upload_date: 1694579038 + file: 438436 result: Success - election: '40790' - revision: '18610394' + election: '41751' + revision: '18794246' result_comment: 'Processed OK' -last-run: 1692984562 +last-run: 1694579038 diff --git a/config/default/paragraphs.paragraphs_type.bos_node_search.yml b/config/default/paragraphs.paragraphs_type.bos_node_search.yml new file mode 100644 index 0000000000..0792266d5c --- /dev/null +++ b/config/default/paragraphs.paragraphs_type.bos_node_search.yml @@ -0,0 +1,10 @@ +uuid: 0b839099-dc49-483c-926a-dc6d5fe16e82 +langcode: en +status: true +dependencies: { } +id: bos_node_search +label: Search +icon_uuid: null +icon_default: null +description: 'A component to embed views blocks configured to search content-type data. (see RollCall Search example)' +behavior_plugins: { } diff --git a/config/default/paragraphs.paragraphs_type.roll_call_vote.yml b/config/default/paragraphs.paragraphs_type.roll_call_vote.yml new file mode 100644 index 0000000000..f049b7e778 --- /dev/null +++ b/config/default/paragraphs.paragraphs_type.roll_call_vote.yml @@ -0,0 +1,11 @@ +uuid: f644ee79-31c9-4bf6-a80d-90e4ab47c186 +langcode: en +status: true +dependencies: + content: { } +id: roll_call_vote +label: 'Roll Call Vote' +icon_uuid: null +icon_default: null +description: 'Records a Councillors vote on a Docket during a Council Meeting.' +behavior_plugins: { } diff --git a/config/default/rabbit_hole.behavior_settings.node_type_roll_call_dockets.yml b/config/default/rabbit_hole.behavior_settings.node_type_roll_call_dockets.yml new file mode 100644 index 0000000000..bdcb372738 --- /dev/null +++ b/config/default/rabbit_hole.behavior_settings.node_type_roll_call_dockets.yml @@ -0,0 +1,14 @@ +uuid: e8cb8ecf-f2de-4bc2-b48d-6da5d9c31439 +langcode: en +status: true +dependencies: + config: + - node.type.roll_call_dockets +id: node_type_roll_call_dockets +entity_type_id: node_type +entity_id: roll_call_dockets +action: page_not_found +allow_override: 0 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_city_council_districts.yml b/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_city_council_districts.yml new file mode 100644 index 0000000000..ce14c20fc4 --- /dev/null +++ b/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_city_council_districts.yml @@ -0,0 +1,14 @@ +uuid: c5339a4e-01af-49e7-bf29-09ac638bad95 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.city_council_districts +id: taxonomy_vocabulary_city_council_districts +entity_type_id: taxonomy_vocabulary +entity_id: city_council_districts +action: display_page +allow_override: 1 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_project_banner_bh_.yml b/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_project_banner_bh_.yml new file mode 100644 index 0000000000..ff6c356b94 --- /dev/null +++ b/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_project_banner_bh_.yml @@ -0,0 +1,14 @@ +uuid: 1abbea09-1167-435c-9cd1-bd7b56042f2c +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.project_banner_bh_ +id: taxonomy_vocabulary_project_banner_bh_ +entity_type_id: taxonomy_vocabulary +entity_id: project_banner_bh_ +action: page_not_found +allow_override: 0 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_vocab_city_councillors.yml b/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_vocab_city_councillors.yml new file mode 100644 index 0000000000..814cad8585 --- /dev/null +++ b/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_vocab_city_councillors.yml @@ -0,0 +1,14 @@ +uuid: 08360463-9462-4e6c-80ea-4ba59e058008 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_vocabulary_vocab_city_councillors +entity_type_id: taxonomy_vocabulary +entity_id: vocab_city_councillors +action: display_page +allow_override: 0 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_vocab_votes.yml b/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_vocab_votes.yml new file mode 100644 index 0000000000..998e84af8c --- /dev/null +++ b/config/default/rabbit_hole.behavior_settings.taxonomy_vocabulary_vocab_votes.yml @@ -0,0 +1,14 @@ +uuid: 17a8a6bd-d710-420f-af55-14303ef052f0 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.vocab_votes +id: taxonomy_vocabulary_vocab_votes +entity_type_id: taxonomy_vocabulary +entity_id: vocab_votes +action: display_page +allow_override: 1 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/config/default/salesforce_mapping.salesforce_mapping.bh_website_update.yml b/config/default/salesforce_mapping.salesforce_mapping.bh_website_update.yml index deaf4eb19f..5f5671d7b8 100644 --- a/config/default/salesforce_mapping.salesforce_mapping.bh_website_update.yml +++ b/config/default/salesforce_mapping.salesforce_mapping.bh_website_update.yml @@ -14,6 +14,8 @@ push_frequency: 0 push_limit: 0 push_retries: 3 pull_where_clause: '' +pull_record_type_filter: + Master: 0 sync_triggers: push_create: false push_update: true diff --git a/config/default/salesforce_mapping.salesforce_mapping.building_housing_projects.yml b/config/default/salesforce_mapping.salesforce_mapping.building_housing_projects.yml index d3954fe2a6..2128aaf6f5 100644 --- a/config/default/salesforce_mapping.salesforce_mapping.building_housing_projects.yml +++ b/config/default/salesforce_mapping.salesforce_mapping.building_housing_projects.yml @@ -14,6 +14,7 @@ push_frequency: 0 push_limit: 0 push_retries: 3 pull_where_clause: "RecordTypeID IN ('0120y0000007rw7', '012C0000000Hqw0')" +pull_record_type_filter: { } sync_triggers: push_create: false push_update: true diff --git a/config/default/system.action.user_add_role_action.city_clerk_editor.yml b/config/default/system.action.user_add_role_action.city_clerk_editor.yml new file mode 100644 index 0000000000..865f050cbc --- /dev/null +++ b/config/default/system.action.user_add_role_action.city_clerk_editor.yml @@ -0,0 +1,14 @@ +uuid: e374aff8-0058-4133-a48c-12943f114ff6 +langcode: en +status: true +dependencies: + config: + - user.role.city_clerk_editor + module: + - user +id: user_add_role_action.city_clerk_editor +label: 'Add the City Clerk Editor role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: city_clerk_editor diff --git a/config/default/system.action.user_remove_role_action.city_clerk_editor.yml b/config/default/system.action.user_remove_role_action.city_clerk_editor.yml new file mode 100644 index 0000000000..8deee24bcc --- /dev/null +++ b/config/default/system.action.user_remove_role_action.city_clerk_editor.yml @@ -0,0 +1,14 @@ +uuid: 6d3f61b4-4780-42eb-a37e-60b285ec0a95 +langcode: en +status: true +dependencies: + config: + - user.role.city_clerk_editor + module: + - user +id: user_remove_role_action.city_clerk_editor +label: 'Remove the City Clerk Editor role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: city_clerk_editor diff --git a/config/default/taxonomy.vocabulary.city_council_districts.yml b/config/default/taxonomy.vocabulary.city_council_districts.yml new file mode 100644 index 0000000000..83b2f507bd --- /dev/null +++ b/config/default/taxonomy.vocabulary.city_council_districts.yml @@ -0,0 +1,8 @@ +uuid: 1d74e468-a481-47f3-a6a2-87948626721f +langcode: en +status: true +dependencies: { } +name: 'City Council Districts' +vid: city_council_districts +description: 'RollCall: City Council representative Districts' +weight: 0 diff --git a/config/default/taxonomy.vocabulary.project_banner_bh_.yml b/config/default/taxonomy.vocabulary.project_banner_bh_.yml new file mode 100644 index 0000000000..2ad1eb5c81 --- /dev/null +++ b/config/default/taxonomy.vocabulary.project_banner_bh_.yml @@ -0,0 +1,8 @@ +uuid: a8d20aba-ed51-4fdc-aafa-ea820d56bf15 +langcode: en +status: true +dependencies: { } +name: 'Project Banner (BH)' +vid: project_banner_bh_ +description: "Controls the Property's visibility and banner on boston.gov." +weight: 0 diff --git a/config/default/taxonomy.vocabulary.vocab_city_councillors.yml b/config/default/taxonomy.vocabulary.vocab_city_councillors.yml new file mode 100644 index 0000000000..f85c1f711c --- /dev/null +++ b/config/default/taxonomy.vocabulary.vocab_city_councillors.yml @@ -0,0 +1,8 @@ +uuid: 3a69b8e9-80dd-4b4e-9597-d55261d1eaf4 +langcode: en +status: true +dependencies: { } +name: 'City Councillors' +vid: vocab_city_councillors +description: 'Roll Call: List of Current and Past City Councillors' +weight: 0 diff --git a/config/default/taxonomy.vocabulary.vocab_votes.yml b/config/default/taxonomy.vocabulary.vocab_votes.yml new file mode 100644 index 0000000000..0900ab0387 --- /dev/null +++ b/config/default/taxonomy.vocabulary.vocab_votes.yml @@ -0,0 +1,8 @@ +uuid: b27e64ff-7f39-4277-9a88-9c22d14343f9 +langcode: en +status: true +dependencies: { } +name: 'Vote Types' +vid: vocab_votes +description: 'RollCall: The types of vote (on a Docket) recorded during a Council Meeting.' +weight: 0 diff --git a/config/default/user.role.anonymous.yml b/config/default/user.role.anonymous.yml index beed7e0a84..4a057323ba 100644 --- a/config/default/user.role.anonymous.yml +++ b/config/default/user.role.anonymous.yml @@ -25,6 +25,7 @@ permissions: - 'view paragraph content 3_column_w_image' - 'view paragraph content bid' - 'view paragraph content bos311' + - 'view paragraph content bos_node_search' - 'view paragraph content bos_signup_emergency_alerts' - 'view paragraph content branded_links' - 'view paragraph content cabinet' @@ -79,6 +80,7 @@ permissions: - 'view paragraph content newsletter' - 'view paragraph content photo' - 'view paragraph content quote' + - 'view paragraph content roll_call_vote' - 'view paragraph content seamless_doc' - 'view paragraph content sidebar_item' - 'view paragraph content sidebar_item_w_icon' diff --git a/config/default/user.role.city_clerk_editor.yml b/config/default/user.role.city_clerk_editor.yml new file mode 100644 index 0000000000..ec698ce997 --- /dev/null +++ b/config/default/user.role.city_clerk_editor.yml @@ -0,0 +1,78 @@ +uuid: 46bbcb28-ca9f-459c-b861-ae1cd7d25711 +langcode: en +status: true +dependencies: + config: + - node.type.public_notice + - node.type.roll_call_dockets + - taxonomy.vocabulary.city_council_districts + - taxonomy.vocabulary.vocab_city_councillors + - workflows.workflow.city_of_boston_workflows + - workflows.workflow.managed_workflow + module: + - content_moderation + - lightning_core + - lightning_scheduler + - moderation_sidebar + - node + - paragraphs_type_permissions + - taxonomy + - toolbar + - workbench +third_party_settings: + lightning_core: + description: 'Role for managing Roll Calls (and Public Notices).' +id: city_clerk_editor +label: 'City Clerk Editor' +weight: 0 +is_admin: null +permissions: + - 'access toolbar' + - 'access workbench' + - 'create paragraph content roll_call_vote' + - 'create paragraph content text_one_column' + - 'create public_notice content' + - 'create roll_call_dockets content' + - 'create terms in city_council_districts' + - 'create terms in vocab_city_councillors' + - 'delete own public_notice content' + - 'delete own roll_call_dockets content' + - 'delete paragraph content roll_call_vote' + - 'delete paragraph content text_one_column' + - 'delete public_notice revisions' + - 'delete roll_call_dockets revisions' + - 'edit any public_notice content' + - 'edit any roll_call_dockets content' + - 'edit terms in city_council_districts' + - 'edit terms in vocab_city_councillors' + - 'revert public_notice revisions' + - 'revert roll_call_dockets revisions' + - 'schedule city_of_boston_workflows transition archived' + - 'schedule city_of_boston_workflows transition draft_from_archived' + - 'schedule city_of_boston_workflows transition draft_from_published' + - 'schedule city_of_boston_workflows transition publish' + - 'schedule city_of_boston_workflows transition publish_new_content' + - 'schedule city_of_boston_workflows transition reject' + - 'schedule city_of_boston_workflows transition submit_for_review' + - 'schedule city_of_boston_workflows transition update_draft' + - 'schedule city_of_boston_workflows transition update_published' + - 'schedule managed_workflow transition create_new_draft' + - 'schedule managed_workflow transition publish' + - 'update paragraph content roll_call_vote' + - 'update paragraph content text_one_column' + - 'use city_of_boston_workflows transition archived' + - 'use city_of_boston_workflows transition draft_from_archived' + - 'use city_of_boston_workflows transition draft_from_published' + - 'use city_of_boston_workflows transition publish' + - 'use city_of_boston_workflows transition publish_new_content' + - 'use city_of_boston_workflows transition reject' + - 'use city_of_boston_workflows transition submit_for_review' + - 'use city_of_boston_workflows transition update_draft' + - 'use city_of_boston_workflows transition update_published' + - 'use managed_workflow transition create_new_draft' + - 'use managed_workflow transition publish' + - 'use moderation sidebar' + - 'view paragraph content roll_call_vote' + - 'view paragraph content text_one_column' + - 'view public_notice revisions' + - 'view roll_call_dockets revisions' diff --git a/config/default/user.role.content_editor.yml b/config/default/user.role.content_editor.yml index 72f00c1c23..2d44a1934a 100644 --- a/config/default/user.role.content_editor.yml +++ b/config/default/user.role.content_editor.yml @@ -29,6 +29,7 @@ dependencies: - taxonomy.vocabulary.311_request - taxonomy.vocabulary.bid_offering - taxonomy.vocabulary.bid_type + - taxonomy.vocabulary.city_council_districts - taxonomy.vocabulary.cityscore_metrics - taxonomy.vocabulary.commissions - taxonomy.vocabulary.contact @@ -46,8 +47,11 @@ dependencies: - taxonomy.vocabulary.procurement_type - taxonomy.vocabulary.profile_type - taxonomy.vocabulary.program_type + - taxonomy.vocabulary.project_banner_bh_ - taxonomy.vocabulary.tags - taxonomy.vocabulary.topic_category + - taxonomy.vocabulary.vocab_city_councillors + - taxonomy.vocabulary.vocab_votes - workflows.workflow.city_of_boston_workflows - workflows.workflow.unmanaged_workflow module: @@ -125,8 +129,10 @@ permissions: - 'create terms in procurement_type' - 'create terms in profile_type' - 'create terms in program_type' + - 'create terms in project_banner_bh_' - 'create terms in tags' - 'create terms in topic_category' + - 'create terms in vocab_city_councillors' - 'create url aliases' - 'date_recur_modular use sierra form' - 'delete any audio files' @@ -164,6 +170,7 @@ permissions: - 'edit terms in 311_request' - 'edit terms in bid_offering' - 'edit terms in bid_type' + - 'edit terms in city_council_districts' - 'edit terms in cityscore_metrics' - 'edit terms in commissions' - 'edit terms in contact' @@ -181,8 +188,11 @@ permissions: - 'edit terms in procurement_type' - 'edit terms in profile_type' - 'edit terms in program_type' + - 'edit terms in project_banner_bh_' - 'edit terms in tags' - 'edit terms in topic_category' + - 'edit terms in vocab_city_councillors' + - 'edit terms in vocab_votes' - 'rabbit hole bypass node' - 'revert all revisions' - 'revert article revisions' diff --git a/config/default/user.role.developer.yml b/config/default/user.role.developer.yml index c4ed44d06a..cb9c90a0bf 100644 --- a/config/default/user.role.developer.yml +++ b/config/default/user.role.developer.yml @@ -7,6 +7,7 @@ dependencies: - media.type.icon - media.type.image - node.type.change + - taxonomy.vocabulary.project_banner_bh_ module: - ape - block @@ -134,6 +135,7 @@ permissions: - 'create icon media' - 'create image media' - 'create media' + - 'create terms in project_banner_bh_' - 'delete any document media' - 'delete any icon media' - 'delete any image media' @@ -144,6 +146,7 @@ permissions: - 'edit any icon media' - 'edit any image media' - 'edit behavior plugin settings' + - 'edit terms in project_banner_bh_' - 'export configuration' - 'grant content access' - 'import configuration' diff --git a/config/default/user.role.metrolist_editor.yml b/config/default/user.role.metrolist_editor.yml index 9b5974cb4e..9d22df2b1d 100644 --- a/config/default/user.role.metrolist_editor.yml +++ b/config/default/user.role.metrolist_editor.yml @@ -33,6 +33,7 @@ dependencies: - taxonomy.vocabulary.ml_neighborhood - taxonomy.vocabulary.ml_occupancy_type - taxonomy.vocabulary.ml_rent_type + - taxonomy.vocabulary.project_banner_bh_ - taxonomy.vocabulary.region - taxonomy.vocabulary.unit_type - taxonomy.vocabulary.utilities_included @@ -81,6 +82,7 @@ permissions: - 'create terms in ml_neighborhood' - 'create terms in ml_occupancy_type' - 'create terms in ml_rent_type' + - 'create terms in project_banner_bh_' - 'create terms in region' - 'create terms in unit_type' - 'create terms in utilities_included' @@ -90,7 +92,6 @@ permissions: - 'delete any bh_parcel content' - 'delete any bh_parcel_project_assoc content' - 'delete any bh_project content' - - 'delete any bh_update content' - 'delete any metrolist_affordable_housing content' - 'delete any metrolist_development content' - 'delete any metrolist_unit content' @@ -100,7 +101,6 @@ permissions: - 'delete bh_meeting revisions' - 'delete bh_parcel revisions' - 'delete bh_parcel_project_assoc revisions' - - 'delete bh_update revisions' - 'delete metrolist_affordable_housing revisions' - 'delete metrolist_development revisions' - 'delete metrolist_unit revisions' @@ -109,7 +109,6 @@ permissions: - 'delete own bh_meeting content' - 'delete own bh_parcel content' - 'delete own bh_parcel_project_assoc content' - - 'delete own bh_update content' - 'delete own metrolist_affordable_housing content' - 'delete own metrolist_development content' - 'delete own metrolist_unit content' @@ -153,6 +152,7 @@ permissions: - 'edit terms in ml_neighborhood' - 'edit terms in ml_occupancy_type' - 'edit terms in ml_rent_type' + - 'edit terms in project_banner_bh_' - 'edit terms in region' - 'edit terms in unit_type' - 'edit terms in utilities_included' diff --git a/config/default/user.role.site_administrator.yml b/config/default/user.role.site_administrator.yml index 846726d769..757a50cfcc 100644 --- a/config/default/user.role.site_administrator.yml +++ b/config/default/user.role.site_administrator.yml @@ -23,6 +23,7 @@ dependencies: - node.type.procurement_advertisement - node.type.program_initiative_profile - node.type.public_notice + - node.type.roll_call_dockets - node.type.script_page - node.type.site_alert - node.type.status_item @@ -32,6 +33,7 @@ dependencies: - taxonomy.vocabulary.311_request - taxonomy.vocabulary.bid_offering - taxonomy.vocabulary.bid_type + - taxonomy.vocabulary.city_council_districts - taxonomy.vocabulary.cityscore_metrics - taxonomy.vocabulary.commissions - taxonomy.vocabulary.contact @@ -53,8 +55,11 @@ dependencies: - taxonomy.vocabulary.procurement_type - taxonomy.vocabulary.profile_type - taxonomy.vocabulary.program_type + - taxonomy.vocabulary.project_banner_bh_ - taxonomy.vocabulary.tags - taxonomy.vocabulary.topic_category + - taxonomy.vocabulary.vocab_city_councillors + - taxonomy.vocabulary.vocab_votes module: - ban - bos_core @@ -171,10 +176,14 @@ permissions: - 'create icon media' - 'create image media' - 'create media' + - 'create terms in city_council_districts' - 'create terms in election_areas' - 'create terms in election_candidates' - 'create terms in election_contests' - 'create terms in elections' + - 'create terms in project_banner_bh_' + - 'create terms in vocab_city_councillors' + - 'create terms in vocab_votes' - 'customize shortcut links' - 'delete all revisions' - 'delete any article content' @@ -197,6 +206,7 @@ permissions: - 'delete any procurement_advertisement content' - 'delete any program_initiative_profile content' - 'delete any public_notice content' + - 'delete any roll_call_dockets content' - 'delete any script_page content' - 'delete any site_alert content' - 'delete any status_item content' @@ -214,6 +224,7 @@ permissions: - 'delete listing_page revisions' - 'delete metrolist_affordable_housing revisions' - 'delete own election_report content' + - 'delete own roll_call_dockets content' - 'delete person_profile revisions' - 'delete place_profile revisions' - 'delete post revisions' @@ -257,11 +268,17 @@ permissions: - 'edit any election_report content' - 'edit any icon media' - 'edit any image media' + - 'edit any roll_call_dockets content' - 'edit own election_report content' + - 'edit own roll_call_dockets content' + - 'edit terms in city_council_districts' - 'edit terms in election_areas' - 'edit terms in election_candidates' - 'edit terms in election_contests' - 'edit terms in elections' + - 'edit terms in project_banner_bh_' + - 'edit terms in vocab_city_councillors' + - 'edit terms in vocab_votes' - 'rabbit hole bypass node' - 'rabbit hole bypass taxonomy_term' - 'revert change revisions' diff --git a/config/default/views.view.roll_call_dockets.yml b/config/default/views.view.roll_call_dockets.yml new file mode 100644 index 0000000000..8b5b24a3b9 --- /dev/null +++ b/config/default/views.view.roll_call_dockets.yml @@ -0,0 +1,1449 @@ +uuid: 3e421274-7aa5-4106-95b5-ee7ceef0ecbc +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.roll_call_search + - field.storage.node.body + - field.storage.node.field_meeting_date + - field.storage.paragraph.field_councillor + - field.storage.paragraph.field_vote + - node.type.roll_call_dockets + module: + - better_exposed_filters + - datetime + - dynamic_entity_reference + - node + - node_rollcall + - paragraphs + - rest + - serialization + - taxonomy + - text + - user +id: roll_call_dockets +label: 'Roll Call Dockets' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: 'Download rollcalls with filters' + fields: + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_unformatted + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_meeting_date: + id: field_meeting_date + table: node__field_meeting_date + field: field_meeting_date + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: unk + hide_empty: false + empty_zero: false + hide_alter_empty: false + click_sort_column: value + type: datetime_plain + settings: + timezone_override: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + body: + id: body + table: node__body + field: body + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: true + text: "{{ body__value | replace({'\\r\\n':' ', '\\t':' ', '\\n': ' '}) | replace({' ':' '}) | replace({' ':' '}) }}\r\n" + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: true + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: true + trim: false + preserve_tags: '
' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: false + click_sort_column: value + type: text_default + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_councillor: + id: field_councillor + table: paragraph__field_councillor + field: field_councillor + relationship: field_components + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: dynamic_entity_reference_label + settings: + link: false + group_column: entity_id + group_columns: + entity_id: entity_id + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_vote: + id: field_vote + table: paragraph__field_vote + field: field_vote + relationship: field_components + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: dynamic_entity_reference_label + settings: + link: false + group_column: '' + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: mini + options: + offset: 0 + items_per_page: 10 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: none + options: { } + empty: { } + sorts: + field_meeting_date_value: + id: field_meeting_date_value + table: node__field_meeting_date + field: field_meeting_date_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + order: ASC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: day + nid: + id: nid + table: node_field_revision + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: standard + order: ASC + expose: + label: '' + field_identifier: '' + exposed: false + arguments: { } + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + roll_call_dockets: roll_call_dockets + group: 1 + field_meeting_date_value: + id: field_meeting_date_value + table: node__field_meeting_date + field: field_meeting_date_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: '>' + value: + min: '' + max: '' + value: '' + type: date + group: 2 + exposed: true + expose: + operator_id: field_meeting_date_value_op + label: 'Meeting Date (field_meeting_date)' + description: '' + use_operator: false + operator: field_meeting_date_value_op + operator_limit_selection: false + operator_list: { } + identifier: date + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: numeric + operator: '>' + value: + min: '' + max: '' + value: '' + group: 2 + exposed: true + expose: + operator_id: nid_op + label: ID + description: '' + use_operator: false + operator: nid_op + operator_limit_selection: false + operator_list: { } + identifier: nid + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + 2: OR + style: + type: serializer + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: + field_components: + id: field_components + table: node__field_components + field: field_components + relationship: none + group_type: group + admin_label: 'field_components: Paragraph' + plugin_id: standard + required: false + taxonomy_term__field_councillor: + id: taxonomy_term__field_councillor + table: paragraph__field_councillor + field: taxonomy_term__field_councillor + relationship: field_components + group_type: group + admin_label: 'field_councillor: Taxonomy term' + plugin_id: standard + required: true + taxonomy_term__field_vote: + id: taxonomy_term__field_vote + table: paragraph__field_vote + field: taxonomy_term__field_vote + relationship: field_components + group_type: group + admin_label: 'field_vote: Taxonomy term' + plugin_id: standard + required: true + group_by: false + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - request_format + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.body' + - 'config:field.storage.node.field_meeting_date' + - 'config:field.storage.paragraph.field_councillor' + - 'config:field.storage.paragraph.field_vote' + rest_export_1: + id: rest_export_1 + display_title: 'Rollcall Export API' + display_plugin: rest_export + position: 1 + display_options: + pager: + type: some + options: + offset: 0 + items_per_page: 0 + filters: + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + roll_call_dockets: roll_call_dockets + group: 1 + field_meeting_date_value: + id: field_meeting_date_value + table: node__field_meeting_date + field: field_meeting_date_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: '>' + value: + min: '' + max: '' + value: '' + type: date + group: 2 + exposed: true + expose: + operator_id: field_meeting_date_value_op + label: 'Meeting Date (field_meeting_date)' + description: '' + use_operator: false + operator: field_meeting_date_value_op + operator_limit_selection: false + operator_list: { } + identifier: date + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: numeric + operator: '>' + value: + min: '' + max: '' + value: '' + group: 2 + exposed: true + expose: + operator_id: nid_op + label: ID + description: '' + use_operator: false + operator: nid_op + operator_limit_selection: false + operator_list: { } + identifier: nid + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + 2: OR + style: + type: node_rollcall + options: + formats: + json: json + row: + type: data_field + options: + field_options: + nid: + alias: id + raw_output: false + title: + alias: docket + raw_output: false + field_meeting_date: + alias: date + raw_output: false + body: + alias: subject + raw_output: false + field_councillor: + alias: councillor + raw_output: false + field_vote: + alias: vote + raw_output: false + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: true + distinct: false + replica: false + query_tags: { } + defaults: + query: false + filters: false + filter_groups: false + display_description: '' + display_extenders: { } + path: rollcall/api/v1 + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - request_format + - url + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.body' + - 'config:field.storage.node.field_meeting_date' + - 'config:field.storage.paragraph.field_councillor' + - 'config:field.storage.paragraph.field_vote' + rollcall_search_block: + id: rollcall_search_block + display_title: 'Rollcall Search Block' + display_plugin: block + position: 2 + display_options: + title: '' + fields: + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_unformatted + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_meeting_date: + id: field_meeting_date + table: node__field_meeting_date + field: field_meeting_date + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: unk + hide_empty: false + empty_zero: false + hide_alter_empty: false + click_sort_column: value + type: datetime_plain + settings: + timezone_override: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + body: + id: body + table: node__body + field: body + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: true + text: "{{ body__value | replace({'\\r\\n':' ', '\\t':' ', '\\n': ' '}) | replace({' ':' '}) | replace({' ':' '}) }}\r\n" + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: true + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: true + trim: false + preserve_tags: '
' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: false + click_sort_column: value + type: text_default + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: full + options: + offset: 0 + items_per_page: 10 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + exposed_form: + type: bef + options: + submit_button: Search + reset_button: true + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: false + sort_asc_label: Asc + sort_desc_label: Desc + text_input_required: 'Select any filter and click on Apply to see results' + text_input_required_format: filtered_html + bef: + general: + autosubmit: false + autosubmit_exclude_textfield: false + autosubmit_textfield_delay: 500 + autosubmit_hide: false + input_required: false + allow_secondary: false + secondary_label: 'Advanced options' + secondary_open: false + reset_button_always_show: false + filter: + body_value: + plugin_id: default + advanced: + placeholder_text: '' + collapsible: false + is_secondary: false + field_meeting_date_value: + plugin_id: bef_datepicker + advanced: + collapsible: false + is_secondary: false + empty: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + plugin_id: text + empty: true + content: + value: 'Sorry, no matching dockets found.' + format: full_html + tokenize: false + sorts: + field_meeting_date_value: + id: field_meeting_date_value + table: node__field_meeting_date + field: field_meeting_date_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: day + nid: + id: nid + table: node_field_revision + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: standard + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + filters: + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + roll_call_dockets: roll_call_dockets + group: 1 + field_meeting_date_value: + id: field_meeting_date_value + table: node__field_meeting_date + field: field_meeting_date_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: 'not empty' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: false + expose: + operator_id: field_meeting_date_value_op + label: 'Meeting Date' + description: '' + use_operator: false + operator: field_meeting_date_value_op + operator_limit_selection: false + operator_list: { } + identifier: date + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + body_value: + id: body_value + table: node__body + field: body_value + relationship: none + group_type: group + admin_label: '' + plugin_id: string + operator: allwords + value: '' + group: 2 + exposed: true + expose: + operator_id: body_value_op + label: '' + description: '' + use_operator: false + operator: body_value_op + operator_limit_selection: false + operator_list: { } + identifier: search + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + 2: OR + style: + type: default + options: + row_class: '' + default_row_class: false + uses_fields: false + row: + type: 'entity:node' + options: + relationship: none + view_mode: roll_call_search + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: true + distinct: true + replica: false + query_tags: { } + defaults: + empty: false + query: false + title: false + use_ajax: false + show_admin_links: false + pager: false + exposed_form: false + group_by: false + style: false + row: false + relationships: false + fields: false + sorts: false + filters: false + filter_groups: false + header: false + relationships: + field_components: + id: field_components + table: node__field_components + field: field_components + relationship: none + group_type: group + admin_label: 'field_components: Paragraph' + plugin_id: standard + required: true + taxonomy_term__field_councillor: + id: taxonomy_term__field_councillor + table: paragraph__field_councillor + field: taxonomy_term__field_councillor + relationship: field_components + group_type: group + admin_label: 'field_councillor: Taxonomy term' + plugin_id: standard + required: true + taxonomy_term__field_vote: + id: taxonomy_term__field_vote + table: paragraph__field_vote + field: taxonomy_term__field_vote + relationship: field_components + group_type: group + admin_label: 'field_vote: Taxonomy term' + plugin_id: standard + required: true + use_ajax: true + group_by: true + display_description: 'This block is incorporated in a RollCall_Search paragraph' + show_admin_links: false + header: { } + display_extenders: { } + block_description: 'Rollcall Search' + block_category: Paragraph + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.body' + - 'config:field.storage.node.field_meeting_date' diff --git a/config/default/views.view.roll_call_taxonomy.yml b/config/default/views.view.roll_call_taxonomy.yml new file mode 100644 index 0000000000..40618ea290 --- /dev/null +++ b/config/default/views.view.roll_call_taxonomy.yml @@ -0,0 +1,1326 @@ +uuid: ec2936d9-f992-4074-b532-48b4be4392c4 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_active + - field.storage.taxonomy_term.field_district + - field.storage.taxonomy_term.field_email + - field.storage.taxonomy_term.field_first_name + - taxonomy.vocabulary.city_council_districts + - taxonomy.vocabulary.vocab_city_councillors + content: + - 'taxonomy_term:city_council_districts:e2d2d4cf-313f-4efb-8caf-5e2fc4fb8423' + module: + - entity_reference_revisions + - taxonomy + - user +id: roll_call_taxonomy +label: 'Roll Call Taxonomy' +module: views +description: 'Views for the Roll Call modules' +tag: '' +base_table: taxonomy_term_field_data +base_field: tid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + fields: + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: name + plugin_id: term_name + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + convert_spaces: false + pager: + type: mini + options: + offset: 0 + items_per_page: 10 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: name + plugin_id: standard + order: ASC + expose: + label: Name + field_identifier: name + exposed: true + arguments: { } + filters: + status: + id: status + table: taxonomy_term_field_data + field: status + entity_type: taxonomy_term + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + vid: + id: vid + table: taxonomy_term_field_data + field: vid + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle + operator: in + value: + city_council_districts: city_council_districts + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + argument: null + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_district_target_id: + id: field_district_target_id + table: taxonomy_term__field_district + field: field_district_target_id + relationship: reverse__taxonomy_term__field_district + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: empty + value: { } + group: 2 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: true + vid: city_council_districts + type: textfield + hierarchy: false + limit: true + error_message: true + field_district_target_id_1: + id: field_district_target_id_1 + table: taxonomy_term__field_district + field: field_district_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: + 41935: 41935 + group: 2 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: city_council_districts + type: select + hierarchy: false + limit: true + error_message: true + filter_groups: + operator: AND + groups: + 1: AND + 2: OR + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: true + replica: false + query_tags: { } + relationships: + reverse__taxonomy_term__field_district: + id: reverse__taxonomy_term__field_district + table: taxonomy_term_field_data + field: reverse__taxonomy_term__field_district + relationship: none + group_type: group + admin_label: field_district + entity_type: taxonomy_term + plugin_id: entity_reverse + required: false + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'url.query_args:sort_by' + - 'url.query_args:sort_order' + - user + - user.permissions + tags: { } + page_1: + id: page_1 + display_title: 'City Councillors' + display_plugin: page + position: 2 + display_options: + title: 'City Councillors' + fields: + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: name + plugin_id: term_name + label: Name + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + convert_spaces: false + field_first_name: + id: field_first_name + table: taxonomy_term__field_first_name + field: field_first_name + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'First Name' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_district: + id: field_district + table: taxonomy_term__field_district + field: field_district + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: District + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_email: + id: field_email + table: taxonomy_term__field_email + field: field_email + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Email + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_active: + id: field_active + table: taxonomy_term__field_active + field: field_active + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Active + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: default + format_custom_false: '' + format_custom_true: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + status: + id: status + table: taxonomy_term_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: status + plugin_id: field + label: Published + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: default + format_custom_false: '' + format_custom_true: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: taxonomy_term_data + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + plugin_id: entity_operations + label: 'Operations links' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + access: + type: none + options: { } + cache: + type: none + options: { } + filters: + vid: + id: vid + table: taxonomy_term_field_data + field: vid + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle + operator: in + value: + vocab_city_councillors: vocab_city_councillors + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + argument: null + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: name + plugin_id: string + operator: '=' + value: '' + group: 1 + exposed: true + expose: + operator_id: name_op + label: Name + description: '' + use_operator: false + operator: name_op + operator_limit_selection: false + operator_list: { } + identifier: name + required: false + remember: true + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_district_target_id_2: + id: field_district_target_id_2 + table: taxonomy_term__field_district + field: field_district_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_district_target_id_2_op + label: District + description: '' + use_operator: false + operator: field_district_target_id_2_op + operator_limit_selection: false + operator_list: { } + identifier: field_district_target_id_2 + required: false + remember: true + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: city_council_districts + type: textfield + hierarchy: false + limit: true + error_message: true + field_active_value: + id: field_active_value + table: taxonomy_term__field_active + field: field_active_value + relationship: none + group_type: group + admin_label: '' + plugin_id: boolean + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Active + description: '' + use_operator: false + operator: field_active_value_op + operator_limit_selection: false + operator_list: { } + identifier: field_active_value + required: false + remember: true + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + site_administrator: '0' + developer: '0' + content_editor: '0' + content_reviewer: '0' + content_author: '0' + metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + name: name + field_first_name: field_first_name + field_district: field_district + field_email: field_email + field_active: field_active + status: status + operations: operations + default: '-1' + info: + name: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_first_name: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_district: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_email: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_active: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + status: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + operations: + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: false + summary: '' + empty_table: false + caption: '' + description: '' + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + defaults: + access: false + cache: false + title: false + use_ajax: false + show_admin_links: false + style: false + row: false + fields: false + filters: false + filter_groups: false + use_ajax: true + display_description: '' + show_admin_links: false + display_extenders: { } + path: admin/structure/taxonomy/vocab_city_councillors/overview/list + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'url.query_args:sort_by' + - 'url.query_args:sort_order' + - user + tags: + - 'config:field.storage.taxonomy_term.field_active' + - 'config:field.storage.taxonomy_term.field_district' + - 'config:field.storage.taxonomy_term.field_email' + - 'config:field.storage.taxonomy_term.field_first_name' + unused_districts_filter: + id: unused_districts_filter + display_title: 'Unused Districts Filter' + display_plugin: entity_reference + position: 1 + display_options: + pager: + type: none + options: + offset: 0 + filters: + vid: + id: vid + table: taxonomy_term_field_data + field: vid + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle + operator: in + value: + city_council_districts: city_council_districts + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + argument: null + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_district_target_id: + id: field_district_target_id + table: taxonomy_term__field_district + field: field_district_target_id + relationship: reverse__taxonomy_term__field_district + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: empty + value: { } + group: 2 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: true + vid: city_council_districts + type: textfield + hierarchy: false + limit: true + error_message: true + field_district_target_id_1: + id: field_district_target_id_1 + table: taxonomy_term__field_district + field: field_district_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: + 41935: 41935 + group: 2 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: city_council_districts + type: select + hierarchy: false + limit: true + error_message: true + field_active_value: + id: field_active_value + table: taxonomy_term__field_active + field: field_active_value + relationship: reverse__taxonomy_term__field_district + group_type: group + admin_label: '' + plugin_id: boolean + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + 2: OR + style: + type: entity_reference + options: + search_fields: + name: name + row: + type: entity_reference_revisions + options: + default_field_elements: false + inline: + name: name + separator: '-' + hide_empty: true + defaults: + filters: false + filter_groups: false + display_description: '' + display_comment: "Note: \r\n1. This query is modified in node_rollcall_views_query_alter() and \r\n2. the results are filtered in node_rollcall_views_post_execute()" + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - 'url.query_args:sort_by' + - 'url.query_args:sort_order' + - user + - user.permissions + tags: { } diff --git a/config/default/workflows.workflow.managed_workflow.yml b/config/default/workflows.workflow.managed_workflow.yml index ed8dcd82d9..699a2b7508 100644 --- a/config/default/workflows.workflow.managed_workflow.yml +++ b/config/default/workflows.workflow.managed_workflow.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - node.type.bh_project + - node.type.roll_call_dockets module: - content_moderation id: managed_workflow @@ -57,4 +58,5 @@ type_settings: entity_types: node: - bh_project + - roll_call_dockets default_moderation_state: draft diff --git a/config/local/key.key.iam_dir_sso_test_.yml b/config/local/key.key.iam_dir_sso_test_.yml deleted file mode 100644 index 686737e867..0000000000 --- a/config/local/key.key.iam_dir_sso_test_.yml +++ /dev/null @@ -1,16 +0,0 @@ -uuid: aff067bc-992a-4e71-bdcb-cccee0a697bc -langcode: en -status: true -dependencies: - module: - - key_asymmetric -id: iam_dir_sso_test_ -label: 'IAM-DIR SSO (test)' -description: 'TEST Environment X509 cert from IAM supplied IDP metadata' -key_type: asymmetric_public -key_type_settings: { } -key_provider: config -key_provider_settings: - key_value: '' -key_input: textarea_field -key_input_settings: { } diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/src/Controller/Pdf.php b/docroot/modules/custom/bos_components/modules/bos_assessing/src/Controller/Pdf.php index e1b53c4599..e372ef18c0 100644 --- a/docroot/modules/custom/bos_components/modules/bos_assessing/src/Controller/Pdf.php +++ b/docroot/modules/custom/bos_components/modules/bos_assessing/src/Controller/Pdf.php @@ -56,13 +56,14 @@ public function __call($name, $arguments) { * @throws \Exception */ public function generate(string $type, string $year, string $parcel_id): Response { - $path = \Drupal::service('file_system')->realpath("") . "/"; - $path .= \Drupal::service('extension.list.module')->getPath('bos_assessing'); +// $path = \Drupal::service('file_system')->realpath("") . "/"; +// $path .= \Drupal::service('extension.list.module')->getPath('bos_assessing'); $this->id = $parcel_id; $this->year = strtoupper($year); $type = strtolower($type); $pdf_manager = new PdfManager("Helvetica", "12", [0,0,0]); + $path = $pdf_manager->getTemplatePath(); $dbdata = $this->fetchDBData($type); diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/src/Controller/Pdf2.php b/docroot/modules/custom/bos_components/modules/bos_assessing/src/Controller/Pdf2.php index 4078a9e126..53f5b32c4b 100644 --- a/docroot/modules/custom/bos_components/modules/bos_assessing/src/Controller/Pdf2.php +++ b/docroot/modules/custom/bos_components/modules/bos_assessing/src/Controller/Pdf2.php @@ -15,13 +15,18 @@ public function generate(string $type, string $year, string $parcel_id): Respons global $base_url; - $path = \Drupal::service('file_system')->realpath("") . "/"; - $path .= \Drupal::service('extension.list.module')->getPath('bos_assessing'); + if (str_contains($base_url, "lndo.site")) { + $base_url = "https://boston_appserver_1"; + } + +// $path = \Drupal::service('file_system')->realpath("") . "/"; +// $path .= \Drupal::service('extension.list.module')->getPath('bos_assessing'); $this->id = $parcel_id; $this->year = strtoupper($year); $type = strtolower($type); $pdf_manager = new PdfManager(); + $path = $pdf_manager->getTemplatePath(); $dbdata = $this->fetchDBData($type); diff --git a/docroot/modules/custom/bos_components/modules/bos_branded_links/bos_branded_links.module b/docroot/modules/custom/bos_components/modules/bos_branded_links/bos_branded_links.module index 956f6f96e0..0c684ef7d7 100644 --- a/docroot/modules/custom/bos_components/modules/bos_branded_links/bos_branded_links.module +++ b/docroot/modules/custom/bos_components/modules/bos_branded_links/bos_branded_links.module @@ -31,8 +31,9 @@ function bos_branded_links_theme() { */ function bos_branded_links_preprocess_paragraph__branded_links__full(&$variables) { _bos_branded_links_add_classes($variables); - if ($variables["paragraph"]->bundle() == "branded_links__full" && isset($variables['content']['field_hide_title_bar']['#items'])) { - $variables['hideTitle'] = $variables['content']['field_hide_title_bar']['#items']->value; + $variables['hideTitle'] = FALSE; + if (isset($variables['paragraph']->field_hide_title_bar)) { + $variables['hideTitle'] = ($variables['paragraph']->field_hide_title_bar->value == 1); } } @@ -42,8 +43,9 @@ function bos_branded_links_preprocess_paragraph__branded_links__full(&$variables */ function bos_branded_links_preprocess_paragraph__branded_links__default(&$variables) { _bos_branded_links_add_classes($variables); - if ($variables["paragraph"]->bundle() == "branded_links__default" && isset($variables['content']['field_hide_title_bar']['#items'])) { - $variables['hideTitle'] = $variables['content']['field_hide_title_bar']['#items']->value; + $variables['hideTitle'] = FALSE; + if (isset($variables['paragraph']->field_hide_title_bar)) { + $variables['hideTitle'] = ($variables['paragraph']->field_hide_title_bar->value == 1); } } diff --git a/docroot/modules/custom/bos_components/modules/bos_pdfmanager/src/Controller/Fpdf.php b/docroot/modules/custom/bos_components/modules/bos_pdfmanager/src/Controller/Fpdf.php index 702299bea4..2d0f83363f 100644 --- a/docroot/modules/custom/bos_components/modules/bos_pdfmanager/src/Controller/Fpdf.php +++ b/docroot/modules/custom/bos_components/modules/bos_pdfmanager/src/Controller/Fpdf.php @@ -132,7 +132,7 @@ public function SetSourceFile($file) { /** * @inheritDoc */ - public function ImportPage($pageNumber, $box = PageBoundaries::CROP_BOX, $groupXObject = TRUE) { + public function ImportPage($pageNumber, $box = PageBoundaries::CROP_BOX, $groupXObject = TRUE, $importExternalLinks = FALSE) { try { $a = parent::ImportPage($pageNumber); } diff --git a/docroot/modules/custom/bos_components/modules/bos_pdfmanager/src/Controller/PdfManager.php b/docroot/modules/custom/bos_components/modules/bos_pdfmanager/src/Controller/PdfManager.php index 8af43e7987..820e9796d9 100644 --- a/docroot/modules/custom/bos_components/modules/bos_pdfmanager/src/Controller/PdfManager.php +++ b/docroot/modules/custom/bos_components/modules/bos_pdfmanager/src/Controller/PdfManager.php @@ -53,6 +53,8 @@ class PdfManager { protected string $default_size; protected array $default_color; + protected string $template_path; + /** * @var string (typically timestamp) a unique id for filename generation. */ @@ -354,6 +356,26 @@ public function generate_fillable() { return FALSE; } + /** + * Returns the template file location, creates folder if it does not exist. + * + * @return string + */ + public function getTemplatePath(): string { + if (empty($this->template_path)) { + + $this->template_path = \Drupal::service('file_system') + ->realpath("public://pdf_templates"); + + if (!file_exists($this->template_path)) { + mkdir($this->template_path); + } + + } + + return $this->template_path ?? ""; + } + /** * Create a PDF with just a barcode in the desired place on each page. * diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_form_display.node.bh_update.default.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_form_display.node.bh_update.default.yml index e25ba0068b..1a12d59bc5 100644 --- a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_form_display.node.bh_update.default.yml +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_form_display.node.bh_update.default.yml @@ -1,60 +1,376 @@ langcode: en status: true dependencies: - config: - - field.field.node.bh_update.body - - node.type.bh_update - module: - - path - - text + config: + - field.field.node.bh_update.body + - field.field.node.bh_update.field_bh_attachment + - field.field.node.bh_update.field_bh_banner_status + - field.field.node.bh_update.field_bh_boston_based_business + - field.field.node.bh_update.field_bh_developer_name + - field.field.node.bh_update.field_bh_developer_website + - field.field.node.bh_update.field_bh_follower_emails + - field.field.node.bh_update.field_bh_headline + - field.field.node.bh_update.field_bh_image + - field.field.node.bh_update.field_bh_minority_owned_business + - field.field.node.bh_update.field_bh_project_images + - field.field.node.bh_update.field_bh_project_ref + - field.field.node.bh_update.field_bh_project_web_link + - field.field.node.bh_update.field_bh_text_updates + - field.field.node.bh_update.field_bh_update_posted_date + - field.field.node.bh_update.field_bh_update_type_ref + - field.field.node.bh_update.field_bh_veteran_owned_business + - field.field.node.bh_update.field_bh_women_owned_business + - field.field.node.bh_update.field_sf_web_update + - image.style.thumbnail + - node.type.bh_update + module: + - content_moderation + - datetime + - field_group + - file + - path + - publication_date + - svg_image + - text +third_party_settings: + field_group: + group_bh_updates: + children: + - group_basic_information + - group_project + - group_developer + - group_update + - group_demographics + label: 'BH Updates' + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + show_empty_fields: true + id: '' + direction: vertical + width_breakpoint: 640 + group_basic_information: + children: + - field_sf_web_update + - field_bh_update_type_ref + - title + - field_bh_headline + - field_bh_update_posted_date + label: 'Basic Information' + region: content + parent_name: group_bh_updates + weight: 0 + format_type: tab + format_settings: + classes: '' + show_empty_fields: true + id: '' + formatter: closed + description: '' + required_fields: true + group_demographics: + children: + - field_bh_minority_owned_business + - field_bh_women_owned_business + - field_bh_veteran_owned_business + - field_bh_boston_based_business + label: Demographics + region: content + parent_name: group_bh_updates + weight: 4 + format_type: tab + format_settings: + classes: '' + show_empty_fields: true + id: '' + formatter: closed + description: '' + required_fields: true + group_project: + children: + - field_bh_project_ref + - field_bh_banner_status + - body + - field_bh_image + - field_bh_project_web_link + label: Project + region: content + parent_name: group_bh_updates + weight: 1 + format_type: tab + format_settings: + classes: '' + show_empty_fields: true + id: '' + formatter: closed + description: '' + required_fields: true + group_developer: + children: + - field_bh_developer_name + - field_bh_developer_website + label: Developer + region: content + parent_name: group_bh_updates + weight: 2 + format_type: tab + format_settings: + classes: '' + show_empty_fields: true + id: '' + formatter: closed + description: '' + required_fields: true + group_update: + children: + - field_bh_text_updates + - field_bh_follower_emails + - field_bh_attachment + - field_bh_project_images + label: Update + region: content + parent_name: group_bh_updates + weight: 3 + format_type: tab + format_settings: + classes: '' + show_empty_fields: true + id: '' + formatter: closed + description: '' + required_fields: true id: node.bh_update.default targetEntityType: node bundle: bh_update mode: default content: - body: - type: text_textarea_with_summary - weight: 31 - settings: - rows: 9 - summary_rows: 3 - placeholder: '' - third_party_settings: { } - created: - type: datetime_timestamp - weight: 10 - settings: { } - third_party_settings: { } - path: - type: path - weight: 30 - settings: { } - third_party_settings: { } - promote: - type: boolean_checkbox - settings: - display_label: true - weight: 15 - third_party_settings: { } - sticky: - type: boolean_checkbox - settings: - display_label: true - weight: 16 - third_party_settings: { } - title: - type: string_textfield - weight: -5 - settings: - size: 60 - placeholder: '' - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 5 - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } + body: + type: text_textarea_with_summary + weight: 5 + region: content + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + show_summary: false + third_party_settings: { } + created: + type: datetime_timestamp + weight: 3 + region: content + settings: { } + third_party_settings: { } + field_bh_attachment: + type: file_generic + weight: 11 + region: content + settings: + progress_indicator: throbber + third_party_settings: { } + field_bh_banner_status: + type: entity_reference_autocomplete + weight: 4 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + field_bh_boston_based_business: + type: boolean_checkbox + weight: 7 + region: content + settings: + display_label: true + third_party_settings: { } + field_bh_developer_name: + type: string_textfield + weight: 8 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_bh_developer_website: + type: string_textfield + weight: 10 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_bh_follower_emails: + type: string_textarea + weight: 10 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_bh_headline: + type: text_textfield + weight: 6 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_bh_image: + type: file_generic + weight: 6 + region: content + settings: + progress_indicator: throbber + third_party_settings: { } + field_bh_minority_owned_business: + type: boolean_checkbox + weight: 3 + region: content + settings: + display_label: true + third_party_settings: { } + field_bh_project_images: + type: image_image + weight: 13 + region: content + settings: + progress_indicator: throbber + preview_image_style: thumbnail + third_party_settings: { } + field_bh_project_ref: + type: entity_reference_autocomplete + weight: 2 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + field_bh_project_web_link: + type: string_textfield + weight: 7 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_bh_text_updates: + type: string_textarea + weight: 9 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_bh_update_posted_date: + type: datetime_default + weight: 8 + region: content + settings: { } + third_party_settings: { } + field_bh_update_type_ref: + type: entity_reference_autocomplete + weight: 4 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + field_bh_veteran_owned_business: + type: boolean_checkbox + weight: 5 + region: content + settings: + display_label: true + third_party_settings: { } + field_bh_women_owned_business: + type: boolean_checkbox + weight: 4 + region: content + settings: + display_label: true + third_party_settings: { } + field_sf_web_update: + type: boolean_checkbox + weight: 3 + region: content + settings: + display_label: true + third_party_settings: { } + langcode: + type: language_select + weight: 1 + region: content + settings: + include_locked: true + third_party_settings: { } + moderation_state: + type: moderation_state_default + weight: 9 + region: content + settings: { } + third_party_settings: { } + path: + type: path + weight: 7 + region: content + settings: { } + third_party_settings: { } + promote: + type: boolean_checkbox + weight: 5 + region: content + settings: + display_label: true + third_party_settings: { } + published_at: + type: publication_date_timestamp + weight: 4 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + weight: 10 + region: content + settings: + display_label: true + third_party_settings: { } + sticky: + type: boolean_checkbox + weight: 6 + region: content + settings: + display_label: true + third_party_settings: { } + title: + type: string_textfield + weight: 5 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 2 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + url_redirects: + weight: 8 + region: content + settings: { } + third_party_settings: { } hidden: { } diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_form_display.taxonomy_term.project_banner_bh_.default.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_form_display.taxonomy_term.project_banner_bh_.default.yml new file mode 100644 index 0000000000..8e8b18289c --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_form_display.taxonomy_term.project_banner_bh_.default.yml @@ -0,0 +1,109 @@ +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state + - field.field.taxonomy_term.project_banner_bh_.field_banner_text + - field.field.taxonomy_term.project_banner_bh_.field_banner_title + - field.field.taxonomy_term.project_banner_bh_.field_show_banner + - taxonomy.vocabulary.project_banner_bh_ + module: + - field_group + - text +third_party_settings: + field_group: + group_tabs: + children: + - group_status + - group_banner + label: tabs + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + show_empty_fields: false + id: '' + direction: vertical + width_breakpoint: 640 + group_status: + children: + - name + - field_banner_moderation_state + label: Status + region: content + parent_name: group_tabs + weight: 22 + format_type: tab + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: open + description: '' + required_fields: true + group_banner: + children: + - field_show_banner + - field_banner_title + - field_banner_text + label: Banner + region: content + parent_name: group_tabs + weight: 23 + format_type: tab + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: closed + description: '' + required_fields: true +id: taxonomy_term.project_banner_bh_.default +targetEntityType: taxonomy_term +bundle: project_banner_bh_ +mode: default +content: + field_banner_moderation_state: + type: options_select + weight: 2 + region: content + settings: { } + third_party_settings: { } + field_banner_text: + type: text_textfield + weight: 8 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_banner_title: + type: string_textfield + weight: 7 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_show_banner: + type: boolean_checkbox + weight: 6 + region: content + settings: + display_label: true + third_party_settings: { } + name: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + description: true + langcode: true + path: true + status: true diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.node.bh_update.default.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.node.bh_update.default.yml index bdeb44f9e0..6901694a12 100644 --- a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.node.bh_update.default.yml +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.node.bh_update.default.yml @@ -1,23 +1,478 @@ langcode: en status: true dependencies: - config: - - field.field.node.bh_update.body - - node.type.bh_update - module: - - text - - user + config: + - field.field.node.bh_update.body + - field.field.node.bh_update.field_bh_attachment + - field.field.node.bh_update.field_bh_banner_status + - field.field.node.bh_update.field_bh_boston_based_business + - field.field.node.bh_update.field_bh_developer_name + - field.field.node.bh_update.field_bh_developer_website + - field.field.node.bh_update.field_bh_follower_emails + - field.field.node.bh_update.field_bh_headline + - field.field.node.bh_update.field_bh_image + - field.field.node.bh_update.field_bh_minority_owned_business + - field.field.node.bh_update.field_bh_project_images + - field.field.node.bh_update.field_bh_project_ref + - field.field.node.bh_update.field_bh_project_web_link + - field.field.node.bh_update.field_bh_text_updates + - field.field.node.bh_update.field_bh_update_posted_date + - field.field.node.bh_update.field_bh_update_type_ref + - field.field.node.bh_update.field_bh_veteran_owned_business + - field.field.node.bh_update.field_bh_women_owned_business + - field.field.node.bh_update.field_sf_web_update + - image.style.150_embedded_ckeditor + - node.type.bh_update + module: + - datetime + - fences + - field_group + - file + - svg_image + - text + - user +third_party_settings: + field_group: + group_wrapper: + children: + - published_at + - field_sf_web_update + - field_bh_update_type_ref + - field_bh_headline + - field_bh_update_posted_date + - group_bh_update + label: Wrapper + parent_name: '' + region: content + weight: 0 + format_type: html_element + format_settings: + classes: m-b300 + show_empty_fields: true + id: '' + element: div + show_label: false + label_element: h3 + label_element_classes: '' + attributes: '' + effect: none + speed: fast + group_bh_update: + children: + - group_project + - group_developer + - group_update + - group_demographics + label: 'BH Update' + parent_name: group_wrapper + region: content + weight: 5 + format_type: accordion + format_settings: + classes: '' + show_empty_fields: true + id: '' + effect: bounceslide + group_update: + children: + - group_text_up + - group_documents + - group_f + - field_bh_project_images + label: Update + parent_name: group_bh_update + region: content + weight: 13 + format_type: accordion_item + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: closed + group_demographics: + children: + - field_bh_minority_owned_business + - field_bh_women_owned_business + - field_bh_veteran_owned_business + - field_bh_boston_based_business + label: Demographics + parent_name: group_bh_update + region: content + weight: 14 + format_type: accordion_item + format_settings: + classes: '' + show_empty_fields: true + id: '' + formatter: closed + group_developer: + children: + - field_bh_developer_name + - field_bh_developer_website + label: Developer + parent_name: group_bh_update + region: content + weight: 12 + format_type: accordion_item + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: closed + group_project: + children: + - field_bh_project_ref + - body + - field_bh_banner + - field_bh_image + - field_bh_project_web_link + label: Project + parent_name: group_bh_update + region: content + weight: 11 + format_type: accordion_item + format_settings: + classes: '' + show_empty_fields: true + id: '' + formatter: closed + description: '' + group_f: + children: + - field_bh_follower_emails + label: 'Follower emails' + parent_name: group_update + region: content + weight: 26 + format_type: fieldset + format_settings: + classes: m-v300 + show_empty_fields: false + id: '' + description: '' + group_documents: + children: + - field_bh_attachment + label: Documents + parent_name: group_update + region: content + weight: 25 + format_type: fieldset + format_settings: + classes: 'm-v300 ta--l' + show_empty_fields: false + id: '' + description: '' + group_text_up: + children: + - field_bh_text_updates + label: 'Text Updates' + parent_name: group_update + region: content + weight: 24 + format_type: fieldset + format_settings: + classes: '' + show_empty_fields: false + id: '' + description: '' id: node.bh_update.default targetEntityType: node bundle: bh_update mode: default content: - body: - label: hidden - type: text_default - weight: 101 - settings: { } - third_party_settings: { } - links: - weight: 100 -hidden: { } + body: + type: text_default + label: above + settings: { } + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 12 + region: content + field_bh_attachment: + type: file_table + label: hidden + settings: + use_description_as_link_text: false + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 11 + region: content + field_bh_boston_based_business: + type: boolean + label: above + settings: + format: yes-no + format_custom_false: '' + format_custom_true: '' + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: span + fences_label_classes: '' + weight: 25 + region: content + field_bh_developer_name: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 8 + region: content + field_bh_developer_website: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 9 + region: content + field_bh_follower_emails: + type: basic_string + label: hidden + settings: { } + third_party_settings: + fences: + fences_field_tag: ul + fences_field_classes: 'm-b300 ul m-v100' + fences_field_item_tag: li + fences_field_item_classes: t--b + fences_label_tag: none + fences_label_classes: '' + weight: 14 + region: content + field_bh_headline: + type: text_default + label: above + settings: { } + third_party_settings: { } + weight: 3 + region: content + field_bh_image: + type: file_default + label: above + settings: + use_description_as_link_text: true + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 14 + region: content + field_bh_minority_owned_business: + type: boolean + label: above + settings: + format: yes-no + format_custom_false: '' + format_custom_true: '' + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 21 + region: content + field_bh_project_images: + type: image + label: above + settings: + image_link: '' + image_style: 150_embedded_ckeditor + image_loading: + attribute: lazy + svg_attributes: + width: null + height: null + svg_render_as_image: true + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 27 + region: content + field_bh_project_ref: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 11 + region: content + field_bh_project_web_link: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 15 + region: content + field_bh_text_updates: + type: basic_string + label: hidden + settings: { } + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: code + fences_field_item_classes: 'lo-t m-b200' + fences_label_tag: none + fences_label_classes: '' + weight: 10 + region: content + field_bh_update_posted_date: + type: datetime_default + label: above + settings: + timezone_override: '' + format_type: medium + third_party_settings: { } + weight: 4 + region: content + field_bh_update_type_ref: + type: entity_reference_label + label: above + settings: + link: false + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: '' + fences_field_item_tag: div + fences_field_item_classes: '' + fences_label_tag: div + fences_label_classes: '' + weight: 2 + region: content + field_bh_veteran_owned_business: + type: boolean + label: above + settings: + format: yes-no + format_custom_false: '' + format_custom_true: '' + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: span + fences_label_classes: '' + weight: 24 + region: content + field_bh_women_owned_business: + type: boolean + label: above + settings: + format: yes-no + format_custom_false: '' + format_custom_true: '' + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-b300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: span + fences_label_classes: '' + weight: 22 + region: content + field_sf_web_update: + type: boolean + label: above + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + weight: 1 + region: content + published_at: + type: timestamp + label: above + settings: + date_format: medium + custom_date_format: '' + timezone: '' + tooltip: + date_format: long + custom_date_format: '' + time_diff: + enabled: false + future_format: '@interval hence' + past_format: '@interval ago' + granularity: 2 + refresh: 60 + third_party_settings: + fences: + fences_field_tag: div + fences_field_classes: m-t300 + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: span + fences_label_classes: '' + weight: 0 + region: content +hidden: + field_bh_banner_status: true + langcode: true + links: true + salesforce_id: true + salesforce_last_sync: true diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.node.bh_update.teaser.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.node.bh_update.teaser.yml index e7b7ba5c83..a45664f9d1 100644 --- a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.node.bh_update.teaser.yml +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.node.bh_update.teaser.yml @@ -1,25 +1,75 @@ langcode: en status: true dependencies: - config: - - core.entity_view_mode.node.teaser - - field.field.node.bh_update.body - - node.type.bh_update - module: - - text - - user + config: + - core.entity_view_mode.node.teaser + - field.field.node.bh_update.body + - field.field.node.bh_update.field_bh_attachment + - field.field.node.bh_update.field_bh_banner_status + - field.field.node.bh_update.field_bh_boston_based_business + - field.field.node.bh_update.field_bh_developer_name + - field.field.node.bh_update.field_bh_developer_website + - field.field.node.bh_update.field_bh_follower_emails + - field.field.node.bh_update.field_bh_headline + - field.field.node.bh_update.field_bh_image + - field.field.node.bh_update.field_bh_minority_owned_business + - field.field.node.bh_update.field_bh_project_images + - field.field.node.bh_update.field_bh_project_ref + - field.field.node.bh_update.field_bh_project_web_link + - field.field.node.bh_update.field_bh_text_updates + - field.field.node.bh_update.field_bh_update_posted_date + - field.field.node.bh_update.field_bh_update_type_ref + - field.field.node.bh_update.field_bh_veteran_owned_business + - field.field.node.bh_update.field_bh_women_owned_business + - field.field.node.bh_update.field_sf_web_update + - node.type.bh_update + module: + - text + - user id: node.bh_update.teaser targetEntityType: node bundle: bh_update mode: teaser content: - body: - label: hidden - type: text_summary_or_trimmed - weight: 101 - settings: - trim_length: 600 - third_party_settings: { } - links: - weight: 100 -hidden: { } + body: + type: text_summary_or_trimmed + label: hidden + settings: + trim_length: 600 + third_party_settings: { } + weight: 101 + region: content + links: + weight: 100 + region: content + salesforce_id: + settings: { } + third_party_settings: { } + weight: 0 + region: content + salesforce_last_sync: + settings: { } + third_party_settings: { } + weight: 0 + region: content +hidden: + field_bh_attachment: true + field_bh_banner_status: true + field_bh_boston_based_business: true + field_bh_developer_name: true + field_bh_developer_website: true + field_bh_follower_emails: true + field_bh_headline: true + field_bh_image: true + field_bh_minority_owned_business: true + field_bh_project_images: true + field_bh_project_ref: true + field_bh_project_web_link: true + field_bh_text_updates: true + field_bh_update_posted_date: true + field_bh_update_type_ref: true + field_bh_veteran_owned_business: true + field_bh_women_owned_business: true + field_sf_web_update: true + langcode: true + published_at: true diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.taxonomy_term.project_banner_bh_.default.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.taxonomy_term.project_banner_bh_.default.yml new file mode 100644 index 0000000000..d7df0567b3 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/core.entity_view_display.taxonomy_term.project_banner_bh_.default.yml @@ -0,0 +1,58 @@ +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state + - field.field.taxonomy_term.project_banner_bh_.field_banner_text + - field.field.taxonomy_term.project_banner_bh_.field_banner_title + - field.field.taxonomy_term.project_banner_bh_.field_show_banner + - taxonomy.vocabulary.project_banner_bh_ + module: + - options + - text +id: taxonomy_term.project_banner_bh_.default +targetEntityType: taxonomy_term +bundle: project_banner_bh_ +mode: default +content: + description: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 0 + region: content + field_banner_moderation_state: + type: list_default + label: above + settings: { } + third_party_settings: { } + weight: 3 + region: content + field_banner_text: + type: text_default + label: above + settings: { } + third_party_settings: { } + weight: 2 + region: content + field_banner_title: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 1 + region: content + field_show_banner: + type: boolean + label: above + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + weight: 4 + region: content +hidden: + langcode: true diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.node.bh_update.field_bh_banner_status.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.node.bh_update.field_bh_banner_status.yml new file mode 100644 index 0000000000..349e765a9a --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.node.bh_update.field_bh_banner_status.yml @@ -0,0 +1,32 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_bh_banner_status + - node.type.bh_update + - taxonomy.vocabulary.project_banner_bh_ + content: + - 'taxonomy_term:project_banner_bh_:058f00a5-9cd5-46ba-a75a-208d0fd9f97f' +id: node.bh_update.field_bh_banner_status +field_name: field_bh_banner_status +entity_type: node +bundle: bh_update +label: 'Banner Status' +description: '' +required: false +translatable: false +default_value: + - + target_uuid: 058f00a5-9cd5-46ba-a75a-208d0fd9f97f +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + project_banner_bh_: project_banner_bh_ + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state.yml new file mode 100644 index 0000000000..6dba4806db --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_banner_moderation_state + - taxonomy.vocabulary.project_banner_bh_ + module: + - options +id: taxonomy_term.project_banner_bh_.field_banner_moderation_state +field_name: field_banner_moderation_state +entity_type: taxonomy_term +bundle: project_banner_bh_ +label: 'Moderation State' +description: '' +required: false +translatable: false +default_value: + - + value: Published +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_text.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_text.yml new file mode 100644 index 0000000000..3f36e0aea9 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_text.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_banner_text + - filter.format.filtered_html + - taxonomy.vocabulary.project_banner_bh_ + module: + - text +id: taxonomy_term.project_banner_bh_.field_banner_text +field_name: field_banner_text +entity_type: taxonomy_term +bundle: project_banner_bh_ +label: 'Banner Text' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + allowed_formats: + - filtered_html +field_type: text diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_title.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_title.yml new file mode 100644 index 0000000000..8c91026f07 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_banner_title.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_banner_title + - taxonomy.vocabulary.project_banner_bh_ +id: taxonomy_term.project_banner_bh_.field_banner_title +field_name: field_banner_title +entity_type: taxonomy_term +bundle: project_banner_bh_ +label: 'Banner Title' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_show_banner.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_show_banner.yml new file mode 100644 index 0000000000..4d691c807d --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.field.taxonomy_term.project_banner_bh_.field_show_banner.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_show_banner + - taxonomy.vocabulary.project_banner_bh_ +id: taxonomy_term.project_banner_bh_.field_show_banner +field_name: field_show_banner +entity_type: taxonomy_term +bundle: project_banner_bh_ +label: 'Show Banner' +description: 'When selected, a banner will be shown on the Project homepage' +required: false +translatable: false +default_value: + - + value: 1 +default_value_callback: '' +settings: + on_label: Show + off_label: Hide +field_type: boolean diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.node.field_bh_banner_status.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.node.field_bh_banner_status.yml new file mode 100644 index 0000000000..1ff2f259a3 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.node.field_bh_banner_status.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_bh_banner_status +field_name: field_bh_banner_status +entity_type: node +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/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_moderation_state.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_moderation_state.yml new file mode 100644 index 0000000000..3a2315ae6a --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_moderation_state.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + module: + - options + - taxonomy +id: taxonomy_term.field_banner_moderation_state +field_name: field_banner_moderation_state +entity_type: taxonomy_term +type: list_string +settings: + allowed_values: + - + value: Draft + label: Draft + - + value: Published + label: Published + - + value: Archived + label: Archived + allowed_values_function: '' +module: options +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_text.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_text.yml new file mode 100644 index 0000000000..b55a576fd5 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_text.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - taxonomy + - text +id: taxonomy_term.field_banner_text +field_name: field_banner_text +entity_type: taxonomy_term +type: text +settings: + max_length: 255 +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_title.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_title.yml new file mode 100644 index 0000000000..590f5239a4 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_banner_title.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_banner_title +field_name: field_banner_title +entity_type: taxonomy_term +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_show_banner.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_show_banner.yml new file mode 100644 index 0000000000..e32727a1f5 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/field.storage.taxonomy_term.field_show_banner.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_show_banner +field_name: field_show_banner +entity_type: taxonomy_term +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/language.content_settings.taxonomy_term.project_banner_bh_.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/language.content_settings.taxonomy_term.project_banner_bh_.yml new file mode 100644 index 0000000000..c4a2148745 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/language.content_settings.taxonomy_term.project_banner_bh_.yml @@ -0,0 +1,10 @@ +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.project_banner_bh_ +id: taxonomy_term.project_banner_bh_ +target_entity_type_id: taxonomy_term +target_bundle: project_banner_bh_ +default_langcode: site_default +language_alterable: false diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/rabbit_hole.behavior_settings.taxonomy_vocabulary_project_banner_bh_.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/rabbit_hole.behavior_settings.taxonomy_vocabulary_project_banner_bh_.yml new file mode 100644 index 0000000000..8d42f751c1 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/rabbit_hole.behavior_settings.taxonomy_vocabulary_project_banner_bh_.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.project_banner_bh_ +id: taxonomy_vocabulary_project_banner_bh_ +entity_type_id: taxonomy_vocabulary +entity_id: project_banner_bh_ +action: page_not_found +allow_override: 0 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/taxonomy.vocabulary.project_banner_bh_.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/taxonomy.vocabulary.project_banner_bh_.yml new file mode 100644 index 0000000000..477bf43cde --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/config/install/taxonomy.vocabulary.project_banner_bh_.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +name: 'Project Banner (BH)' +vid: project_banner_bh_ +description: "Controls the Property's visibility and banner on boston.gov." +weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/css/node_bh_project.css b/docroot/modules/custom/bos_content/modules/node_buildinghousing/css/node_bh_project.css index b77695266b..60d644056b 100644 --- a/docroot/modules/custom/bos_content/modules/node_buildinghousing/css/node_bh_project.css +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/css/node_bh_project.css @@ -1024,3 +1024,24 @@ .co-t:after { filter: brightness(1) sepia(293) hue-rotate(100deg) saturate(1470); } + +/* DIG-1055 2023 */ + +#bh-project-banner-slash:after { + content: "/"; +} + +#bh-project-banner-description, +#bh-project-banner-title { + font-size: 150%; +} + +#bh-project-banner-wrapper { + position: absolute; + z-index:10; +} +#bh-project-banner { + margin-top: 100px; + position: relative; + opacity: 0.90; +} diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/drush.services.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/drush.services.yml new file mode 100644 index 0000000000..2e7452ec25 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/drush.services.yml @@ -0,0 +1,5 @@ +services: + node_buildinghousing.commands: + class: Drupal\node_buildinghousing\Commands\BHCommands + tags: + - { name: drush.command } diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/node_buildinghousing.info.yml b/docroot/modules/custom/bos_content/modules/node_buildinghousing/node_buildinghousing.info.yml index 2d2b6c005b..825d258ed8 100644 --- a/docroot/modules/custom/bos_content/modules/node_buildinghousing/node_buildinghousing.info.yml +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/node_buildinghousing.info.yml @@ -5,3 +5,22 @@ core_version_requirement: ^8 || ^9 || ^10 package: 'Custom' dependencies: - salesforce +config_devel: + - field.field.taxonomy_term.project_banner_bh_.field_banner_text + - field.storage.taxonomy_term.field_banner_text + - field.storage.taxonomy_term.field_banner_moderation_state + - field.storage.taxonomy_term.field_banner_title + - field.storage.taxonomy_term.field_show_banner + - field.field.taxonomy_term.project_banner_bh_.field_banner_moderation_state + - field.field.taxonomy_term.project_banner_bh_.field_banner_title + - field.field.taxonomy_term.project_banner_bh_.field_show_banner + - core.entity_form_display.taxonomy_term.project_banner_bh_.default + - core.entity_view_display.taxonomy_term.project_banner_bh_.default + - language.content_settings.taxonomy_term.project_banner_bh_ + - rabbit_hole.behavior_settings.taxonomy_vocabulary_project_banner_bh_ + - taxonomy.vocabulary.project_banner_bh_ + - field.storage.node.field_bh_banner_status + - core.entity_form_display.node.bh_update.default + - core.entity_view_display.node.bh_update.teaser + - field.field.node.bh_update.field_bh_banner_status + - core.entity_view_display.node.bh_update.default diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/node_buildinghousing.module b/docroot/modules/custom/bos_content/modules/node_buildinghousing/node_buildinghousing.module index afd6cdff43..c11228e472 100644 --- a/docroot/modules/custom/bos_content/modules/node_buildinghousing/node_buildinghousing.module +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/node_buildinghousing.module @@ -6,8 +6,6 @@ * */ -use Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException; -use Drupal\Component\Plugin\Exception\PluginNotFoundException; use Drupal\Core\Entity\Display\EntityViewDisplayInterface; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Routing\RouteMatchInterface; @@ -16,6 +14,7 @@ use Drupal\node_buildinghousing\BuildingHousingUtils as BHUtils; use Drupal\taxonomy\Entity\Term; use Drupal\views\ViewExecutable; use Drupal\node_buildinghousing\BuildingHousingUtils; +use \Drupal\Core\Render\Markup; /** * Implements hook_help(). @@ -50,6 +49,16 @@ function node_buildinghousing_theme() { "bgColor" => '#091f2f', ], ], + 'bh_project_banner' => [ + 'template' => 'snippets/bh-project-banner', + 'variables' => [ + "icon" => null, + "showBanner" => FALSE, + "title" => t("Inactive"), + "text" => t("This project is inactive"), + "slash" => '/', + ], + ], 'bh_project_manager_contact' => [ 'template' => 'snippets/bh-project-manager-contact', 'variables' => [ @@ -237,6 +246,11 @@ function node_buildinghousing_entity_presave(EntityInterface $entity) { case 'bh_update': $bhUtils->setProjectWebLink($entity); + if ($entity->hasField("field_bh_banner_status") + && isset($entity->field_bh_banner_status->target_id) + && isset($entity->field_bh_project_ref->target_id)) { + $bhUtils->setProjectModerationState($entity); + } break; case 'bh_meeting': @@ -401,6 +415,12 @@ function node_buildinghousing_entity_extra_field_info() { 'visible' => TRUE, ]; + $extraFields['node'][$bundle->id()]['display']['bh_project_banner'] = [ + 'label' => t('Building Housing Project Status Banner'), + 'weight' => 100, + 'visible' => TRUE, + ]; + } } @@ -425,6 +445,7 @@ function node_buildinghousing_entity_extra_field_info() { function node_buildinghousing_entity_view(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, string $view_mode) { $projectIsActive = TRUE; + if ($entity->field_bh_public_stage && $entity->field_bh_public_stage->referencedEntities()) { $publicStageTerm = $entity->field_bh_public_stage->referencedEntities()[0]->getName() ?? NULL; @@ -440,7 +461,6 @@ function node_buildinghousing_entity_view(array &$build, EntityInterface $entity if ($display->getComponent('bh_project_manager_contact')) { $build['bh_project_manager_contact'] = _node_buildinghousing_build_render_project_manager_contact($entity); - } if ($display->getComponent('bh_project_meeting_notice') && $projectIsActive) { @@ -470,6 +490,9 @@ function node_buildinghousing_entity_view(array &$build, EntityInterface $entity $build['bh_project_developer_info'] = _node_buildinghousing_build_render_developer_info($entity); } + if ($display->getComponent('bh_project_banner')){ + $build['bh_project_banner'] = _node_buildinghousing_build_render_project_banner($entity); + } if ($display->getComponent('field_bh_project_images')) { @@ -580,7 +603,6 @@ function node_buildinghousing_entity_view(array &$build, EntityInterface $entity $test = 'test'; } - } /** @@ -595,6 +617,31 @@ function node_buildinghousing_preprocess(&$variables, $hook) { } } +function _node_buildinghousing_build_render_project_banner(EntityInterface $entity) { + $vars['showBanner'] = FALSE; + if ($webUpdate = BHUtils::getWebUpdate($entity)) { + if ($webUpdate->hasField("field_bh_banner_status") && $tid = $webUpdate->field_bh_banner_status->target_id) { + if ($banner = BHUtils::findBannerTaxonomy($tid)) { + if (!empty($banner["term"]->field_show_banner)) { + $vars['showBanner'] = ($banner["term"]->field_show_banner->value === "1"); + } + if (!empty($banner["term"]->field_banner_title)) { + $vars['title'] = $banner["term"]->field_banner_title->value; + } + if (!empty($banner["term"]->field_banner_text)) { + $vars['text'] = $banner["term"]->field_banner_text->value; + } + if (empty($vars['title']) && empty($vars['text']) && $vars['showBanner']) { + $vars['title'] = $banner["name"]; + } + $vars['slash'] = $vars['title'] && $vars['text']; + return ['#markup' => \Drupal::theme()->render("bh_project_banner", $vars)]; + } + } + } + +} + /** * Helper function to render project meeting notices. * diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/BuildingHousingUtils.php b/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/BuildingHousingUtils.php index b68f119986..44f6d4fd51 100644 --- a/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/BuildingHousingUtils.php +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/BuildingHousingUtils.php @@ -8,6 +8,7 @@ use Drupal\Core\ProxyClass\Lock\DatabaseLockBackend; use Drupal\file\Plugin\Field\FieldType\FileFieldItemList; use Drupal\file_entity\Entity\FileEntity; +use Drupal\node_buildinghousing\Commands\BHCommands; use Drupal\node_buildinghousing\Form\SalesforceSyncSettings; use Drupal\salesforce\Exception; use Drupal\taxonomy\Entity\Term; @@ -24,7 +25,6 @@ class BuildingHousingUtils { */ public $publicStage = NULL; - /** * Project Entity. * @@ -1347,4 +1347,190 @@ public static function hasEntityViolations(&$entity, $fix = FALSE) { return $count != 0; } + /** + * Fetch an array of $nids for entities which have a mapping for a SFID. + * + * @param string $sfid The salesforceID to search salesforce entity maps for. + * + * @return array|bool key=entityId, value=entityRevisionId FALSE if no mapped entity found. + */ + public static function findEntityIdBySFID(string $sfid, string $type = NULL): array|bool { + + try { + $nids = \Drupal::database() + ->select('salesforce_mapped_object', 'sfo') + ->fields('sfo', ['drupal_entity__target_id']) + ->condition('salesforce_id', $sfid, '=') + ->execute() + ->fetchAll(); + + // Filter for the desired type. + if ($type) { + $new = []; + foreach ($nids as $nid) { + $nodes = \Drupal::entityTypeManager()->getStorage("node"); + if (($entity = $nodes->load($nid->drupal_entity__target_id)) + && $entity->getType() == $type) { + $new[] = $nid; + } + } + $nids = $new; + } + + return $nids; + } + catch (\Exception $e) { + \Drupal::logger("building_housing")->error("{In BuildingHousingUtils.findEntityIdBySFID({$sfid}): $e->getMessage()}"); + return FALSE; + } + + } + + /** + * Fetch the SFID mapped to an entity. + * + * @param string|int|EntityInterface $nid The entity nid. + * + * @return string|bool SFID or FALSE if no mapped entity found. + */ + public static function findMappedSFIDForEntity(int|string|EntityInterface $nid): string|bool { + + try { + + if (!is_string($nid) && !is_numeric($nid)) { + if (!empty($nid->getEntityTypeId()) && $nid->getEntityTypeId() == "node") { + $nid = $nid->id(); + } + else { + return FALSE; + } + } + + $sfids = \Drupal::database() + ->select('salesforce_mapped_object', 'sfo') + ->fields('sfo', ['salesforce_id']) + ->condition('drupal_entity__target_id', $nid, '=') + ->execute() + ->fetchAll(); + $sfids = array_reverse($sfids); + $sfid = array_pop($sfids); + return $sfid->salesforce_id; + + } + catch (\Exception $e) { + \Drupal::logger("building_housing")->error("{In BuildingHousingUtils.findMappedSFIDForEntity({$nid}): $e->getMessage()}"); + return FALSE; + } + + } + + /** + * @param \Drupal\Core\Entity\EntityInterface $entity + * @param string $state + * + * @return bool TRUE if updated, FALSE if not + */ + public function setProjectModerationState(EntityInterface &$entity): bool { + + if ($state = $this->findBannerTaxonomy($entity->field_bh_banner_status->target_id)) { + + // Now update the project (controls whether project homepage is visible). + if ($project_nid = $entity->field_bh_project_ref->target_id) { + if ($project = \Drupal::entityTypeManager()->getStorage("node")->load($project_nid)) { + if (empty($project->get("moderation_state")->value) + || strtolower($project->get("moderation_state")->value) != strtolower($state["mod_state"])) { + $project->set("moderation_state", strtolower($state["mod_state"])); + $project->setNewRevision(TRUE); + try { + $project->save(); + } + catch(\Exception $e) { + return FALSE; + } + } + return TRUE; + } + } + + } + + return FALSE; + + } + + /** + * Find the requested tid (assumes project_banner_bh_ vocab) + * + * @param $tid Taxonomy Id (aka target id on parent entity) + * + * @return array|bool + */ + public static function findBannerTaxonomy($tid):array|bool { + if (!$term = Term::load($tid)) { + return FALSE; + } + return [ + "name" => $term->getName(), + "tid" => $tid, + "mod_state" => $term->field_banner_moderation_state->value, + "show_banner" => $term->field_show_banner->value, + "term" => $term + ]; + } + + /** + * Find the requested term (assumes project_banner_bh_ vocab) by its name + * + * @param $name String + * + * @return array|bool + */ + public static function findBannerTaxonomyByName(string $name):array|bool { + if (!$term = \Drupal::entityTypeManager() + ->getStorage('taxonomy_term') + ->loadByProperties(['name' => $name, "vid" => "project_banner_bh_"])) { + return FALSE; + } + $term = reset($term); + return [ + "tid" => $term->id(), + "name" => $name, + "mod_state" => $term->field_banner_moderation_state->value, + "show_banner" => $term->field_show_banner->value, + "term" => $term + ]; + } + + /** + * Checks if a supplied state exists in project_banner_bh_ taxonomy. + * + * @param $state the state to check. + * + * @return bool + * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException + * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException + */ + public static function isAllowedState($state):bool { + return in_array(strtolower($state), self::getAllowedStates()); + } + + /** + * Returns an array of $tid=>$name pairs for project_banner_bh_ taxonomy. + * + * @param $state + * + * @return array|bool + * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException + * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException + */ + public static function getAllowedStates(): array|bool { + $output = []; + foreach(\Drupal::entityTypeManager() + ->getStorage('taxonomy_term') + ->loadTree('project_banner_bh_') ?? [] as $term) { + $output[$term->tid] = strtolower($term->name); + }; + return $output; + } + } diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/Commands/BHCommands.php b/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/Commands/BHCommands.php new file mode 100644 index 0000000000..7b318e9f7f --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/Commands/BHCommands.php @@ -0,0 +1,236 @@ +NULL, 'state'=>'active', 'filepath'=>NULL]): void { + + // Determine the request type and validate + if ($options["sfid"]) { + $data = explode(",", $options["sfid"]); + if ($options["state"]) { + $state = strtolower($options["state"]); + if (!BuildingHousingUtils::isAllowedState($state)) { + $allowed_states = implode(", ", BuildingHousingUtils::getAllowedStates()); + $this->output()->writeln("[ERROR] State {$state} must be one of '{$allowed_states}'."); + return; + } + } + } + + if ($options["filepath"]) { + $filepath = $options["filepath"]; + if (!file_exists($filepath)) { + $this->output()->writeln("[ERROR] Cannot open file at {$filepath}"); + return; + } + } + + if (!empty($options["sfid"]) && !empty($options["filepath"])) { + $this->output()->writeln("[ERROR] Cannot provide both sfid and filepath !"); + return; + } + elseif (empty($options["sfid"]) && empty($options["filepath"])) { + $this->output()->writeln("[ERROR] Need to provide either sfid or filepath"); + return; + } + + $results = [[], [], []]; + + if (!empty($data)) { + + // Process the supplied sfid's. + foreach($data as $sfid) { + + $sfid = trim($sfid); + $result = $this->updateNode($sfid, $state, TRUE); + $results[$result][] = $sfid; + + } + + } + + elseif (!empty($filepath)) { + + // Process the file. + $data = file_get_contents($filepath); + + foreach($data as $record) { + + // Check the record has state + if (empty($record["state"])) { + $record["state"] = "active"; + } + + // Check the record has a valid state + if (!BuildingHousingUtils::isAllowedState($record["state"])) { + $allowed_states = implode(", ", BuildingHousingUtils::getAllowedStates()); + $this->output()->writeln("[WARNING] State for {$record["sfid"]} cannot be {$record["state"]}, it must be one of '{$allowed_states}'."); + $results[0][] = $record["sfid"]; + continue; + } + + // Update the Drupal record. + $result = $this->updateNode($record["sfid"], $record["state"], TRUE); + $results[$result][] = $record["sfid"]; + + } + + } + + $this->output()->writeln("Update complete"); + $count0 = count($results[0]); + $count1 = count($results[1]); + $count2 = count($results[2]); + $count3 = $count0 + $count1 + $count2; + $this->output()->writeln("[SUMMARY] {$count3} SFID's processed: {$count1} updated, {$count2} skipped, {$count0} failed to update."); + + } + + /** + * Finds the Drupal record which is mapped to the SFID and then changes the + * moderation state and field_banner according to the supplied state. + * Always creates a new revision. + * DIG-1055 + * + * @param string $sfid The salesforce ID + * @param string $state The state to use (one of $this->valid_states) + * @param bool $drush Flag when called from drush (for console outputs) + * + * @return int where 0=failed, 1=updated, 2=nothing done + * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException + * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException + */ + public function updateNode(string $sfid, string $state, bool $drush = FALSE): int { + + + + // Find Entity mapped to this SFID + $nids = BuildingHousingUtils::findEntityIdBySFID($sfid, "bh_project"); + if (!$nids) { + $drush && $this->output()->writeln("[WARNING] A record with SFID {$sfid} could not be found in Drupal."); + return 0; + } + + $state = BuildingHousingUtils::findBannerTaxonomyByName($state); + + // Update the Entity with state/banner info. + // Even though this is a foreach loop, only the first returned bh_project + // nid will be processed because there should not be multiple maps for a + // bh_project. + foreach ($nids as $nid) { + + // Load the bh_project node. + $nid = $nid->drupal_entity__target_id; + $project = \Drupal::entityTypeManager() + ->getStorage("node") + ->load($nid); + + if (!$project) { + $drush && $this->output()->writeln("[WARNING] The BH_Project '{$sfid}' is marked as mapped from SF but the record (nid={$nid}) could not be found in Drupal."); + return 0; + } + + // Now find and load the linked bh_update so the banner can be set. + $update_nid = \Drupal::entityQuery("node") + ->accessCheck(FALSE) + ->condition("type", "bh_update", "=") + ->condition("field_bh_project_ref", $nid, "=") + ->execute(); + if (!$update_nid) { + $drush && $this->output()->writeln("[WARNING] The BH_Project '{$nid}' does not have a website update"); + return 0; + } + $update_nid = reset($update_nid); + + $update = \Drupal::entityTypeManager() + ->getStorage("node") + ->load($update_nid); + if (!$update) { + $drush && $this->output()->writeln("[WARNING] The bh_update '{$update_nid}' is linked to a bh_project {$nid}, but cannot be loaded."); + return 0; + } + + // Check if values need updating. + if (strtolower($project->get("moderation_state")->value) == strtolower($state["mod_state"]) + && $update && $update->get("field_bh_banner_status")->target_id == $state["tid"]) { + // These nodes already have this state. + return 2; + } + + // Set values on node and save. + if (strtolower($project->get("moderation_state")->value) != strtolower($state["mod_state"])) { + + // Be sure to make a new revision. + $project->setNewRevision(TRUE); + $project->set("moderation_state", strtolower($state["mod_state"])); + + try { + if ($project->save() != 2) { + // Houston, we have a problem (2 = updated). + $drush && $this->output() + ->writeln("[WARNING] SFID {$sfid} did not update bh_project {$nid} to {$state}."); + return 0; + } + } + catch (\Exception $e) { + $this->output()->writeln("[WARNING] SFID {$sfid} attempt to update {$nid} to {$state["name"]} threw error:"); + $this->output()->writeln($e->getMessage()); + return 0; + } + } + + if ($update && $update->get("field_bh_banner_status")->target_id != $state["tid"]) { + + $update->set("field_bh_banner_status", [$state["term"]]); + + try { + if ($update->save() != 2) { + // Houston, we have a problem (2 = updated). + $drush && $this->output() + ->writeln("[WARNING] SFID {$sfid} did not update bh_update {$nid} to {$state}."); + return 0; + } + } + catch (\Exception $e) { + $this->output()->writeln("[WARNING] SFID {$sfid} attempt to update {$nid} to {$state} threw error:"); + $this->output()->writeln($e->getMessage()); + return 0; + } + } + + return 1; + + } + + } + +} diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/EventSubscriber/SalesforceBuildingHousingUpdateSubscriber.php b/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/EventSubscriber/SalesforceBuildingHousingUpdateSubscriber.php index 8f8da7323c..c3ce593ce1 100755 --- a/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/EventSubscriber/SalesforceBuildingHousingUpdateSubscriber.php +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/src/EventSubscriber/SalesforceBuildingHousingUpdateSubscriber.php @@ -892,7 +892,7 @@ private function processTextUpdates($textUpdateData, $bh_update) { } unset($currentTextUpdateIds[$post["id"]]); } - if ($remove && array_key_exists($post["id"], $currentTextUpdateIds)) { + if (!empty($currentTextUpdateIds) && array_key_exists($post["id"], $currentTextUpdateIds)) { unset($currentTextUpdateIds[$post["id"]]); } } diff --git a/docroot/modules/custom/bos_content/modules/node_buildinghousing/templates/snippets/bh-project-banner.html.twig b/docroot/modules/custom/bos_content/modules/node_buildinghousing/templates/snippets/bh-project-banner.html.twig new file mode 100644 index 0000000000..7ec5b68b3e --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_buildinghousing/templates/snippets/bh-project-banner.html.twig @@ -0,0 +1,42 @@ +{# +/** + * @file + * Default theme implementation for a project banner item. + * + * Available variables: + * - showBanner: should the banner be shown? + * - title: The banner title. + * - text: The text display for the banner. + * - icon: A link to an icon for the banner. + */ +#} +{% if showBanner %} + +
+
+
+
+ + {% if icon %} +
Icon for project status {{ title }}
+ {% endif %} + + {% if title %} +
{{ title }}
+ {% endif %} + + {% if slash %} +
+ {% endif %} + + {% if text %} +
{{ text }}
+ {% endif %} + +
+
+
+
+{% endif %} + + diff --git a/docroot/modules/custom/bos_content/modules/node_event/templates/node--event.html.twig b/docroot/modules/custom/bos_content/modules/node_event/templates/node--event.html.twig index 4d2cd92bb6..c2ed785640 100644 --- a/docroot/modules/custom/bos_content/modules/node_event/templates/node--event.html.twig +++ b/docroot/modules/custom/bos_content/modules/node_event/templates/node--event.html.twig @@ -132,10 +132,11 @@ {% if is_cancelled %}
Reason for cancellation: - {% if content.field_extra_info_event %} + + {% if content.field_extra_info_event.0["#context"]["value"] %} {{ content.field_extra_info_event }} {% else %} - "Please contact organizer." + Please contact organizer. {% endif %}
{% else %} diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.base_field_override.node.roll_call_dockets.promote.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.base_field_override.node.roll_call_dockets.promote.yml new file mode 100644 index 0000000000..ca8f290ddf --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.base_field_override.node.roll_call_dockets.promote.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - node.type.roll_call_dockets +id: node.roll_call_dockets.promote +field_name: promote +entity_type: node +bundle: roll_call_dockets +label: 'Promoted to front page' +description: '' +required: false +translatable: true +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.base_field_override.node.roll_call_dockets.title.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.base_field_override.node.roll_call_dockets.title.yml new file mode 100644 index 0000000000..eaf2d3ea23 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.base_field_override.node.roll_call_dockets.title.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + config: + - node.type.roll_call_dockets +id: node.roll_call_dockets.title +field_name: title +entity_type: node +bundle: roll_call_dockets +label: 'Docket Number' +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.node.roll_call_dockets.default.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.node.roll_call_dockets.default.yml new file mode 100644 index 0000000000..edc6822fd4 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.node.roll_call_dockets.default.yml @@ -0,0 +1,132 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + - workflows.workflow.managed_workflow + module: + - content_moderation + - datetime + - field_group + - paragraphs + - publication_date + - text +third_party_settings: + field_group: + group_council_meeting: + children: + - group_docket + label: 'Council Meeting' + region: content + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + classes: '' + show_empty_fields: false + id: '' + direction: vertical + width_breakpoint: 640 + group_docket: + children: + - title + - field_meeting_date + - body + - field_components + label: Docket + region: content + parent_name: group_council_meeting + weight: 20 + format_type: tab + format_settings: + classes: '' + show_empty_fields: false + id: '' + formatter: closed + description: '' + required_fields: true +id: node.roll_call_dockets.default +targetEntityType: node +bundle: roll_call_dockets +mode: default +content: + body: + type: text_textarea_with_summary + weight: 4 + region: content + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + show_summary: false + third_party_settings: { } + created: + type: datetime_timestamp + weight: 3 + region: content + settings: { } + third_party_settings: { } + field_components: + type: entity_reference_paragraphs + weight: 5 + region: content + settings: + title: 'Roll Call Vote' + title_plural: 'Roll Call Votes' + edit_mode: open + add_mode: dropdown + form_display_mode: default + default_paragraph_type: roll_call_vote + third_party_settings: { } + field_meeting_date: + type: datetime_default + weight: 3 + region: content + settings: { } + third_party_settings: { } + moderation_state: + type: moderation_state_default + weight: 1 + region: content + settings: { } + third_party_settings: { } + published_at: + type: publication_date_timestamp + weight: 4 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + weight: 5 + region: content + settings: + display_label: true + third_party_settings: { } + title: + type: string_textfield + weight: 2 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 2 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + langcode: true + path: true + promote: true + sticky: true + url_redirects: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.paragraph.roll_call_vote.default.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.paragraph.roll_call_vote.default.yml new file mode 100644 index 0000000000..e72d025fc2 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.paragraph.roll_call_vote.default.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.roll_call_vote.field_councillor + - field.field.paragraph.roll_call_vote.field_vote + - paragraphs.paragraphs_type.roll_call_vote + module: + - dynamic_entity_reference +id: paragraph.roll_call_vote.default +targetEntityType: paragraph +bundle: roll_call_vote +mode: default +content: + field_councillor: + type: dynamic_entity_reference_options_select + weight: 0 + region: content + settings: { } + third_party_settings: { } + field_vote: + type: dynamic_entity_reference_options_select + weight: 1 + region: content + settings: { } + third_party_settings: { } +hidden: + created: true + status: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.taxonomy_term.city_council_districts.default.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.taxonomy_term.city_council_districts.default.yml new file mode 100644 index 0000000000..a61b222a69 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.taxonomy_term.city_council_districts.default.yml @@ -0,0 +1,38 @@ +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.city_council_districts + module: + - text +id: taxonomy_term.city_council_districts.default +targetEntityType: taxonomy_term +bundle: city_council_districts +mode: default +content: + description: + type: text_textarea + weight: 1 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + langcode: + type: language_select + weight: 2 + region: content + settings: + include_locked: true + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + path: true + status: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.taxonomy_term.vocab_city_councillors.default.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.taxonomy_term.vocab_city_councillors.default.yml new file mode 100644 index 0000000000..69133fd328 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_form_display.taxonomy_term.vocab_city_councillors.default.yml @@ -0,0 +1,71 @@ +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.vocab_city_councillors.field_district + - field.field.taxonomy_term.vocab_city_councillors.field_email + - field.field.taxonomy_term.vocab_city_councillors.field_first_name + - taxonomy.vocabulary.vocab_city_councillors + module: + - advanced_text_formatter + - bos_core +id: taxonomy_term.vocab_city_councillors.default +targetEntityType: taxonomy_term +bundle: vocab_city_councillors +mode: default +content: + field_district: + type: entity_reference_autocomplete + weight: 3 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + field_email: + type: email_default + weight: 2 + region: content + settings: + placeholder: '' + size: 60 + third_party_settings: { } + field_first_name: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + langcode: + type: language_select + weight: 6 + region: content + settings: + include_locked: true + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: 'Name to appear in Roll Call results' + third_party_settings: + advanced_text_formatter: + show_token_tree: 0 + bos_core: + show_token_tree: 0 + status: + type: boolean_checkbox + weight: 5 + region: content + settings: + display_label: true + third_party_settings: { } +hidden: + description: true + path: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.node.roll_call_dockets.default.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.node.roll_call_dockets.default.yml new file mode 100644 index 0000000000..8980693f29 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.node.roll_call_dockets.default.yml @@ -0,0 +1,70 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + module: + - datetime + - entity_reference_revisions + - fences + - text + - user +id: node.roll_call_dockets.default +targetEntityType: node +bundle: roll_call_dockets +mode: default +content: + body: + type: text_default + label: hidden + settings: { } + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: div + fences_field_item_classes: squiggle-border-bottom + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content + field_components: + type: entity_reference_revisions_entity_view + label: hidden + settings: + view_mode: default + link: '' + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 2 + region: content + field_meeting_date: + type: datetime_default + label: inline + settings: + timezone_override: '' + format_type: date_format_normal_date + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: h2 + fences_field_item_classes: '' + fences_label_tag: label + fences_label_classes: '' + weight: 0 + region: content +hidden: + content_moderation_control: true + langcode: true + links: true + published_at: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.node.roll_call_dockets.roll_call_search.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.node.roll_call_dockets.roll_call_search.yml new file mode 100644 index 0000000000..ed1d2f8dce --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.node.roll_call_dockets.roll_call_search.yml @@ -0,0 +1,71 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.roll_call_search + - field.field.node.roll_call_dockets.body + - field.field.node.roll_call_dockets.field_components + - field.field.node.roll_call_dockets.field_meeting_date + - node.type.roll_call_dockets + module: + - datetime + - entity_reference_revisions + - fences + - text + - user +id: node.roll_call_dockets.roll_call_search +targetEntityType: node +bundle: roll_call_dockets +mode: roll_call_search +content: + body: + type: text_default + label: hidden + settings: { } + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content + field_components: + type: entity_reference_revisions_entity_view + label: hidden + settings: + view_mode: roll_call_search + link: '' + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 2 + region: content + field_meeting_date: + type: datetime_default + label: hidden + settings: + timezone_override: '' + format_type: date_format_normal_date + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content +hidden: + content_moderation_control: true + langcode: true + links: true + published_at: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.paragraph.roll_call_vote.default.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.paragraph.roll_call_vote.default.yml new file mode 100644 index 0000000000..993c8e2a05 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.paragraph.roll_call_vote.default.yml @@ -0,0 +1,174 @@ +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.roll_call_vote.field_councillor + - field.field.paragraph.roll_call_vote.field_vote + - paragraphs.paragraphs_type.roll_call_vote + module: + - dynamic_entity_reference + - fences +id: paragraph.roll_call_vote.default +targetEntityType: paragraph +bundle: roll_call_vote +mode: default +content: + field_councillor: + type: dynamic_entity_reference_entity_view + label: hidden + settings: + taxonomy_term: + view_mode: default + node: + view_mode: default + link: false + block_content: + view_mode: default + link: false + content_moderation_state: + view_mode: default + link: false + token_custom: + view_mode: default + link: false + menu_link_content: + view_mode: default + link: false + entity_embed_fake_entity: + view_mode: default + link: false + file: + view_mode: default + link: false + media: + view_mode: default + link: false + paragraph: + view_mode: default + link: false + paragraphs_library_item: + view_mode: default + link: false + poll: + view_mode: default + link: false + poll_choice: + view_mode: default + link: false + profile: + view_mode: default + link: false + redirect: + view_mode: default + link: false + salesforce_mapped_object: + view_mode: default + link: false + shortcut: + view_mode: default + link: false + path_alias: + view_mode: default + link: false + user: + view_mode: default + link: false + vote: + view_mode: default + link: false + vote_result: + view_mode: default + link: false + webform_submission: + view_mode: default + link: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content + field_vote: + type: dynamic_entity_reference_entity_view + label: hidden + settings: + taxonomy_term: + view_mode: default + node: + view_mode: default + link: false + block_content: + view_mode: default + link: false + content_moderation_state: + view_mode: default + link: false + token_custom: + view_mode: default + link: false + menu_link_content: + view_mode: default + link: false + entity_embed_fake_entity: + view_mode: default + link: false + file: + view_mode: default + link: false + media: + view_mode: default + link: false + paragraph: + view_mode: default + link: false + paragraphs_library_item: + view_mode: default + link: false + poll: + view_mode: default + link: false + poll_choice: + view_mode: default + link: false + profile: + view_mode: default + link: false + redirect: + view_mode: default + link: false + salesforce_mapped_object: + view_mode: default + link: false + shortcut: + view_mode: default + link: false + path_alias: + view_mode: default + link: false + user: + view_mode: default + link: false + vote: + view_mode: default + link: false + vote_result: + view_mode: default + link: false + webform_submission: + view_mode: default + link: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content +hidden: { } diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.paragraph.roll_call_vote.roll_call_search.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.paragraph.roll_call_vote.roll_call_search.yml new file mode 100644 index 0000000000..f071c8b481 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.paragraph.roll_call_vote.roll_call_search.yml @@ -0,0 +1,175 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.paragraph.roll_call_search + - field.field.paragraph.roll_call_vote.field_councillor + - field.field.paragraph.roll_call_vote.field_vote + - paragraphs.paragraphs_type.roll_call_vote + module: + - dynamic_entity_reference + - fences +id: paragraph.roll_call_vote.roll_call_search +targetEntityType: paragraph +bundle: roll_call_vote +mode: roll_call_search +content: + field_councillor: + type: dynamic_entity_reference_entity_view + label: hidden + settings: + taxonomy_term: + view_mode: roll_call_search + node: + view_mode: default + link: false + block_content: + view_mode: default + link: false + content_moderation_state: + view_mode: default + link: false + token_custom: + view_mode: default + link: false + menu_link_content: + view_mode: default + link: false + entity_embed_fake_entity: + view_mode: default + link: false + file: + view_mode: default + link: false + media: + view_mode: default + link: false + paragraph: + view_mode: default + link: false + paragraphs_library_item: + view_mode: default + link: false + poll: + view_mode: default + link: false + poll_choice: + view_mode: default + link: false + profile: + view_mode: default + link: false + redirect: + view_mode: default + link: false + salesforce_mapped_object: + view_mode: default + link: false + shortcut: + view_mode: default + link: false + path_alias: + view_mode: default + link: false + user: + view_mode: default + link: false + vote: + view_mode: default + link: false + vote_result: + view_mode: default + link: false + webform_submission: + view_mode: default + link: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content + field_vote: + type: dynamic_entity_reference_entity_view + label: hidden + settings: + taxonomy_term: + view_mode: roll_call_search + node: + view_mode: default + link: false + block_content: + view_mode: default + link: false + content_moderation_state: + view_mode: default + link: false + token_custom: + view_mode: default + link: false + menu_link_content: + view_mode: default + link: false + entity_embed_fake_entity: + view_mode: default + link: false + file: + view_mode: default + link: false + media: + view_mode: default + link: false + paragraph: + view_mode: default + link: false + paragraphs_library_item: + view_mode: default + link: false + poll: + view_mode: default + link: false + poll_choice: + view_mode: default + link: false + profile: + view_mode: default + link: false + redirect: + view_mode: default + link: false + salesforce_mapped_object: + view_mode: default + link: false + shortcut: + view_mode: default + link: false + path_alias: + view_mode: default + link: false + user: + view_mode: default + link: false + vote: + view_mode: default + link: false + vote_result: + view_mode: default + link: false + webform_submission: + view_mode: default + link: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content +hidden: { } diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.city_council_districts.default.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.city_council_districts.default.yml new file mode 100644 index 0000000000..7ee6c0c9ec --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.city_council_districts.default.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.city_council_districts + module: + - text +id: taxonomy_term.city_council_districts.default +targetEntityType: taxonomy_term +bundle: city_council_districts +mode: default +content: + description: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 0 + region: content +hidden: + langcode: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.city_council_districts.roll_call_search.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.city_council_districts.roll_call_search.yml new file mode 100644 index 0000000000..22890d3437 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.city_council_districts.roll_call_search.yml @@ -0,0 +1,14 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.taxonomy_term.roll_call_search + - taxonomy.vocabulary.city_council_districts +id: taxonomy_term.city_council_districts.roll_call_search +targetEntityType: taxonomy_term +bundle: city_council_districts +mode: roll_call_search +content: { } +hidden: + description: true + langcode: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.vocab_city_councillors.default.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.vocab_city_councillors.default.yml new file mode 100644 index 0000000000..6041b406f1 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.vocab_city_councillors.default.yml @@ -0,0 +1,49 @@ +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.vocab_city_councillors.field_district + - field.field.taxonomy_term.vocab_city_councillors.field_email + - field.field.taxonomy_term.vocab_city_councillors.field_first_name + - taxonomy.vocabulary.vocab_city_councillors + module: + - fences +id: taxonomy_term.vocab_city_councillors.default +targetEntityType: taxonomy_term +bundle: vocab_city_councillors +mode: default +content: + field_district: + type: entity_reference_label + label: inline + settings: + link: true + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 1 + region: content + field_first_name: + type: string + label: inline + settings: + link_to_entity: false + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 0 + region: content +hidden: + description: true + field_email: true + langcode: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.vocab_city_councillors.roll_call_search.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.vocab_city_councillors.roll_call_search.yml new file mode 100644 index 0000000000..78de17fe85 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_display.taxonomy_term.vocab_city_councillors.roll_call_search.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.taxonomy_term.roll_call_search + - field.field.taxonomy_term.vocab_city_councillors.field_district + - field.field.taxonomy_term.vocab_city_councillors.field_email + - field.field.taxonomy_term.vocab_city_councillors.field_first_name + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.roll_call_search +targetEntityType: taxonomy_term +bundle: vocab_city_councillors +mode: roll_call_search +content: { } +hidden: + description: true + field_district: true + field_email: true + field_first_name: true + langcode: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.node.roll_call_search.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.node.roll_call_search.yml new file mode 100644 index 0000000000..43ecd091ce --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.node.roll_call_search.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + module: + - lightning_core + - node +third_party_settings: + lightning_core: + description: 'A format optimized for Drawers, displaying the Docket and Voting records.' +id: node.roll_call_search +label: 'Roll Call Search' +targetEntityType: node +cache: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.paragraph.roll_call_search.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.paragraph.roll_call_search.yml new file mode 100644 index 0000000000..ac8353f874 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.paragraph.roll_call_search.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + module: + - lightning_core + - paragraphs +third_party_settings: + lightning_core: + description: 'Use to display Councillor Voting inside a Drawer when searching Roll Calls.' +id: paragraph.roll_call_search +label: 'Roll Call Search' +targetEntityType: paragraph +cache: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.taxonomy_term.roll_call_search.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.taxonomy_term.roll_call_search.yml new file mode 100644 index 0000000000..9b6be15e2e --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/core.entity_view_mode.taxonomy_term.roll_call_search.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + module: + - lightning_core + - taxonomy +third_party_settings: + lightning_core: + description: 'Display used for Rollcall Search' +id: taxonomy_term.roll_call_search +label: 'Roll Call Search' +targetEntityType: taxonomy_term +cache: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.body.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.body.yml new file mode 100644 index 0000000000..9148aa85ec --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.body.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.body + - filter.format.plain_text + - node.type.roll_call_dockets + module: + - text +id: node.roll_call_dockets.body +field_name: body +entity_type: node +bundle: roll_call_dockets +label: Description +description: 'This is the description of the Docket.' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + display_summary: true + required_summary: false + allowed_formats: + - plain_text +field_type: text_with_summary diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.field_components.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.field_components.yml new file mode 100644 index 0000000000..9af220f38d --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.field_components.yml @@ -0,0 +1,248 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_components + - node.type.roll_call_dockets + - paragraphs.paragraphs_type.roll_call_vote + - paragraphs.paragraphs_type.text_one_column + module: + - entity_reference_revisions +id: node.roll_call_dockets.field_components +field_name: field_components +entity_type: node +bundle: roll_call_dockets +label: Components +description: 'Add components to this Docket.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:paragraph' + handler_settings: + target_bundles: + text_one_column: text_one_column + roll_call_vote: roll_call_vote + negate: 0 + target_bundles_drag_drop: + 3_column_w_image: + weight: -96 + enabled: false + bid: + weight: -36 + enabled: false + bos311: + weight: -95 + enabled: false + bos_signup_emergency_alerts: + weight: -47 + enabled: false + branded_links: + weight: 73 + enabled: false + cabinet: + weight: -95 + enabled: false + card: + weight: -39 + enabled: false + city_score_dashboard: + weight: -68 + enabled: false + columns: + weight: -31 + enabled: false + commission_contact_info: + weight: -35 + enabled: false + commission_members: + weight: -94 + enabled: false + commission_search: + weight: 75 + enabled: false + commission_summary: + weight: -93 + enabled: false + custom_hours_text: + weight: -80 + enabled: false + daily_hours: + weight: -79 + enabled: false + discussion_topic: + weight: -38 + enabled: false + document: + weight: -88 + enabled: false + drawer: + weight: -73 + enabled: false + drawers: + weight: -85 + enabled: false + election_area_results: + weight: 92 + enabled: false + election_candidate_results: + weight: 93 + enabled: false + election_card: + weight: 94 + enabled: false + election_contest_results: + weight: 95 + enabled: false + election_results: + weight: -87 + enabled: false + embed_view: + weight: 87 + enabled: false + events_and_notices: + weight: 125 + enabled: false + external_link: + weight: -86 + enabled: false + featured_topics: + weight: -84 + enabled: false + from_library: + weight: 87 + enabled: false + fyi: + weight: -78 + enabled: false + gol_list_links: + weight: -77 + enabled: false + grid_links: + weight: -29 + enabled: false + grid_of_cards: + weight: -62 + enabled: false + grid_of_people: + weight: -69 + enabled: false + grid_of_places: + weight: -64 + enabled: false + grid_of_programs_initiatives: + weight: -60 + enabled: false + grid_of_quotes: + weight: -58 + enabled: false + grid_of_topics: + weight: -61 + enabled: false + group_of_links_grid: + weight: -59 + enabled: false + group_of_links_list: + weight: -57 + enabled: false + group_of_links_mini_grid: + weight: -56 + enabled: false + group_of_links_quick_links: + weight: 104 + enabled: false + header_text: + weight: -81 + enabled: false + hero_image: + weight: -55 + enabled: false + how_to_contact_step: + weight: -76 + enabled: false + how_to_tab: + weight: -75 + enabled: false + how_to_text_step: + weight: -74 + enabled: false + iframe: + weight: -54 + enabled: false + internal_link: + weight: -53 + enabled: false + lightbox_link: + weight: -28 + enabled: false + list: + weight: -52 + enabled: false + map: + weight: -51 + enabled: false + message_for_the_day: + weight: -72 + enabled: false + news_and_announcements: + weight: 111 + enabled: false + newsletter: + weight: -49 + enabled: false + photo: + weight: -48 + enabled: false + quote: + weight: -70 + enabled: false + roll_call_vote: + weight: 131 + enabled: true + seamless_doc: + weight: -65 + enabled: false + sidebar_item: + weight: -90 + enabled: false + sidebar_item_w_icon: + weight: -89 + enabled: false + social_media_links: + weight: -91 + enabled: false + social_networking: + weight: -92 + enabled: false + status_overrides: + weight: 123 + enabled: false + tabbed_content_tab: + weight: 124 + enabled: false + text: + weight: -46 + enabled: false + text_one_column: + weight: -45 + enabled: true + text_three_column: + weight: -43 + enabled: false + text_two_column: + weight: -44 + enabled: false + transaction_grid: + weight: -42 + enabled: false + transactions: + weight: -27 + enabled: false + video: + weight: -40 + enabled: false + web_app: + weight: 134 + enabled: false +field_type: entity_reference_revisions diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.field_meeting_date.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.field_meeting_date.yml new file mode 100644 index 0000000000..84100b1e88 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.node.roll_call_dockets.field_meeting_date.yml @@ -0,0 +1,24 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_meeting_date + - node.type.roll_call_dockets + module: + - datetime + - field_display_label +third_party_settings: + field_display_label: + display_label: 'Meeting Date' +id: node.roll_call_dockets.field_meeting_date +field_name: field_meeting_date +entity_type: node +bundle: roll_call_dockets +label: 'Meeting Date' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: datetime diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.paragraph.roll_call_vote.field_councillor.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.paragraph.roll_call_vote.field_councillor.yml new file mode 100644 index 0000000000..ba0961271c --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.paragraph.roll_call_vote.field_councillor.yml @@ -0,0 +1,94 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_councillor + - paragraphs.paragraphs_type.roll_call_vote + - taxonomy.vocabulary.vocab_city_councillors + module: + - dynamic_entity_reference +id: paragraph.roll_call_vote.field_councillor +field_name: field_councillor +entity_type: paragraph +bundle: roll_call_vote +label: Councillor +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + taxonomy_term: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + vocab_city_councillors: vocab_city_councillors + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' + node: + handler: 'default:node' + handler_settings: { } + block_content: + handler: 'default:block_content' + handler_settings: { } + content_moderation_state: + handler: 'default:content_moderation_state' + handler_settings: { } + token_custom: + handler: 'default:token_custom' + handler_settings: { } + menu_link_content: + handler: 'default:menu_link_content' + handler_settings: { } + entity_embed_fake_entity: + handler: 'default:entity_embed_fake_entity' + handler_settings: { } + file: + handler: 'default:file' + handler_settings: { } + media: + handler: 'default:media' + handler_settings: { } + paragraph: + handler: 'default:paragraph' + handler_settings: { } + paragraphs_library_item: + handler: 'default:paragraphs_library_item' + handler_settings: { } + poll: + handler: 'default:poll' + handler_settings: { } + poll_choice: + handler: 'default:poll_choice' + handler_settings: { } + profile: + handler: 'default:profile' + handler_settings: { } + redirect: + handler: 'default:redirect' + handler_settings: { } + salesforce_mapped_object: + handler: 'default:salesforce_mapped_object' + handler_settings: { } + shortcut: + handler: 'default:shortcut' + handler_settings: { } + path_alias: + handler: 'default:path_alias' + handler_settings: { } + user: + handler: 'default:user' + handler_settings: { } + vote: + handler: 'default:vote' + handler_settings: { } + vote_result: + handler: 'default:vote_result' + handler_settings: { } + webform_submission: + handler: 'default:webform_submission' + handler_settings: { } +field_type: dynamic_entity_reference diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.paragraph.roll_call_vote.field_vote.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.paragraph.roll_call_vote.field_vote.yml new file mode 100644 index 0000000000..26d5875ea1 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.paragraph.roll_call_vote.field_vote.yml @@ -0,0 +1,94 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_vote + - paragraphs.paragraphs_type.roll_call_vote + - taxonomy.vocabulary.vocab_votes + module: + - dynamic_entity_reference +id: paragraph.roll_call_vote.field_vote +field_name: field_vote +entity_type: paragraph +bundle: roll_call_vote +label: Vote +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + taxonomy_term: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + vocab_votes: vocab_votes + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' + node: + handler: 'default:node' + handler_settings: { } + block_content: + handler: 'default:block_content' + handler_settings: { } + content_moderation_state: + handler: 'default:content_moderation_state' + handler_settings: { } + token_custom: + handler: 'default:token_custom' + handler_settings: { } + menu_link_content: + handler: 'default:menu_link_content' + handler_settings: { } + entity_embed_fake_entity: + handler: 'default:entity_embed_fake_entity' + handler_settings: { } + file: + handler: 'default:file' + handler_settings: { } + media: + handler: 'default:media' + handler_settings: { } + paragraph: + handler: 'default:paragraph' + handler_settings: { } + paragraphs_library_item: + handler: 'default:paragraphs_library_item' + handler_settings: { } + poll: + handler: 'default:poll' + handler_settings: { } + poll_choice: + handler: 'default:poll_choice' + handler_settings: { } + profile: + handler: 'default:profile' + handler_settings: { } + redirect: + handler: 'default:redirect' + handler_settings: { } + salesforce_mapped_object: + handler: 'default:salesforce_mapped_object' + handler_settings: { } + shortcut: + handler: 'default:shortcut' + handler_settings: { } + path_alias: + handler: 'default:path_alias' + handler_settings: { } + user: + handler: 'default:user' + handler_settings: { } + vote: + handler: 'default:vote' + handler_settings: { } + vote_result: + handler: 'default:vote_result' + handler_settings: { } + webform_submission: + handler: 'default:webform_submission' + handler_settings: { } +field_type: dynamic_entity_reference diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_district.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_district.yml new file mode 100644 index 0000000000..632a380da4 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_district.yml @@ -0,0 +1,24 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_district + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.field_district +field_name: field_district +entity_type: taxonomy_term +bundle: vocab_city_councillors +label: District +description: 'The District this Councillor currently represents.
If the District does not appear in the list, please make the current Councillor for this district inactive, and try again.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: views + handler_settings: + view: + view_name: roll_call_taxonomy + display_name: unused_districts_filter + arguments: { } +field_type: entity_reference diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_email.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_email.yml new file mode 100644 index 0000000000..fd73cc8a84 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_email.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_email + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.field_email +field_name: field_email +entity_type: taxonomy_term +bundle: vocab_city_councillors +label: Email +description: 'The Councillors business email address.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: email diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_first_name.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_first_name.yml new file mode 100644 index 0000000000..0b00b566e9 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.field.taxonomy_term.vocab_city_councillors.field_first_name.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_first_name + - taxonomy.vocabulary.vocab_city_councillors +id: taxonomy_term.vocab_city_councillors.field_first_name +field_name: field_first_name +entity_type: taxonomy_term +bundle: vocab_city_councillors +label: 'First Name' +description: 'Councillors First Name ' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.node.field_meeting_date.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.node.field_meeting_date.yml new file mode 100644 index 0000000000..c36ad99f83 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.node.field_meeting_date.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - datetime + - node +id: node.field_meeting_date +field_name: field_meeting_date +entity_type: node +type: datetime +settings: + datetime_type: date +module: datetime +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.paragraph.field_councillor.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.paragraph.field_councillor.yml new file mode 100644 index 0000000000..5885f06c89 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.paragraph.field_councillor.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + module: + - dynamic_entity_reference + - paragraphs + - taxonomy +id: paragraph.field_councillor +field_name: field_councillor +entity_type: paragraph +type: dynamic_entity_reference +settings: + exclude_entity_types: false + entity_type_ids: + taxonomy_term: taxonomy_term +module: dynamic_entity_reference +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.paragraph.field_vote.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.paragraph.field_vote.yml new file mode 100644 index 0000000000..5986396bcb --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.paragraph.field_vote.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + module: + - dynamic_entity_reference + - paragraphs + - taxonomy +id: paragraph.field_vote +field_name: field_vote +entity_type: paragraph +type: dynamic_entity_reference +settings: + exclude_entity_types: false + entity_type_ids: + taxonomy_term: taxonomy_term +module: dynamic_entity_reference +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_district.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_district.yml new file mode 100644 index 0000000000..c614486d76 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_district.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_district +field_name: field_district +entity_type: taxonomy_term +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/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_email.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_email.yml new file mode 100644 index 0000000000..d37795b417 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_email.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_email +field_name: field_email +entity_type: taxonomy_term +type: email +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_first_name.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_first_name.yml new file mode 100644 index 0000000000..76f6ed6e42 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/field.storage.taxonomy_term.field_first_name.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_first_name +field_name: field_first_name +entity_type: taxonomy_term +type: string +settings: + max_length: 25 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/language.content_settings.node.roll_call_dockets.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/language.content_settings.node.roll_call_dockets.yml new file mode 100644 index 0000000000..9367bf18e9 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/language.content_settings.node.roll_call_dockets.yml @@ -0,0 +1,10 @@ +langcode: en +status: true +dependencies: + config: + - node.type.roll_call_dockets +id: node.roll_call_dockets +target_entity_type_id: node +target_bundle: roll_call_dockets +default_langcode: site_default +language_alterable: false diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/node.type.roll_call_dockets.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/node.type.roll_call_dockets.yml new file mode 100644 index 0000000000..36dc31cac1 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/node.type.roll_call_dockets.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +name: 'Roll Call Dockets' +type: roll_call_dockets +description: 'RollCall: This is a single record for a Docket which was voted upon in a Council Meeting.' +help: '' +new_revision: true +preview_mode: 1 +display_submitted: true diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/rabbit_hole.behavior_settings.node_type_roll_call_dockets.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/rabbit_hole.behavior_settings.node_type_roll_call_dockets.yml new file mode 100644 index 0000000000..78cf253d25 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/rabbit_hole.behavior_settings.node_type_roll_call_dockets.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + config: + - node.type.roll_call_dockets +id: node_type_roll_call_dockets +entity_type_id: node_type +entity_id: roll_call_dockets +action: display_page +allow_override: 1 +redirect: '' +redirect_code: 301 +redirect_fallback_action: access_denied diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/system.action.user_add_role_action.city_clerk_editor.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/system.action.user_add_role_action.city_clerk_editor.yml new file mode 100644 index 0000000000..8a207ecd43 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/system.action.user_add_role_action.city_clerk_editor.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + config: + - user.role.city_clerk_editor + module: + - user +id: user_add_role_action.city_clerk_editor +label: 'Add the City Clerk Editor role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: city_clerk_editor diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/system.action.user_remove_role_action.city_clerk_editor.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/system.action.user_remove_role_action.city_clerk_editor.yml new file mode 100644 index 0000000000..dff657ce22 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/system.action.user_remove_role_action.city_clerk_editor.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + config: + - user.role.city_clerk_editor + module: + - user +id: user_remove_role_action.city_clerk_editor +label: 'Remove the City Clerk Editor role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: city_clerk_editor diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.city_council_districts.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.city_council_districts.yml new file mode 100644 index 0000000000..3ba7d28d2f --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.city_council_districts.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +name: 'City Council Districts' +vid: city_council_districts +description: 'RollCall: City Council representative Districts' +weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.vocab_city_councillors.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.vocab_city_councillors.yml new file mode 100644 index 0000000000..d49975514f --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.vocab_city_councillors.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +name: 'City Councillors' +vid: vocab_city_councillors +description: 'Roll Call: List of Current and Past City Councillors' +weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.vocab_votes.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.vocab_votes.yml new file mode 100644 index 0000000000..2c1801bee7 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/taxonomy.vocabulary.vocab_votes.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +name: 'Vote Types' +vid: vocab_votes +description: 'RollCall: The types of vote (on a Docket) recorded during a Council Meeting.' +weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/user.role.city_clerk_editor.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/user.role.city_clerk_editor.yml new file mode 100644 index 0000000000..e0b6fae6f3 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/user.role.city_clerk_editor.yml @@ -0,0 +1,77 @@ +langcode: en +status: true +dependencies: + config: + - node.type.public_notice + - node.type.roll_call_dockets + - taxonomy.vocabulary.city_council_districts + - taxonomy.vocabulary.vocab_city_councillors + - workflows.workflow.city_of_boston_workflows + - workflows.workflow.managed_workflow + module: + - content_moderation + - lightning_core + - lightning_scheduler + - moderation_sidebar + - node + - paragraphs_type_permissions + - taxonomy + - toolbar + - workbench +third_party_settings: + lightning_core: + description: 'Role for managing Roll Calls (and Public Notices).' +id: city_clerk_editor +label: 'City Clerk Editor' +weight: 0 +is_admin: null +permissions: + - 'access toolbar' + - 'access workbench' + - 'create paragraph content roll_call_vote' + - 'create paragraph content text_one_column' + - 'create public_notice content' + - 'create roll_call_dockets content' + - 'create terms in city_council_districts' + - 'create terms in vocab_city_councillors' + - 'delete own public_notice content' + - 'delete own roll_call_dockets content' + - 'delete paragraph content roll_call_vote' + - 'delete paragraph content text_one_column' + - 'delete public_notice revisions' + - 'delete roll_call_dockets revisions' + - 'edit any public_notice content' + - 'edit any roll_call_dockets content' + - 'edit terms in city_council_districts' + - 'edit terms in vocab_city_councillors' + - 'revert public_notice revisions' + - 'revert roll_call_dockets revisions' + - 'schedule city_of_boston_workflows transition archived' + - 'schedule city_of_boston_workflows transition draft_from_archived' + - 'schedule city_of_boston_workflows transition draft_from_published' + - 'schedule city_of_boston_workflows transition publish' + - 'schedule city_of_boston_workflows transition publish_new_content' + - 'schedule city_of_boston_workflows transition reject' + - 'schedule city_of_boston_workflows transition submit_for_review' + - 'schedule city_of_boston_workflows transition update_draft' + - 'schedule city_of_boston_workflows transition update_published' + - 'schedule managed_workflow transition create_new_draft' + - 'schedule managed_workflow transition publish' + - 'update paragraph content roll_call_vote' + - 'update paragraph content text_one_column' + - 'use city_of_boston_workflows transition archived' + - 'use city_of_boston_workflows transition draft_from_archived' + - 'use city_of_boston_workflows transition draft_from_published' + - 'use city_of_boston_workflows transition publish' + - 'use city_of_boston_workflows transition publish_new_content' + - 'use city_of_boston_workflows transition reject' + - 'use city_of_boston_workflows transition submit_for_review' + - 'use city_of_boston_workflows transition update_draft' + - 'use city_of_boston_workflows transition update_published' + - 'use managed_workflow transition create_new_draft' + - 'use managed_workflow transition publish' + - 'use moderation sidebar' + - 'view paragraph content roll_call_vote' + - 'view paragraph content text_one_column' + - 'view public_notice revisions' + - 'view roll_call_dockets revisions' diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/views.view.roll_call_taxonomy.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/views.view.roll_call_taxonomy.yml new file mode 100644 index 0000000000..5360843873 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/views.view.roll_call_taxonomy.yml @@ -0,0 +1,375 @@ +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.city_council_districts + content: + - 'taxonomy_term:city_council_districts:e2d2d4cf-313f-4efb-8caf-5e2fc4fb8423' + module: + - entity_reference_revisions + - taxonomy + - user +id: roll_call_taxonomy +label: 'Roll Call Taxonomy' +module: views +description: 'Views for the Roll Call modules' +tag: '' +base_table: taxonomy_term_field_data +base_field: tid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + fields: + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: name + plugin_id: term_name + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + convert_spaces: false + pager: + type: mini + options: + offset: 0 + items_per_page: 10 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: name + plugin_id: standard + order: ASC + expose: + label: '' + field_identifier: '' + exposed: false + arguments: { } + filters: + status: + id: status + table: taxonomy_term_field_data + field: status + entity_type: taxonomy_term + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + vid: + id: vid + table: taxonomy_term_field_data + field: vid + relationship: none + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle + operator: in + value: + city_council_districts: city_council_districts + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + argument: null + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_district_target_id: + id: field_district_target_id + table: taxonomy_term__field_district + field: field_district_target_id + relationship: reverse__taxonomy_term__field_district + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: empty + value: { } + group: 2 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: true + vid: city_council_districts + type: textfield + hierarchy: false + limit: true + error_message: true + field_district_target_id_1: + id: field_district_target_id_1 + table: taxonomy_term__field_district + field: field_district_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: + 41935: 41935 + group: 2 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: city_council_districts + type: select + hierarchy: false + limit: true + error_message: true + filter_groups: + operator: AND + groups: + 1: AND + 2: OR + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: true + replica: false + query_tags: { } + relationships: + reverse__taxonomy_term__field_district: + id: reverse__taxonomy_term__field_district + table: taxonomy_term_field_data + field: reverse__taxonomy_term__field_district + relationship: none + group_type: group + admin_label: field_district + entity_type: taxonomy_term + plugin_id: entity_reverse + required: false + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user + - user.permissions + tags: { } + unused_districts_filter: + id: unused_districts_filter + display_title: 'Unused Districts Filter' + display_plugin: entity_reference + position: 1 + display_options: + pager: + type: none + options: + offset: 0 + style: + type: entity_reference + options: + search_fields: + name: name + row: + type: entity_reference_revisions + options: + default_field_elements: false + inline: + name: name + separator: '-' + hide_empty: true + display_description: '' + display_comment: "Note: \r\n1. This query is modified in node_rollcall_views_query_alter() and \r\n2. the results are filtered in node_rollcall_views_post_execute()" + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user + - user.permissions + tags: { } diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/workflows.workflow.managed_workflow.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/workflows.workflow.managed_workflow.yml new file mode 100644 index 0000000000..38b3eba02f --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/config/install/workflows.workflow.managed_workflow.yml @@ -0,0 +1,61 @@ +langcode: en +status: true +dependencies: + config: + - node.type.bh_project + - node.type.roll_call_dockets + module: + - content_moderation +id: managed_workflow +label: 'Basic Managed Workflow' +type: content_moderation +type_settings: + states: + archived: + label: Archived + weight: 2 + published: false + default_revision: true + draft: + label: Draft + weight: 0 + published: false + default_revision: false + published: + label: Published + weight: 1 + published: true + default_revision: true + transitions: + archived_to_draft: + label: 'Archived to Draft' + from: + - archived + to: draft + weight: 3 + create_new_draft: + label: 'Create New Draft' + from: + - draft + - published + to: draft + weight: 0 + publish: + label: Publish + from: + - draft + - published + to: published + weight: 1 + published_to_archived: + label: 'Published to Archived' + from: + - draft + - published + to: archived + weight: 2 + entity_types: + node: + - bh_project + - roll_call_dockets + default_moderation_state: draft diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/css/roll_call.css b/docroot/modules/custom/bos_content/modules/node_rollcall/css/roll_call.css new file mode 100644 index 0000000000..dd76bb0d25 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/css/roll_call.css @@ -0,0 +1,97 @@ +.paragraph--view-mode--roll-call-search { + background: none !important; +} +.node--view--roll-call-dockets--roll-call-search-block .dr-c .entity-paragraphs-item.paragraph--view-mode--roll-call-search { + margin-bottom: 0; + padding-bottom: 0; +} + +body.logged-in .main { + margin-bottom: 2.1875rem; +} +@media screen and (max-width: 582px) { + .paragraphs-item-bos-node-search div.form-actions.m-l300 { + margin-left: 0; + margin-top: 1rem; + } + .paragraph--type--bos-node-search input[type="text"]{ + max-width: 90%; + } +} +@media screen and (max-width: 360px) { + .paragraph--type--bos-node-search .b-c { + padding-right: 0px; + } +} +@media screen and (max-width: 767px) { + .paragraphs-item-bos-node-search .pager__item--ellipsis + , .paragraphs-item-bos-node-search .pager__item--previous + , .paragraphs-item-bos-node-search .pager__item--next + , .paragraphs-item-bos-node-search .pg-first + , .paragraphs-item-bos-node-search .pg-last + { + display: none; + } + .paragraphs-item-bos-node-search .pager-item:nth-last-child(4) { + border-right: 3px solid #091f2f; + } + .paragraphs-item-bos-node-search .pg-li .pg-li-i--link { + font-size: 75%; + padding:10px 10px; + } + .paragraphs-item-bos-node-search .b-c { + padding-top: 1rem; + } + .paragraphs-item-bos-node-search .b-c h5 { + margin-top: 0; + } + +} +@media screen and (max-width: 980px) { + .paragraph--type--roll-call-vote.g { + flex-flow: row; + width: 100% + } + + .paragraph--type--roll-call-vote .g--8 { + margin-left: 25px !important; + } + + .paragraph--type--roll-call-vote .g--4, + .paragraph--type--roll-call-vote .g--8 { + width: fit-content; + max-width: fit-content; + } + .paragraph--type--roll-call-vote .g--8:before { + content: ""; + border-color: transparent #091f2f; + border-style: solid; + border-width: 5.333px 0 5.333px 7.111px; + border-width: 0.33333333333rem 0 0.33333333333rem 0.44444444444rem; + display: inline-block; + height: 0; + width: 0; + vertical-align: middle; + margin-left: -15.111px; + margin-left: -0.94444444444rem; + margin-right: 8px; + margin-right: 0.5rem; + margin-bottom: 0.15em; + } + .paragraphs-item-bos-node-search .pager__items { + flex-flow: wrap; + } + .paragraphs-item-bos-node-search .pager__item--ellipsis + /*.paragraphs-item-bos-node-search .pager__item--previous*/ + /*, .paragraphs-item-bos-node-search .pager__item--next*/ + /*, .paragraphs-item-bos-node-search .pg-first*/ + /*, .paragraphs-item-bos-node-search .pg-last*/ + { + display: none; + } + .pg-li .pg-li-i--link { + font-size: 90%; + padding:14px 14px; + } + +} diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.info.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.info.yml new file mode 100644 index 0000000000..8954cbacc8 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.info.yml @@ -0,0 +1,62 @@ +name: Roll Call Vote +type: module +description: 'Manages the Roll Call Vote data input, search and display.' +package: City of Boston (content) +core_version_requirement: ^8 || ^9 || ^10 +dependencies: + - bos_content +config_devel: + - taxonomy.vocabulary.city_council_districts + - core.entity_view_display.taxonomy_term.city_council_districts.default + - core.entity_form_display.taxonomy_term.city_council_districts.default + - core.entity_view_display.taxonomy_term.city_council_districts.roll_call_search + - taxonomy.vocabulary.vocab_votes + - field.storage.taxonomy_term.field_first_name + - field.storage.taxonomy_term.field_email + - field.storage.taxonomy_term.field_district + - taxonomy.vocabulary.vocab_city_councillors + - field.field.taxonomy_term.vocab_city_councillors.field_first_name + - field.field.taxonomy_term.vocab_city_councillors.field_email + - field.field.taxonomy_term.vocab_city_councillors.field_district + - core.entity_view_display.taxonomy_term.vocab_city_councillors.default + - core.entity_form_display.taxonomy_term.vocab_city_councillors.default + - core.entity_view_display.taxonomy_term.vocab_city_councillors.roll_call_search + - core.entity_view_mode.taxonomy_term.roll_call_search + - core.entity_view_mode.node.roll_call_search + - node.type.roll_call_dockets + - language.content_settings.node.roll_call_dockets + - field.storage.node.field_meeting_date + - field.field.node.roll_call_dockets.field_meeting_date + - field.field.node.roll_call_dockets.field_components + - core.base_field_override.node.roll_call_dockets.title + - core.base_field_override.node.roll_call_dockets.promote + - rabbit_hole.behavior_settings.node_type_roll_call_dockets + - field.field.node.roll_call_dockets.body + - core.entity_form_display.node.roll_call_dockets.default + - core.entity_view_display.node.roll_call_dockets.roll_call_search + - core.entity_view_display.node.roll_call_dockets.default + - core.entity_view_mode.paragraph.roll_call_search + - paragraphs.paragraphs_type.roll_call_vote + - field.storage.paragraph.field_vote + - field.storage.paragraph.field_councillor + - field.field.paragraph.roll_call_vote.field_councillor + - field.field.paragraph.roll_call_vote.field_vote + - core.entity_view_display.paragraph.roll_call_vote.roll_call_search + - core.entity_view_display.paragraph.roll_call_vote.default + - core.entity_form_display.paragraph.roll_call_vote.default + - system.action.user_remove_role_action.city_clerk_editor + - system.action.user_add_role_action.city_clerk_editor + - field.storage.paragraph.field_node_search + - field.field.paragraph.bos_node_search.field_node_search + - core.entity_view_display.paragraph.bos_node_search.default + - core.entity_form_display.paragraph.bos_node_search.default + - paragraphs.paragraphs_type.bos_node_search + - field.storage.paragraph.field_search_results + - field.field.paragraph.bos_node_search.field_title + - field.field.paragraph.bos_node_search.field_short_title + - field.field.paragraph.bos_node_search.field_search_results + - field.field.paragraph.bos_node_search.field_component_title + - views.view.roll_call_taxonomy + - views.view.roll_call_dockets + - workflows.workflow.managed_workflow + - user.role.city_clerk_editor diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.install b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.install new file mode 100644 index 0000000000..35041093ec --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.install @@ -0,0 +1,39 @@ + ["anonymous", "authenticated"], + 'view own' => ["authenticated"], + ]; + try { + content_access_set_settings($settings, basename(__FILE__, ".install")); + } + catch (ErrorException $e) { + \Drupal::logger('node_rollcall') + ->warning("Could not update content_access settings during module installation."); + } + } + + // Copy icons into expected location. + _bos_core_install_icons(basename(__FILE__, ".install")); +} diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.libraries.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.libraries.yml new file mode 100644 index 0000000000..d16a409b09 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.libraries.yml @@ -0,0 +1,7 @@ +node_rollcall_css: + version: 1.x + css: + theme: + css/roll_call.css: { } + dependencies: + - core/drupalSettings diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.module b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.module new file mode 100644 index 0000000000..29228cd274 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.module @@ -0,0 +1,389 @@ + [ + 'base hook' => 'node', + ], + 'node__roll_call_dockets__roll_call_search' => [ + 'base hook' => 'node', + ], + 'field__node__title__roll_call_dockets' => [ + 'base hook' => 'field', + ], + 'taxonomy_term__vocab_votes' => [ + 'base hook' => 'taxonomy_term', + 'template' => "taxonomy-term--node-roll-call-search", + 'path' => 'modules/custom/bos_content/modules/node_rollcall/templates', + ], + 'taxonomy_term__vocab_city_councillors' => [ + 'base hook' => 'taxonomy_term', + 'template' => "taxonomy-term--node-roll-call-search", + 'path' => 'modules/custom/bos_content/modules/node_rollcall/templates', + ], + 'paragraph__roll_call_vote' => [ + 'base hook' => 'paragraph', + ], + 'paragraph__bos_node_search' => [ + 'base hook' => 'paragraph', + ], + 'viewfield__paragraph__bos_node_search' => [ + 'base hook' => 'viewfield', + ], + 'views_view_unformatted__rollcall_search_block' => [ + 'base hook' => 'views_view_unformatted', + 'template' => "views-view-unformatted--rollcall-search-block", + 'path' => 'modules/custom/bos_content/modules/node_rollcall/templates', + ], + ]; +} + +/** + * + * Implements hook_views_post_execute(). + */ +function node_rollcall_views_post_execute(ViewExecutable $view) { + + if ($view->id() == "roll_call_taxonomy" && ($view->current_display == "unused_districts_filter" || $view->current_display == "unused_districts_filter_new")) { + + // De-dup results from the rollcall district selection filtering query. + // Typicaly this will just remove dupilacted "At Large" entries. + + $unique = []; + + foreach ($view->result as $key => $record) { + if (isset($unique[$record->tid])) { + unset($view->result[$key]); + } + else { + $unique[$record->tid] = []; + } + } + + } + + elseif ($view->id() == "roll_call_dockets" && $view->current_display == "rollcall_search_block") { + // This make sure the search results title is themed correctly when no + // records are found. + $args = $view->args; + + if (!empty($args)) { + $title = $args[2] ?? $args["field_search_results"]; + $orig_view_text = $view->empty["area"]->options["content"]["value"]; + $view->empty["area"]->options["content"]["value"] = " +

{$title}

+

{$orig_view_text}

"; + } + + } + +} + +/** + * This hook manually adds a filter to make sure that the table in the + * relationship considers the published status of the taxomomy in the + * relationship (a LEFT JOIN) + * + * Implements hook_views_query_alter(). + */ +function node_rollcall_views_query_alter(ViewExecutable $view, QueryPluginBase $query) { + if ($view->id() == "roll_call_taxonomy" + && $view->current_display == "unused_districts_filter" + ) { + $join = $query->getTableQueue()["field_district_taxonomy_term_field_data__taxonomy_term__field_active"]["join"]; + + // This filters districts that have published Councillor taxonomy records. + // (so if a Councillor is marked as representing a District, but that + // Councillor is unpublished, then the district will still appear in the + // list) + $join->extra[] = [ + "table" => "field_district_taxonomy_term_field_data__taxonomy_term__field_active", + "field" => "field_active_value", + "value" => 1, + "numeric" => TRUE + ]; + unset($query->where[1]["conditions"][1]); + $query->where[2]["conditions"][] = [ + "field" => "field_district_taxonomy_term_field_data__taxonomy_term__field_active.entity_id", + "value" => NULL, + "operator" => "IS NULL" + ]; + + + // If we are editing a Councillor, allow the District they currently are + // representing to be included in the results. + if ($view->getRequest()->attributes->has("taxonomy_term")) { + $current_councillor = $view->getRequest() + ->attributes->get("taxonomy_term")->id(); + } + elseif (\Drupal::requestStack()->getParentRequest()->query->has("entity_id")) { + $current_councillor = \Drupal::requestStack() + ->getParentRequest()->query->get("entity_id"); + } + elseif (!empty($view->args)) { + // when using the view UI. + $current_councillor = $view->args[0]; + } + if (!empty($current_councillor)) { + $join->extra[] = [ + "field" => "entity_id", + "value" => $current_councillor, + "operator" => "!=", + "numeric" => TRUE + ]; + } + } + elseif ($view->id() == "roll_call_dockets") { + if (!empty($view->getQuery()->where[2]["conditions"]) + && $search_terms = $view->getQuery()->where[2]["conditions"][0]["field"]->conditions()) { + + $search_terms_count = $view->getQuery()->where[2]["conditions"][0]["field"]->count(); + $removes = []; + + foreach($search_terms as $key => $search_term) { + + if (is_numeric($key)) { + + $search_term_raw = trim(trim($search_term["value"], "%")); + + if ((is_numeric($search_term_raw) && intval($search_term_raw) > 100) + or $search_term_raw[0] == "#") { + // Assume this is a docket + if ($search_terms_count > 1) { + // If this is not the only search term, then don't search the + // body as well. + $removes[$key] = $search_term_raw; + } + else { + // Have to have the where clause for the body else fails. + $view->getQuery()->where[2]["conditions"][0]["field"]->conditions()[$key]["value"] = ""; + } + $query->addWhere(2, 'node_field_data.title', trim($search_term_raw, "#"), "="); + } + + elseif ($dt = strtotime($search_term_raw)) { + // Try to find this date as a meeting date as well as body text. + $dt = date("Y-m-d", $dt); + if ($search_terms_count > 1) { + // If this is not the only search term, then don't search the + // body as well. + $removes[$key] = $search_term_raw; + } + else { + // Have to have the where clause for the body else fails. + $view->getQuery()->where[2]["conditions"][0]["field"]->conditions()[$key]["value"] = ""; + } + $query->addWhere(2, 'node__field_meeting_date.field_meeting_date_value', $dt, "="); + } + + } + + } + + if (!empty($removes)) { + // Remove the conditions we have identified as dockets or dates. + $removes = array_reverse($removes); + foreach ($removes as $key => $value) { + unset($view->getQuery()->where[2]["conditions"][0]["field"]->conditions()[$key]); + } + } + + } + } +} + +/** + * Implements hook_paragraph_HOOK_summary_alter(). + */ +function node_rollcall_paragraph_roll_call_vote_summary_alter(array $form_widget, array $para, array $attributes) { + $councillor_name = " Initializing"; + $vote_name = ""; + if (!empty($para["entity"]->get("field_councillor")) && count($para["entity"]->get("field_councillor")) && $councillor = $para["entity"]->get("field_councillor")[0]->target_id) { + $taxonomy = Term::load($councillor); + $councillor_name = $taxonomy->getName(); + } + if (!empty($para["entity"]->get("field_vote")) && count($para["entity"]->get("field_vote")) && $vote = $para["entity"]->get("field_vote")[0]->target_id) { + $taxonomy = Term::load($vote); + $vote_name = $taxonomy->getName(); + } + $markup[] = Markup::create( $councillor_name . " (" . $vote_name . ")"); + return [ + 'attributes' => $attributes, + 'content' => $markup, + ]; +} + +/** + * Implements hook_entity_create(). + */ +function node_rollcall_entity_create(EntityInterface $entity) { + + if (empty($entity->id()) && $entity->bundle() == "roll_call_dockets") { + + $paragraph = \Drupal::entityTypeManager() + ->getStorage("paragraph"); + + foreach (\Drupal::entityTypeManager() + ->getStorage('taxonomy_term') + ->loadTree('vocab_city_councillors') as $term) { + $vote = $paragraph->create([ + "type" => "roll_call_vote", + "field_councillor" => [["target_id"=>$term->tid, "target_type" => "taxonomy_term"]], + ]); + $entity->field_components->appendItem($vote); + } + + return $entity; + + } + +} + +/** + * Implements hook_form_alter(). + */ +function node_rollcall_form_alter(&$form, FormStateInterface $form_state, $form_id) { + + if (in_array($form_id, ["node_roll_call_dockets_form", "node_roll_call_dockets_edit_form"])) { + + foreach ($form["field_components"]["widget"] as $key => &$rollcall) { + if (is_numeric($key)) { + $rollcall["subform"]["#attributes"]["class"][] = "g"; + $rollcall["subform"]["field_councillor"]["#attributes"]["class"][] = "g--6"; + $rollcall["subform"]["field_vote"]["#attributes"]["class"][] = "g--6"; + } + } + + } + + elseif ($form_id == "views_exposed_form") { + + // Align the Search actions buttons nicely. + $form["#attributes"]["class"][] = "g"; + $form["actions"]["#attributes"]["class"][] = "m-l300"; + + } + +} + +/** + * Remove the entity reference notice in dropdown boxes on rollcall. + * + * Implements hook_field_widget_single_element_form_alter(). + */ +function node_rollcall_field_widget_single_element_form_alter(array &$element, \Drupal\Core\Form\FormStateInterface $form_state, array $context) { + + // Target the rollcall subforms. + if ($form_state->getBuildInfo()["form_id"] == "node_roll_call_dockets_edit_form") { + + // Check this is a select dropdown linked to an entity reference. + if (!empty($context["widget"]->getPluginId()) + && $context["widget"]->getPluginId() == "dynamic_entity_reference_options_select" + && !empty($element["#options"])) { + + foreach ($element["#options"] as &$option) { + $option = preg_replace("~([A-Za-z\s])\(.*\)~", "$1", $option); + } + } + + + } +} + +/** + * Implements hook_preprocess_HOOK(). + */ +function node_rollcall_preprocess_paragraph(&$variables) { + if (in_array($variables["paragraph"]->bundle(), ["roll_call_vote", "roll_call_councillor"])) { + return; + } + if (in_array($variables["paragraph"]->bundle(), ["bos_node_search"])){ + + // Add the css overrides. + $variables['#attached']['library'][] = 'node_rollcall/node_rollcall_css'; + + // Add the component fields as args to the view so we can use them when + // themeing/outputting results. + $variables["elements"]["field_node_search"][0]["#content"]["#view"]->args = [ + "field_component_title" => $variables["content"]["field_component_title"]["#items"][0]->value, + "field_title" => $variables["content"]["field_title"]["#items"][0]->value ?? "", + "field_search_results" => $variables["content"]["field_search_results"]["#items"][0]->value ?? "", + "field_short_title" => $variables["content"]["field_short_title"]["#items"][0]->value + ]; + + } +} + +function node_rollcall_preprocess_views_view_unformatted(&$variables) { + + if ($variables["view"]->current_display == "rollcall_search_block") { + + $component_fields = $variables["view"]->args; + + if ($variables["view"]->exposed_data["search"] == "") { + if (!empty($component_fields["field_title"])) { + $variables["title"] = $component_fields["field_title"]; + } + elseif(!empty($component_fields[1])) { + $variables["title"] = $component_fields[1]; + } + } + else { + if (!empty($component_fields["field_search_results"])) { + $variables["title"] = $component_fields["field_search_results"]; + } + elseif(!empty($component_fields[2])) { + $variables["title"] = $component_fields[2]; + } + } + + if (!empty($variables["title"])) { + $variables["title_prefix"] = '
'; + $variables["title_suffix"] = '
'; + $variables["title_attributes"] = ["class" => ['sh-title']]; + } + + } + +} + +/** + * Implements hook_preprocess_HOOK(). + */ +function node_rollcall_preprocess_taxonomy_term(&$variables, $id) { + if ($variables["term"]->bundle() == "vocab_city_councillors") { + $variables["attributes"]["class"][] = "g--8"; + $variables["name"][0]["#context"]["value"] .= ": "; + } + elseif ($variables["term"]->bundle() == "vocab_votes") { + $variables["attributes"]["class"][] = "g--4"; + } +} + +/** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +function node_rollcall_theme_suggestions_taxonomy_term_alter(array &$suggestions, array $variables) { + if ($variables["elements"]["#view_mode"] == "roll_call_search") { + $suggestions[] = "taxonomy_term__node_roll_call_search"; + } +} + +/** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +function node_rollcall_theme_suggestions_views_view_unformatted_alter(array &$suggestions, array $variables, $a) { + if ($variables["view"]->current_display == "rollcall_search_block") { + $suggestions[] = "views_view_unformatted__rollcall_search_block"; + } +} diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.routing.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.routing.yml new file mode 100644 index 0000000000..18084b61dd --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.routing.yml @@ -0,0 +1,7 @@ +node_rollcall.uploader: + path: '/rest/rollcall/upload' + defaults: + _controller: '\Drupal\node_rollcall\Controller\Uploader::upload' + methods: [POST] + requirements: + _access: 'TRUE' diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/roll_call_vote_icon.svg b/docroot/modules/custom/bos_content/modules/node_rollcall/roll_call_vote_icon.svg new file mode 100644 index 0000000000..39e39f2049 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/roll_call_vote_icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/src/Controller/Uploader.php b/docroot/modules/custom/bos_content/modules/node_rollcall/src/Controller/Uploader.php new file mode 100644 index 0000000000..7f688665d1 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/src/Controller/Uploader.php @@ -0,0 +1,430 @@ + [ + "count" => 0, + "created" => 0, + "updated" => 0 + ], + "rollcall_votes" => [ + "count" => 0, + "created" => 0, + "updated" => 0 + ], + "councillors" => [ + "created" => 0, + ] + ]; + + private CacheableJsonResponse $response; + + /** + * Public construct for Request. + */ + public function __construct(RequestStack $request) { + $this->request = $request; + // Populate docket cache to avoid repeated entity loading. + foreach(\Drupal::entityTypeManager() + ->getStorage("node") + ->loadByProperties(["type"=>"roll_call_dockets"]) as $docket) { + if ($dt = strtotime($docket->field_meeting_date->value)) { + $this->dockets[sprintf("%s-%s", $dt, $docket->getTitle())] = $docket->id(); + } + } + // Populate taxomomy cache for Councillor names. + foreach(\Drupal::entityTypeManager() + ->getStorage('taxonomy_term') + ->loadTree('vocab_city_councillors') as $term) { + $this->councillors[$term->name] = ["tid" => $term->tid]; + } + // Populate taxonomy cache for Vote types. + foreach (\Drupal::entityTypeManager() + ->getStorage('taxonomy_term') + ->loadTree('vocab_votes') as $term) { + $this->votes[$term->name] = ["tid" => $term->tid]; + } + + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container): Uploader|static { + // Instantiates this form class. + return new static( + // Load the service required to construct this class. + $container->get('request_stack') + ); + } + + public function upload(): CacheableJsonResponse { + + ini_set('memory_limit', '-1'); + + $output = $this->validateToken(); + + if ($output->getStatusCode() != 200) { + return $output; + } + + // Get the data + if (!$payload = $this->getPayload()) { + return $this->response; + } + + foreach($payload as $seq => $vote) { + + $dt = explode(" ", explode("T", $vote->votedate, 2)[0], 2)[0]; + $key = sprintf("%s-%s", strtotime($dt), $vote->docket); + $subject = str_replace(["\r\n\t", "\r\n", "\n", "\t", "
", "
"], " ", $vote->subject); + + // roll_call_dockets node - Create the node if it does not already exist. + if (array_key_exists($key, $this->dockets)) { + + // This docket is already cached + $id = $this->dockets[$key]; + + // Are we still adding votes to the active docket? + if (empty($this->active_docket) || $this->active_docket->id() != $id) { + $this->saveDocketIfChanged(); + $this->active_docket = $this->loadNode($id); + } + + } + else { + + // This docket is not cached, so we need to create a new docket. + $this->saveDocketIfChanged(); + + // Convert date into a valid string. + $dt = date("Y-m-d", strtotime($dt)); + + $docketobj = [ + "docket" => $vote->docket, + "subject" => trim($subject), + "votedate" => $dt + ]; + + if (!$this->active_docket = $this->createDocket($docketobj)) { + return $this->response; + } + + $id = $this->active_docket->id(); + $this->dockets[$key] = $id; + + } + + // Add this vote to the docket. + $voteobj = [ + "councillor" => ucwords(trim($vote->councillor)), + "vote" => strtolower(trim($vote->vote)) + ]; + if (!$this->createVote($voteobj)) { + return $this->response; + } + + unset($payload[$seq]); + + } + + $this->saveDocketIfChanged(); + + return new CacheableJsonResponse([ + 'status' => 'ok', + 'response' => "Uploaded records", + 'detail' => $this->stats + ], 200); + + } + + /** + * Expect a token to be sent in as part of the querystring, or part of the header. + * @return \Drupal\Core\Cache\CacheableJsonResponse + * + */ + private function validateToken(): CacheableJsonResponse { + + if ($apiKey = $this->request->getCurrentRequest()->headers->get("authorization")) { + $apiKey = explode(" ", $apiKey)[1]; + } + else { + $apiKey = $this->request->getCurrentRequest()->get('api_key'); + } + + $token = \Drupal::config("node_rollcall.settings")->get("auth_token"); + + // \Drupal::configFactory()->getEditable('node_rollcall.settings')->set("auth_token", "abc")->save(); + + if ($apiKey !== $token || $apiKey == NULL) { + return new CacheableJsonResponse([ + 'status' => 'error', + 'response' => 'Could not authenticate', + ], 401); + } + + return new CacheableJsonResponse([], 200, [], false); + + } + + private function getPayload(): array|bool { + + // Get the content of the API request. + $payload = $this->request->getCurrentRequest()->getContent(); + + // Make an object out of the expected JSON string. + try { + $payload = json_decode($payload); + if (empty($payload)) { + throw new \Exception(); + } + } catch (\Exception $e) { + $this->response = new CacheableJsonResponse([ + 'status' => 'error', + 'response' => "Empty payload, or JSON error in payload", + ], 400); + return FALSE; + } + + // If the content is a fileref, then load the file + if (!empty($payload->file)) { + if (file_exists($payload->file)) { + $payload = file_get_contents($payload->file); + try { + $payload = json_decode($payload); + if (empty($payload)) { + throw new \Exception(); + } + } catch (\Exception $e) { + $this->response = new CacheableJsonResponse([ + 'status' => 'error', + 'response' => "Empty file, or JSON error in file", + ], 400); + return FALSE; + } + } + else { + $this->response = new CacheableJsonResponse([ + 'status' => 'error', + 'response' => "File cannot be found, or permissions block loading.", + ], 400); + return FALSE; + } + } + + // Return the payload. + return $payload; + + } + + private function createDocket($docket): EntityInterface|bool { + + $this->stats["dockets"]["count"]++; + + if ($node = $this->createNode()) { + + $node->setTitle($docket["docket"]) + ->set("body", $docket["subject"]) + ->set("status", 1) + ->set("field_meeting_date", $docket["votedate"]) // should be string + ->set("field_components", []) // Reset votes set during create. + ->save(); + + return $node; + + } + + $this->response = new CacheableJsonResponse([ + 'status' => 'error', + 'response' => "Could not create new Docket {$docket["docket"]}", + ], 400); + return FALSE; + + } + + private function createVote($vote): bool { + + self::fixVote($vote); + $new_para = FALSE; + + $this->stats["rollcall_votes"]["count"]++; + + // Get or create the councillor taxonomy term entity. + if ($councillor_tid = $this->councillors[$vote["councillor"]]) { + $councillor_term = Term::load($councillor_tid["tid"]); + } + else { + + // Need to create this councillor. + $councillor_term = Term::create([ + "vid" => "vocab_city_councillors", + "status" => 1, + "name" => $vote["councillor"] + ]); + $councillor_term->set("field_district", NULL); + $councillor_term->set("field_active", FALSE); // So we don't have conflicting councillors. + $councillor_term->set("field_first_name", " "); + $councillor_term->save(); + $this->stats["councillors"]["created"]++; + + // Add to cache. + $this->councillors[$vote["councillor"]] = ["tid" => $councillor_term->id()]; + + $councillor_tid = $this->councillors[$vote["councillor"]]; + + } + + // Get the vote taxonomy term entity. + if ($vote_tid = $this->votes[$vote["vote"]]) { + $vote_term = Term::load($vote_tid["tid"]); + } + else { + // We can't create votes that don't exist. + $vote_term = NULL; + } + + // Get or create the paragraph for this vote + if (!$para = $this->loadParagraph($this->active_docket->id(), $councillor_tid["tid"])) { + + // There is no existing paragraph for this councillor for this docket + $para = $this->createParagraph(); + $para->field_councillor->appendItem($councillor_term); + if (!empty($vote_term)) { + $para->field_vote->appendItem($vote_term); + } + $new_para = TRUE; + + } + elseif (!empty($vote_term) && $para->field_vote->target_id != $vote_tid["tid"]) { + + // Paragraph already exists with a vote for this councillor but the vote + // has changed, so update it. + $para->field_vote = []; + $para->field_vote->appendItem($vote_term); + $this->stats["rollcall_votes"]["updated"]++; + + } + + // Save the paragraph. + try { + $para->save(); + } + catch (\Exception $e) { + $txt = $new_para ? "create new" : "update"; + $this->response = new CacheableJsonResponse([ + 'status' => 'error', + 'response' => "Could not {$txt} vote record for {$vote->councillor} on docket {$vote->docket}", + ], 400); + return FALSE; + } + + if ($new_para) { + // Append the new paragraph to the node (Rollcall Docket) + $this->active_docket->field_components->appendItem($para); + $this->active_docket_changed = TRUE; + } + + $vote_term = NULL; + $councillor_term = NULL; + $para = NULL; + + return TRUE; + } + + private function saveDocket(): void { +// $this->active_docket->save(); + $this->active_docket->set("moderation_state", "published"); + $this->active_docket->save(); + $this->active_docket_changed = FALSE; + } + + private function saveDocketIfChanged(): void { + if (!empty($this->active_docket) && $this->active_docket_changed) { + $this->saveDocket(); + } + } + + private function loadParagraph(int $docketid, int $councillorid): EntityInterface|bool { + if ($para = \Drupal::entityTypeManager() + ->getStorage("paragraph") + ->loadByProperties([ + "type" => "roll_call_vote", + "parent_id" => $docketid, // roll_call_docket ID + "field_councillor" => $councillorid, // Councillor TID + ])) { + return reset($para); + } + return FALSE; + } + + private function createParagraph(): EntityInterface { + $this->stats["rollcall_votes"]["created"]++; + return \Drupal::entityTypeManager() + ->getStorage("paragraph") + ->create([ + "type" => "roll_call_vote", + ]); + } + + private function loadNode(int $id): EntityInterface { + $this->stats["dockets"]["count"]++; + return \Drupal::entityTypeManager() + ->getStorage("node") + ->load($id); + } + + private function createNode(): EntityInterface { + + $this->stats["dockets"]["created"]++; + + return \Drupal::entityTypeManager() + ->getStorage("node") + ->create([ + "type" => "roll_call_dockets", + ]); + } + + private static function fixVote(array &$vote): array { + // Maps legacy votes to new fuller description. + $vote_map = [ + "n" => "No", + "y" => "Yes", + "np" => "Not Present", + "p" => "Present", + "no" => "No", + "yes" => "Yes", + "not present" => "Not Present", + "notpresent" => "Not Present", + "present" => "Present", + ]; + $vote["vote"] = $vote_map[trim($vote["vote"], " \t\n\r\0\x0B.")]; + return $vote; + + } + +} diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/src/Plugin/views/style/RollcallExportSerializer.php b/docroot/modules/custom/bos_content/modules/node_rollcall/src/Plugin/views/style/RollcallExportSerializer.php new file mode 100644 index 0000000000..1284f58560 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/src/Plugin/views/style/RollcallExportSerializer.php @@ -0,0 +1,59 @@ +id] = [ + "id" => $feed[0]->id, + "docket" => $feed[0]->docket, + "date" => $feed[0]->date, + "subject" => $feed[0]->subject, + "votes" => [] + ]; + + // Reformat the feed output. + foreach ($feed as $vote) { + + if (!array_key_exists($vote->id, $output)) { + $output[$vote->id] = [ + "id" => $vote->id, + "docket" => $vote->docket, + "date" => $vote->date, + "subject" => $vote->subject, + "votes" => [], + ]; + } + + $output[$vote->id]["votes"][$vote->councillor] = $vote->vote; + + } + } + + $output = array_values($output); + return json_encode($output); + } + +} diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/templates/field--node--title--roll-call-dockets.html.twig b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/field--node--title--roll-call-dockets.html.twig new file mode 100644 index 0000000000..278961376c --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/field--node--title--roll-call-dockets.html.twig @@ -0,0 +1,27 @@ +{# +/** + * @file + * Theme override for the node title field. + * + * This is an override of field.html.twig for the node title field. See that + * template for documentation about its details and overrides. + * + * Available variables: + * - attributes: HTML attributes for the containing span element. + * - items: List of all the field items. Each item contains: + * - attributes: List of HTML attributes for each item. + * - content: The field item content. + * - entity_type: The entity type to which the field belongs. + * - field_name: The name of the field. + * - field_type: The type of the field. + * - label_display: The display settings for the label. + * + * @see field.html.twig + */ +#} +

+ Docket: + {% for item in items %} + {{ item.content }} + {% endfor %} +

diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/templates/node--roll-call-dockets--roll-call-search.html.twig b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/node--roll-call-dockets--roll-call-search.html.twig new file mode 100644 index 0000000000..9fc3f6d0f3 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/node--roll-call-dockets--roll-call-search.html.twig @@ -0,0 +1,95 @@ +{# +/** + * @file + * Theme override to display a node. + * + * Available variables: + * - node: The node entity with limited access to object properties and methods. + * Only method names starting with "get", "has", or "is" and a few common + * methods such as "id", "label", and "bundle" are available. For example: + * - node.getCreatedTime() will return the node creation timestamp. + * - node.hasField('field_example') returns TRUE if the node bundle includes + * field_example. (This does not indicate the presence of a value in this + * field.) + * - node.isPublished() will return whether the node is published or not. + * Calling other methods, such as node.delete(), will result in an exception. + * See \Drupal\node\Entity\Node for a full list of public properties and + * methods for the node object. + * - label: (optional) The title of the node. + * - content: All node items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - author_picture: The node author user entity, rendered using the "compact" + * view mode. + * - metadata: Metadata for this node. + * - date: (optional) Themed creation date field. + * - author_name: (optional) Themed author name field. + * - url: Direct URL of the current node. + * - display_submitted: Whether submission information should be displayed. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - node: The current template type (also known as a "theming hook"). + * - node--type-[type]: The current node type. For example, if the node is an + * "Article" it would result in "node--type-article". Note that the machine + * name will often be in a short form of the human readable label. + * - node--view-mode-[view_mode]: The View Mode of the node; for example, a + * teaser would result in: "node--view-mode-teaser", and + * full: "node--view-mode-full". + * The following are controlled through the node publishing options. + * - node--promoted: Appears on nodes promoted to the front page. + * - node--sticky: Appears on nodes ordered above other non-sticky nodes in + * teaser listings. + * - node--unpublished: Appears on unpublished nodes visible only to site + * admins. + * - title_attributes: Same as attributes, except applied to the main title + * tag that appears in the template. + * - content_attributes: Same as attributes, except applied to the main + * content tag that appears in the template. + * - author_attributes: Same as attributes, except applied to the author of + * the node tag that appears in the template. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - view_mode: View mode; for example, "teaser" or "full". + * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. + * - page: Flag for the full page state. Will be true if view_mode is 'full'. + * - readmore: Flag for more state. Will be true if the teaser content of the + * node cannot hold the main body content. + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_node() + * + */ +#} + +
+ + + + +
+
+
+
Description:
+ {{ content.body }} +
+
+
+
Votes:
+ {{ content.field_components }} +
+
+
+ +
diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/templates/node--roll-call-dockets.html.twig b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/node--roll-call-dockets.html.twig new file mode 100644 index 0000000000..9cd25d1829 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/node--roll-call-dockets.html.twig @@ -0,0 +1,93 @@ +{# +/** + * @file + * Theme override to display a node. + * + * Available variables: + * - node: The node entity with limited access to object properties and methods. + * Only method names starting with "get", "has", or "is" and a few common + * methods such as "id", "label", and "bundle" are available. For example: + * - node.getCreatedTime() will return the node creation timestamp. + * - node.hasField('field_example') returns TRUE if the node bundle includes + * field_example. (This does not indicate the presence of a value in this + * field.) + * - node.isPublished() will return whether the node is published or not. + * Calling other methods, such as node.delete(), will result in an exception. + * See \Drupal\node\Entity\Node for a full list of public properties and + * methods for the node object. + * - label: (optional) The title of the node. + * - content: All node items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - author_picture: The node author user entity, rendered using the "compact" + * view mode. + * - metadata: Metadata for this node. + * - date: (optional) Themed creation date field. + * - author_name: (optional) Themed author name field. + * - url: Direct URL of the current node. + * - display_submitted: Whether submission information should be displayed. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - node: The current template type (also known as a "theming hook"). + * - node--type-[type]: The current node type. For example, if the node is an + * "Article" it would result in "node--type-article". Note that the machine + * name will often be in a short form of the human readable label. + * - node--view-mode-[view_mode]: The View Mode of the node; for example, a + * teaser would result in: "node--view-mode-teaser", and + * full: "node--view-mode-full". + * The following are controlled through the node publishing options. + * - node--promoted: Appears on nodes promoted to the front page. + * - node--sticky: Appears on nodes ordered above other non-sticky nodes in + * teaser listings. + * - node--unpublished: Appears on unpublished nodes visible only to site + * admins. + * - title_attributes: Same as attributes, except applied to the main title + * tag that appears in the template. + * - content_attributes: Same as attributes, except applied to the main + * content tag that appears in the template. + * - author_attributes: Same as attributes, except applied to the author of + * the node tag that appears in the template. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - view_mode: View mode; for example, "teaser" or "full". + * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. + * - page: Flag for the full page state. Will be true if view_mode is 'full'. + * - readmore: Flag for more state. Will be true if the teaser content of the + * node cannot hold the main body content. + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_node() + * + */ +#} + + + {{ title_prefix }} + {{ label }} + {{ title_suffix }} + + + {{ content }} + + {% if display_submitted %} +
+ {{ author_picture }} + + Input by {{ author_name }} on {{ node.created[0].value|date }} + + {% if node.created[0].value != node.changed[0].value %} +
+   Updates have occurred - Check Revisions history for details. +
+ {% endif %} +
+ {% endif %} + + diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/templates/paragraph--bos-node-search.html.twig b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/paragraph--bos-node-search.html.twig new file mode 100644 index 0000000000..f038686fe4 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/paragraph--bos-node-search.html.twig @@ -0,0 +1,68 @@ +{# +/** + * @file + * Default theme implementation to display a paragraph. + * + * Available variables: + * - paragraph: Full paragraph entity. + * Only method names starting with "get", "has", or "is" and a few common + * methods such as "id", "label", and "bundle" are available. For example: + * - paragraph.getCreatedTime() will return the paragraph creation timestamp. + * - paragraph.id(): The paragraph ID. + * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text". + * - paragraph.getOwnerId(): The user ID of the paragraph author. + * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties + * and methods for the paragraph object. + * - content: All paragraph items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - paragraphs: The current template type (also known as a "theming hook"). + * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an + * "Image" it would result in "paragraphs--type--image". Note that the machine + * name will often be in a short form of the human readable label. + * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a + * preview would result in: "paragraphs--view-mode--preview", and + * default: "paragraphs--view-mode--default". + * - view_mode: View mode; for example, "preview" or "full". + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_paragraph() + * + * @ingroup themeable + */ +#} +{% + set classes = [ + 'paragraph', + 'paragraph--type--' ~ paragraph.bundle|clean_class, + view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class, + not paragraph.isPublished() ? 'paragraph--unpublished' + ] +%} +{% block paragraph %} + + + + {% block content %} + +
+
+
{{ content.field_component_title.0["#context"]["value"] }}
+
+ {{ content.field_node_search }} +
+
+
+ + {% endblock %} + + + +{% endblock paragraph %} diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/templates/paragraph--roll-call-vote.html.twig b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/paragraph--roll-call-vote.html.twig new file mode 100644 index 0000000000..598cbada3b --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/paragraph--roll-call-vote.html.twig @@ -0,0 +1,63 @@ +{# +/** + * @file + * Default theme implementation to display a paragraph. + * + * Available variables: + * - paragraph: Full paragraph entity. + * Only method names starting with "get", "has", or "is" and a few common + * methods such as "id", "label", and "bundle" are available. For example: + * - paragraph.getCreatedTime() will return the paragraph creation timestamp. + * - paragraph.id(): The paragraph ID. + * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text". + * - paragraph.getOwnerId(): The user ID of the paragraph author. + * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties + * and methods for the paragraph object. + * - content: All paragraph items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - paragraphs: The current template type (also known as a "theming hook"). + * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an + * "Image" it would result in "paragraphs--type--image". Note that the machine + * name will often be in a short form of the human readable label. + * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a + * preview would result in: "paragraphs--view-mode--preview", and + * default: "paragraphs--view-mode--default". + * - view_mode: View mode; for example, "preview" or "full". + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_paragraph() + * + * @ingroup themeable + */ +#} +{% + set classes = [ + 'g', + 'paragraph', + 'paragraph--type--' ~ paragraph.bundle|clean_class, + view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class, + not paragraph.isPublished() ? 'paragraph--unpublished' + ] +%} + +{% block paragraph %} + + + + {% block content %} + + {{ content|without("contextual_links") }} + + {% endblock %} + + + +{% endblock paragraph %} diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/templates/taxonomy-term--node-roll-call-search.html.twig b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/taxonomy-term--node-roll-call-search.html.twig new file mode 100644 index 0000000000..acd20e1a36 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/taxonomy-term--node-roll-call-search.html.twig @@ -0,0 +1,30 @@ +{# +/** + * @file + * Theme override to display a taxonomy term. + * + * Available variables: + * - url: URL of the current term. + * - name: Name of the current term. + * - content: Items for the content of the term (fields and description). + * Use 'content' to print them all, or print a subset such as + * 'content.description'. Use the following code to exclude the + * printing of a given child element: + * @code + * {{ content|without('description') }} + * @endcode + * - attributes: HTML attributes for the wrapper. + * - page: Flag for the full page state. + * - term: The taxonomy term entity, including: + * - id: The ID of the taxonomy term. + * - bundle: Machine name of the current vocabulary. + * - view_mode: View mode, e.g. 'full', 'teaser', etc. + * + * @see template_preprocess_taxonomy_term() + */ +#} + + {{ title_prefix }} + {{ name[0]["#context"]["value"] }} + {{ title_suffix }} + diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/templates/viewfield--paragraph--bos-node-search.html.twig b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/viewfield--paragraph--bos-node-search.html.twig new file mode 100644 index 0000000000..c2704f0493 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/viewfield--paragraph--bos-node-search.html.twig @@ -0,0 +1,69 @@ +{# +/** + * @file + * Default theme implementation for a viewfield + * + * To override output, copy the "viewfield.html.twig" from the templates directory + * to your theme's directory and customize it, just like customizing other + * Drupal templates such as page.html.twig or node.html.twig. + * + * Instead of overriding the theming for all fields, you can also just override + * theming for a subset of fields using + * @link themeable Theme hook suggestions. @endlink For example, + * here are some theme hook suggestions that can be used for a field_foo field + * on an article node type: + * - viewfield--node--field-foo--article.html.twig + * - viewfield--node--field-foo.html.twig + * - viewfield--node--article.html.twig + * - viewfield--field-foo.html.twig + * - viewfield--text-with-summary.html.twig + * - viewfield.html.twig + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - label_hidden: Whether to show the field label or not. + * - title_attributes: HTML attributes for the title. + * - label: The label for the field. + * - multiple: TRUE if a field can contain multiple items. + * - items: List of all the viewfield items. + * - entity: The entity to which the field belongs. + * - entity_type: The entity type to which the field belongs. + * - bundle: The entity bundle to which the field belongs. + * - field_name: The name of the field. + * - label_display: The display settings for the label. + * + * + * @see template_preprocess_viewfield() + */ +#} +{% + set classes = [ + 'field', + 'field--name-' ~ field_name|clean_class, + 'field--type-' ~ field_type|clean_class, + 'field--label-' ~ label_display, + ] +%} +{% + set title_classes = [ + 'field__label', + label_display == 'visually_hidden' ? 'visually-hidden', + ] +%} + + + {{ title_prefix }} + {% if not label_hidden and label %} + {{ label }} + {% endif %} + {{ title_suffix }} + {% if multiple %} +
+ {% endif %} + {% for item in items %} + {{ item }} + {% endfor %} + {% if multiple %} +
+ {% endif %} + diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/templates/views-view-unformatted--rollcall-search-block.html.twig b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/views-view-unformatted--rollcall-search-block.html.twig new file mode 100644 index 0000000000..d9ce7c2c33 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/templates/views-view-unformatted--rollcall-search-block.html.twig @@ -0,0 +1,42 @@ +{# +/** + * @file + * Theme override to display a view of unformatted rows. + * + * Available variables: + * - title: The title of this group of rows. May be empty. + * - rows: A list of the view's row items. + * - attributes: The row's HTML attributes. + * - content: The row's content. + * - view: The view object. + * - default_row_class: A flag indicating whether default classes should be + * used on rows. + * + * @see template_preprocess_views_view_unformatted() + */ +#} + +{% if title %} + + {% if title_prefix %} + {{ title_prefix|raw }} + {% endif %} + +

{{ title }}

+ + {% if title_suffix %} + {{ title_suffix|raw }} + {% endif %} + +{% endif %} + +{% for row in rows %} + {% + set row_classes = [ + default_row_class ? 'views-row', + ] + %} + + {{- row.content -}} + +{% endfor %} diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_long.fdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_long.fdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_long.fdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_long.fdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_long.json b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_long.json similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_long.json rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_long.json diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_long.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_long.pdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_long.pdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_long.pdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_short.fdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_short.fdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_short.fdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_short.fdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_short.json b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_short.json similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_short.json rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_short.json diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_short.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_short.pdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Abatement_Application_short.pdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Abatement_Application_short.pdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Personal_Exemption.fdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Personal_Exemption.fdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Personal_Exemption.fdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Personal_Exemption.fdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Personal_Exemption.json b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Personal_Exemption.json similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Personal_Exemption.json rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Personal_Exemption.json diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Personal_Exemption.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Personal_Exemption.pdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Personal_Exemption.pdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Personal_Exemption.pdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Personal_Exemption_filled.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Personal_Exemption_filled.pdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Personal_Exemption_filled.pdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Personal_Exemption_filled.pdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Residential_Exemption.fdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Residential_Exemption.fdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Residential_Exemption.fdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Residential_Exemption.fdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Residential_Exemption.json b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Residential_Exemption.json similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Residential_Exemption.json rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Residential_Exemption.json diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Residential_Exemption.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Residential_Exemption.pdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Residential_Exemption.pdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Residential_Exemption.pdf diff --git a/docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Residential_Exemption_filled.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Residential_Exemption_filled.pdf similarity index 100% rename from docroot/modules/custom/bos_components/modules/bos_assessing/pdf/FY2023/FY2023_Residential_Exemption_filled.pdf rename to docroot/sites/default/files/pdf_templates/pdf/FY2023/FY2023_Residential_Exemption_filled.pdf diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.fdf b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.fdf new file mode 100644 index 0000000000..1725574d32 --- /dev/null +++ b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.fdf @@ -0,0 +1,4536 @@ +%FDF-1.2 +%���� +1 0 obj +<< +/FDF +<< +/Fields [ +<< +/T (Ext Siding Improvement Year) +/V () +>> +<< +/T (Kitchen 3) +/V () +>> +<< +/T (Kitchen 2) +/V () +>> +<< +/T (Ductless AC Feature) +/V / +>> +<< +/T (Kitchen 1) +/V () +>> +<< +/T (Kitchen 6) +/V () +>> +<< +/T (Kitchen 5) +/V () +>> +<< +/T (Kitchen 4) +/V () +>> +<< +/T (Comps Subparcel 3) +/V () +>> +<< +/T (Electric Meter 5) +/V () +>> +<< +/T (Electric Meter 4) +/V () +>> +<< +/T (Electric Meter 3) +/V () +>> +<< +/T (Electric Meter 2) +/V () +>> +<< +/T (Electric Meter 9) +/V () +>> +<< +/T (Electric Meter 8) +/V () +>> +<< +/T (Electric Meter 7) +/V () +>> +<< +/T (Electric Meter 6) +/V () +>> +<< +/T (Occupancy) +/V () +>> +<< +/T (GRAND TOTAL 3) +/V () +>> +<< +/T (GRAND TOTAL 2) +/V () +>> +<< +/T (Subsequent owner) +/V / +>> +<< +/T (GRAND TOTAL 1) +/V () +>> +<< +/T (Repair Payroll 1) +/V () +>> +<< +/T (Electric Meter 1) +/V () +>> +<< +/T (Repair Payroll 2) +/V () +>> +<< +/T (Repair Payroll 3) +/V () +>> +<< +/T (Repair Payroll 4) +/V () +>> +<< +/T (GRAND TOTAL 4) +/V () +>> +<< +/T (Rentable Area 13) +/V () +>> +<< +/T (Rentable Area 14) +/V () +>> +<< +/T (Rentable Area 15) +/V () +>> +<< +/T (Rentable Area 10) +/V () +>> +<< +/T (Rentable Area 11) +/V () +>> +<< +/T (Rentable Area 12) +/V () +>> +<< +/T (Tenant Rooms 1) +/V () +>> +<< +/T (Tenant Rooms 5) +/V () +>> +<< +/T (Tenant Rooms 4) +/V () +>> +<< +/T (Tenant Rooms 3) +/V () +>> +<< +/T (Tenant Rooms 2) +/V () +>> +<< +/T (Tenant Rooms 9) +/V () +>> +<< +/T (Tenant Rooms 8) +/V () +>> +<< +/T (Tenant Rooms 7) +/V () +>> +<< +/T (Tenant Rooms 6) +/V () +>> +<< +/T (Parcel condo 4) +/V () +>> +<< +/T (Parcel condo 3) +/V () +>> +<< +/T (Parcel condo 2) +/V () +>> +<< +/T (Parcel condo 1) +/V () +>> +<< +/T (Foundation Condition) +/V () +>> +<< +/T (Insurance_2) +/V () +>> +<< +/T (Tenant Names 15) +/V () +>> +<< +/T (Tenant Names 13) +/V () +>> +<< +/T (Condo Parking Rented) +/V / +>> +<< +/T (Tenant Names 14) +/V () +>> +<< +/T (Is Facility Leased) +/V / +>> +<< +/T (Parking) +/V () +>> +<< +/T (Capital Improvement Start 1) +/Kids [ +<< +/T (11) +/V () +>> +<< +/T (12) +/V () +>> +<< +/T (13) +/V () +>> +<< +/T (14) +/V () +>> +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>> +<< +/T (6) +/V () +>> +<< +/T (7) +/V () +>> +<< +/T (8) +/V () +>> +<< +/T (9) +/V () +>> +<< +/T (10) +/V () +>>] +>> +<< +/T (Owners Comments) +/V () +>> +<< +/T (Discount Rate) +/V () +>> +<< +/T (Refinance Appraisal Value) +/V () +>> +<< +/T (Bath Improvement) +/V () +>> +<< +/T (Tenant Names 11) +/V () +>> +<< +/T (Tenant Names 12) +/V () +>> +<< +/T (Tenant Names 10) +/V () +>> +<< +/T (Laundry Income per year) +/V () +>> +<< +/T (Email) +/V () +>> +<< +/T (Mortgage amount) +/V () +>> +<< +/T (Payroll 3) +/V () +>> +<< +/T (Payroll 4) +/V () +>> +<< +/T (Payroll 1) +/V () +>> +<< +/T (Payroll 2) +/V () +>> +<< +/T (Condo Other Rooms) +/V () +>> +<< +/T (Utilities Total) +/V () +>> +<< +/T (Condo Parking Spaces) +/V () +>> +<< +/T (TOTAL FIXED EXPENSES) +/V () +>> +<< +/T (Windows Condition) +/V () +>> +<< +/T (Cell_2) +/V () +>> +<< +/T (Condo Central AC) +/V / +>> +<< +/T (Ext Siding Improvement Cost) +/V () +>> +<< +/T (Condo Floor Sub Basement) +/V / +>> +<< +/T (Interior Improvement) +/V () +>> +<< +/T (Management Charges) +/V () +>> +<< +/T (Comps) +/V / +>> +<< +/T (Condo Orient Corner) +/V / +>> +<< +/T (Commissions 1) +/V () +>> +<< +/T (Commissions 2) +/V () +>> +<< +/T (Commissions 3) +/V () +>> +<< +/T (Condo Floor Garden) +/V / +>> +<< +/T (Commissions 4) +/V () +>> +<< +/T (Lease Buyouts 1) +/V () +>> +<< +/T (Lease Buyouts 2) +/V () +>> +<< +/T (Lease Buyouts 3) +/V () +>> +<< +/T (Lease Buyouts 4) +/V () +>> +<< +/T (Condo Parking Address) +/V () +>> +<< +/T (Tenant Rentable Area 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Space Heater Heating) +/V / +>> +<< +/T (Recent sale date) +/V () +>> +<< +/T (Street Name) +/V (%street_name%) +>> +<< +/T (Total Vacant Area 11) +/V () +>> +<< +/T (Total Vacant Area 12) +/V () +>> +<< +/T (Lease Rate per Month) +/V () +>> +<< +/T (Total Vacant Area 10) +/V () +>> +<< +/T (Capital Improvement Spent 1) +/Kids [ +<< +/T (11) +/V () +>> +<< +/T (12) +/V () +>> +<< +/T (13) +/V () +>> +<< +/T (14) +/V () +>> +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>> +<< +/T (6) +/V () +>> +<< +/T (7) +/V () +>> +<< +/T (8) +/V () +>> +<< +/T (9) +/V () +>> +<< +/T (10) +/V () +>>] +>> +<< +/T (Management Contract Other) +/V () +>> +<< +/T (Lease Term 1) +/V () +>> +<< +/T (Interior Improvement Year) +/V () +>> +<< +/T (Rental Rate 10) +/V () +>> +<< +/T (Lease Term 5) +/V () +>> +<< +/T (Rental Rate 11) +/V () +>> +<< +/T (Lease Term 4) +/V () +>> +<< +/T (Rental Rate 12) +/V () +>> +<< +/T (Lease Term 3) +/V () +>> +<< +/T (Rental Rate 13) +/V () +>> +<< +/T (Lease Term 2) +/V () +>> +<< +/T (Rental Rate 14) +/V () +>> +<< +/T (Lease Term 9) +/V () +>> +<< +/T (Rental Rate 15) +/V () +>> +<< +/T (Lease Term 8) +/V () +>> +<< +/T (Lease Term 7) +/V () +>> +<< +/T (Lease Term 6) +/V () +>> +<< +/T (Other Improvement Cost) +/V () +>> +<< +/T (Condo Reno Other) +/V () +>> +<< +/T (Overall Exterior Condition) +/V / +>> +<< +/T (Condo Balcony SF) +/V () +>> +<< +/T (Owners Opinion) +/V () +>> +<< +/T (Tenant with obligation to pay more than 50 of tax) +/V / +>> +<< +/T (Number of Spaces) +/V () +>> +<< +/T (Two family) +/V / +>> +<< +/T (Plumbing Improvement Cost) +/V () +>> +<< +/T (Electric Reimbursement Income) +/V () +>> +<< +/T (New Tenant or Renewal) +/V () +>> +<< +/T (Repair Plumbing 3) +/V () +>> +<< +/T (Repair Plumbing 4) +/V () +>> +<< +/T (Repair Plumbing 1) +/V () +>> +<< +/T (Repair Plumbing 2) +/V () +>> +<< +/T (Applicants Name Last Name First) +/V () +>> +<< +/T (Rate per Space) +/V () +>> +<< +/T (Tenant Floors 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Tenant Rent 5) +/V () +>> +<< +/T (Tenant Rent 6) +/V () +>> +<< +/T (Tenant Rent 7) +/V () +>> +<< +/T (Tenant Rent 8) +/V () +>> +<< +/T (Tenant Rent 1) +/V () +>> +<< +/T (Tenant Rent 2) +/V () +>> +<< +/T (Tenant Rent 3) +/V () +>> +<< +/T (Tenant Rent 4) +/V () +>> +<< +/T (Tenant Rent 9) +/V () +>> +<< +/T (Date of Lease) +/V () +>> +<< +/T (Ground Rent_2) +/V () +>> +<< +/T (Cost of Food) +/V () +>> +<< +/T (Management 1) +/V () +>> +<< +/T (Management 2) +/V () +>> +<< +/T (Condo View) +/V / +>> +<< +/T (Management 3) +/V () +>> +<< +/T (Management 4) +/V () +>> +<< +/T (Forced Air) +/V / +>> +<< +/T (Inside Broker or Outside Broker 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Tenant Parking Rent 1) +/V () +>> +<< +/T (Floor Level 7) +/V () +>> +<< +/T (Management Contract Date) +/V () +>> +<< +/T (Tenant Parking Rent 2) +/V () +>> +<< +/T (Floor Level 6) +/V () +>> +<< +/T (Franchise Fee_2) +/V () +>> +<< +/T (Tenant Parking Rent 3) +/V () +>> +<< +/T (Floor Level 5) +/V () +>> +<< +/T (Tenant Parking Rent 4) +/V () +>> +<< +/T (Floor Level 4) +/V () +>> +<< +/T (Floor Level 3) +/V () +>> +<< +/T (Floor Level 2) +/V () +>> +<< +/T (of Parking Spaces) +/V () +>> +<< +/T (Floor Level 1) +/V () +>> +<< +/T (New Tenant or Renewal 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Floor Level 9) +/V () +>> +<< +/T (Floor Level 8) +/V () +>> +<< +/T (Condo Fireplace) +/V / +>> +<< +/T (Electric Meter 11) +/V () +>> +<< +/T (Contact Email) +/V () +>> +<< +/T (Electric Meter 12) +/V () +>> +<< +/T (Electric Meter 10) +/V () +>> +<< +/T (Electric Meter 15) +/V () +>> +<< +/T (Electric Meter 13) +/V () +>> +<< +/T (Electric Meter 14) +/V () +>> +<< +/T (Average Daily Rate) +/V () +>> +<< +/T (Parcel main) +/V () +>> +<< +/T (Total Halfbaths 5) +/V () +>> +<< +/T (Total Halfbaths 6) +/V () +>> +<< +/T (Total Halfbaths 3) +/V () +>> +<< +/T (Total Halfbaths 4) +/V () +>> +<< +/T (Total Halfbaths 1) +/V () +>> +<< +/T (Total Halfbaths 2) +/V () +>> +<< +/T (Mailing Address Number and Street Name_2) +/V () +>> +<< +/T (Interior Improvement Cost) +/V () +>> +<< +/T (Use of Space 15) +/V () +>> +<< +/T (Use of Space 14) +/V () +>> +<< +/T (Use of Space 13) +/V () +>> +<< +/T (Use of Space 12) +/V () +>> +<< +/T (Free Rent 2) +/V () +>> +<< +/T (Use of Space 11) +/V () +>> +<< +/T (Free Rent 1) +/V () +>> +<< +/T (Use of Space 10) +/V () +>> +<< +/T (Email_2) +/V () +>> +<< +/T (Condo Reno Baths Year) +/V () +>> +<< +/T (Free Rent 4) +/V () +>> +<< +/T (Free Rent 3) +/V () +>> +<< +/T (Term Rate of Owner Financing 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Total Bedrooms 2) +/V () +>> +<< +/T (Condo Other Kitchens) +/V () +>> +<< +/T (Total Bedrooms 1) +/V () +>> +<< +/T (Phone) +/V () +>> +<< +/T (Total Bedrooms 4) +/V () +>> +<< +/T (Total Bedrooms 3) +/V () +>> +<< +/T (Total Bedrooms 6) +/V () +>> +<< +/T (Total Bedrooms 5) +/V () +>> +<< +/T (Tenant Fit Out Allowance 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Other Improvement Year) +/V () +>> +<< +/T (Comp Parcel 2) +/V () +>> +<< +/T (Comp Parcel 3) +/V () +>> +<< +/T (Comp Parcel 1) +/V () +>> +<< +/T (Comps Subparcel 2) +/V () +>> +<< +/T (Comps Subparcel 1) +/V () +>> +<< +/T (Representative) +/V () +>> +<< +/T (Capital Improvement End 1) +/Kids [ +<< +/T (11) +/V () +>> +<< +/T (12) +/V () +>> +<< +/T (13) +/V () +>> +<< +/T (14) +/V () +>> +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>> +<< +/T (6) +/V () +>> +<< +/T (7) +/V () +>> +<< +/T (8) +/V () +>> +<< +/T (9) +/V () +>> +<< +/T (10) +/V () +>>] +>> +<< +/T (Other amenities) +/V () +>> +<< +/T (Recent sale armslength) +/V / +>> +<< +/T (Condo Other Design) +/V / +>> +<< +/T (Return on Personal Property) +/V () +>> +<< +/T (Number of Rooms) +/V () +>> +<< +/T (Condo Parking Easement) +/V / +>> +<< +/T (Other Reason Detail) +/V () +>> +<< +/T (Advertising 1) +/V () +>> +<< +/T (Advertising 3) +/V () +>> +<< +/T (Advertising 2) +/V () +>> +<< +/T (City_2) +/V () +>> +<< +/T (Advertising 4) +/V () +>> +<< +/T (Roof Improvement Cost) +/V () +>> +<< +/T (Tenant Start 2) +/V () +>> +<< +/T (Tenant Start 3) +/V () +>> +<< +/T (Tenant Start 1) +/V () +>> +<< +/T (Rentable Area to be Fit Out 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Phone_2) +/V () +>> +<< +/T (Additions Improvement Cost) +/V () +>> +<< +/T (Miscellaneous Cleaning 3) +/V () +>> +<< +/T (Miscellaneous Cleaning 4) +/V () +>> +<< +/T (Miscellaneous Cleaning 1) +/V () +>> +<< +/T (Miscellaneous Cleaning 2) +/V () +>> +<< +/T (Central AC Feature) +/V / +>> +<< +/T (TOTAL REVENUE) +/V () +>> +<< +/T (Baseboard Heating) +/V / +>> +<< +/T (Utilites Electric 1) +/V () +>> +<< +/T (Condo Living Rooms) +/V () +>> +<< +/T (Comps Address 2) +/V () +>> +<< +/T (Comps Address 3) +/V () +>> +<< +/T (Consideration detail) +/V () +>> +<< +/T (Comps Address 1) +/V () +>> +<< +/T (Utilities Total 1) +/V () +>> +<< +/T (Trash 1) +/V () +>> +<< +/T (Trash 2) +/V () +>> +<< +/T (Trash 3) +/V () +>> +<< +/T (Trash 4) +/V () +>> +<< +/T (Beverage) +/V () +>> +<< +/T (Signature of ApplicantAssessed Owner) +/V () +>> +<< +/T (Other Type Parking Rate) +/V () +>> +<< +/T (Additions Improvement Year) +/V () +>> +<< +/T (Condo Floor 2nd) +/V / +>> +<< +/T (Plumbing Improvement) +/V () +>> +<< +/T (Condo Eat-in Kitchens) +/V () +>> +<< +/T (Condo Number Floors) +/V () +>> +<< +/T (Tenant Start 8) +/V () +>> +<< +/T (Tenant Start 9) +/V () +>> +<< +/T (Condo Orient Middle) +/V / +>> +<< +/T (Tenant Start 6) +/V () +>> +<< +/T (Tenant Start 7) +/V () +>> +<< +/T (Tenant Start 4) +/V () +>> +<< +/T (Tenant Start 5) +/V () +>> +<< +/T (Retail Shops) +/V () +>> +<< +/T (Contact Address) +/V () +>> +<< +/T (Legal 3) +/V () +>> +<< +/T (Legal 4) +/V () +>> +<< +/T (Legal 1) +/V () +>> +<< +/T (Legal 2) +/V () +>> +<< +/T (Owner Occupied) +/V () +>> +<< +/T (Condo Orient Rear) +/V / +>> +<< +/T (Kitchen Improvement) +/V () +>> +<< +/T (Owner Financing 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Refinance Date) +/V () +>> +<< +/T (Replacement Reserves 3) +/V () +>> +<< +/T (Replacement Reserves 4) +/V () +>> +<< +/T (Replacement Reserves 1) +/V () +>> +<< +/T (Replacement Reserves 2) +/V () +>> +<< +/T (Building Insurance 4) +/V () +>> +<< +/T (Building Insurance 3) +/V () +>> +<< +/T (Building Insurance 2) +/V () +>> +<< +/T (ZIP) +/V (%location_zip_code%) +>> +<< +/T (Building Insurance 1) +/V () +>> +<< +/T (Electrical Improvement Year) +/V () +>> +<< +/T (Condo Storage SF) +/V () +>> +<< +/T (Billboard Size) +/V () +>> +<< +/T (Department Expense) +/V () +>> +<< +/T (Gross/Net Basis 6) +/V () +>> +<< +/T (Gross/Net Basis 7) +/V () +>> +<< +/T (Gross/Net Basis 4) +/V () +>> +<< +/T (Gross/Net Basis 5) +/V () +>> +<< +/T (Gross/Net Basis 2) +/V () +>> +<< +/T (Gross/Net Basis 3) +/V () +>> +<< +/T (Total Potential Rent 12) +/V () +>> +<< +/T (Floor Level 10) +/V () +>> +<< +/T (Total Potential Rent 11) +/V () +>> +<< +/T (Condo Other Design Detail) +/V () +>> +<< +/T (Gross/Net Basis 1) +/V () +>> +<< +/T (Total Potential Rent 10) +/V () +>> +<< +/T (Gross/Net Basis 8) +/V () +>> +<< +/T (Gross/Net Basis 9) +/V () +>> +<< +/T (Floor Level 12) +/V () +>> +<< +/T (Floor Level 11) +/V () +>> +<< +/T (Floor Level 14) +/V () +>> +<< +/T (Floor Level 13) +/V () +>> +<< +/T (Floor Level 15) +/V () +>> +<< +/T (Other Income Detail) +/V () +>> +<< +/T (Zip Code) +/V (%location_zip_code%) +>> +<< +/T (Utilities Water 3) +/V () +>> +<< +/T (Utilities Water 4) +/V () +>> +<< +/T (Condo Unfinished area SF) +/V () +>> +<< +/T (Three family) +/V / +>> +<< +/T (Utilities Water 1) +/V () +>> +<< +/T (Utilities Water 2) +/V () +>> +<< +/T (Lease Start Date 11) +/V () +>> +<< +/T (Lease Start Date 12) +/V () +>> +<< +/T (Electrical Improvement Cost) +/V () +>> +<< +/T (Lease Start Date 10) +/V () +>> +<< +/T (Condo Bedrooms) +/V () +>> +<< +/T (Utilities Tenant Electric 4) +/V () +>> +<< +/T (Lease Term 10) +/V () +>> +<< +/T (Utilities Tenant Electric 3) +/V () +>> +<< +/T (Lease Term 11) +/V () +>> +<< +/T (Free Rent Term Rental Rate 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Lease Term 12) +/V () +>> +<< +/T (Condo Rent Monthly) +/V () +>> +<< +/T (Lease Term 13) +/V () +>> +<< +/T (Lease Term 14) +/V () +>> +<< +/T (Lease Term 15) +/V () +>> +<< +/T (Utilities Tenant Electric 2) +/V () +>> +<< +/T (Utilities Tenant Electric 1) +/V () +>> +<< +/T (Utilities Total 4) +/V () +>> +<< +/T (Utilities Total 2) +/V () +>> +<< +/T (Lease Start Date 15) +/V () +>> +<< +/T (Owner sign date) +/V () +>> +<< +/T (Early Bird Special Spaces) +/V () +>> +<< +/T (Lease Start Date 13) +/V () +>> +<< +/T (Condo Parking Spaces indoor) +/V () +>> +<< +/T (Lease Start Date 14) +/V () +>> +<< +/T (Overval) +/V / +>> +<< +/T (Comp Sale 1) +/V () +>> +<< +/T (Comp Sale 2) +/V () +>> +<< +/T (Regular Rate) +/V () +>> +<< +/T (Comp Sale 3) +/V () +>> +<< +/T (Condo Parking Rent) +/V () +>> +<< +/T (Total Finished 3) +/V () +>> +<< +/T (Total Finished 2) +/V () +>> +<< +/T (Total Finished 5) +/V () +>> +<< +/T (Condo Other Amenities) +/V / +>> +<< +/T (Total Finished 4) +/V () +>> +<< +/T (Total Finished 6) +/V () +>> +<< +/T (Transient Rate) +/V () +>> +<< +/T (Tenant 6) +/V () +>> +<< +/T (TOTAL UNALLOCATED EXPENSES) +/V () +>> +<< +/T (Lease Revenue) +/V () +>> +<< +/T (Other Describe Monthly) +/V () +>> +<< +/T (Roof Improvement) +/V () +>> +<< +/T (Billboard Income) +/V () +>> +<< +/T (Other Type Parking Spaces) +/V () +>> +<< +/T (Condo Tenant) +/V () +>> +<< +/T (Tenant 5) +/V () +>> +<< +/T (Tenant 4) +/V () +>> +<< +/T (Tenant 3) +/V () +>> +<< +/T (Condo Other Amenities Detail) +/V () +>> +<< +/T (Tenant 2) +/V () +>> +<< +/T (Tenant 1) +/V () +>> +<< +/T (Refinance Amount) +/V () +>> +<< +/T (Utilities Electric 2) +/V () +>> +<< +/T (Total Finished 1) +/V () +>> +<< +/T (Utilities Electric 3) +/V () +>> +<< +/T (Utilities Electric 4) +/V () +>> +<< +/T (Condo Ductless AC) +/V / +>> +<< +/T (Contact City) +/V () +>> +<< +/T (Comp Date 3) +/V () +>> +<< +/T (Comp Date 2) +/V () +>> +<< +/T (Comp Date 1) +/V () +>> +<< +/T (Roof Improvement Year) +/V () +>> +<< +/T (Tenant Parking Indoor 4) +/V () +>> +<< +/T (Security 3) +/V () +>> +<< +/T (Tenant Parking Indoor 3) +/V () +>> +<< +/T (Security 2) +/V () +>> +<< +/T (Security 1) +/V () +>> +<< +/T (Tenant Parking Indoor 2) +/V () +>> +<< +/T (Tenant Parking Indoor 1) +/V () +>> +<< +/T (Security 4) +/V () +>> +<< +/T (Condo Parking Deeded Value) +/V () +>> +<< +/T (Administrative Payroll 2) +/V () +>> +<< +/T (Administrative Payroll 1) +/V () +>> +<< +/T (Administrative Payroll 4) +/V () +>> +<< +/T (Administrative Payroll 3) +/V () +>> +<< +/T (Other Improvement) +/V () +>> +<< +/T (Tenant Names 4) +/V () +>> +<< +/T (Tenant Names 5) +/V () +>> +<< +/T (Tenant Names 2) +/V () +>> +<< +/T (Tenant Names 3) +/V () +>> +<< +/T (Capital Improvement Cost 1) +/Kids [ +<< +/T (11) +/V () +>> +<< +/T (12) +/V () +>> +<< +/T (13) +/V () +>> +<< +/T (14) +/V () +>> +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>> +<< +/T (6) +/V () +>> +<< +/T (7) +/V () +>> +<< +/T (8) +/V () +>> +<< +/T (9) +/V () +>> +<< +/T (10) +/V () +>>] +>> +<< +/T (Tenant Names 1) +/V () +>> +<< +/T (Tenant Names 8) +/V () +>> +<< +/T (Tenant Names 9) +/V () +>> +<< +/T (Tenant Names 6) +/V () +>> +<< +/T (Tenant Names 7) +/V () +>> +<< +/T (Electric Reimbursement 3) +/V () +>> +<< +/T (Electric Reimbursement 14) +/V () +>> +<< +/T (Electric Reimbursement 4) +/V () +>> +<< +/T (Electric Reimbursement 15) +/V () +>> +<< +/T (Electric Reimbursement 5) +/V () +>> +<< +/T (Electric Reimbursement 12) +/V () +>> +<< +/T (Electric Reimbursement 6) +/V () +>> +<< +/T (Electric Reimbursement 13) +/V () +>> +<< +/T (Electric Reimbursement 7) +/V () +>> +<< +/T (Electric Reimbursement 10) +/V () +>> +<< +/T (Electric Reimbursement 8) +/V () +>> +<< +/T (Electric Reimbursement 11) +/V () +>> +<< +/T (Electric Reimbursement 9) +/V () +>> +<< +/T (Tenant Parking Tandem 2) +/V () +>> +<< +/T (Tenant Parking Tandem 1) +/V () +>> +<< +/T (Tenant Parking Tandem 4) +/V () +>> +<< +/T (Tenant Parking Tandem 3) +/V () +>> +<< +/T (Electric Reimbursement 1) +/V () +>> +<< +/T (Electric Reimbursement 2) +/V () +>> +<< +/T (TI Loan Repayable as Additional Rent 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Landuse Wrong) +/V / +>> +<< +/T (Tenant Heat 10) +/V () +>> +<< +/T (Other Describe Rate) +/V () +>> +<< +/T (Tenant Heat 12) +/V () +>> +<< +/T (Tenant Heat 11) +/V () +>> +<< +/T (Tenant Heat 14) +/V () +>> +<< +/T (Extraordinary Expenditures Detail 1) +/V () +>> +<< +/T (Tenant Heat 13) +/V () +>> +<< +/T (Extraordinary Expenditures Detail 2) +/V () +>> +<< +/T (Tenant Heat 16) +/V () +>> +<< +/T (Extraordinary Expenditures Detail 3) +/V () +>> +<< +/T (Condo Floor Basement) +/V / +>> +<< +/T (Tenant Heat 15) +/V () +>> +<< +/T (Extraordinary Expenditures Detail 4) +/V () +>> +<< +/T (Radiators Heating) +/V / +>> +<< +/T (Condo Basement) +/V / +>> +<< +/T (Condo Parking Spaces outdoor) +/V () +>> +<< +/T (Tenant Heat 21) +/V () +>> +<< +/T (Tenant Heat 20) +/V () +>> +<< +/T (Condo Orient Front) +/V / +>> +<< +/T (Condo Other Rooms Detail) +/V () +>> +<< +/T (Tenant Heat 23) +/V () +>> +<< +/T (Tenant Heat 22) +/V () +>> +<< +/T (Tenant Heat 25) +/V () +>> +<< +/T (Tenant Heat 24) +/V () +>> +<< +/T (Tenant Heat 18) +/V () +>> +<< +/T (Tenant Heat 17) +/V () +>> +<< +/T (Tenant Heat 19) +/V () +>> +<< +/T (Applicant) +/V () +>> +<< +/T (Other Describe Monthly Rate) +/V () +>> +<< +/T (Valuation) +/V (%total_value%) +>> +<< +/T (Type of Lease Gross) +/V / +>> +<< +/T (Total Potential Rent 3) +/V () +>> +<< +/T (Total Potential Rent 4) +/V () +>> +<< +/T (Total Potential Rent 1) +/V () +>> +<< +/T (Condo Reno Other Year) +/V () +>> +<< +/T (Total Potential Rent 2) +/V () +>> +<< +/T (Total Potential Rent 7) +/V () +>> +<< +/T (Total Potential Rent 8) +/V () +>> +<< +/T (Commission Cost per SF 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Total Potential Rent 5) +/V () +>> +<< +/T (Total Potential Rent 6) +/V () +>> +<< +/T (Total Potential Rent 9) +/V () +>> +<< +/T (Electrical Improvement) +/V () +>> +<< +/T (Meeting Rooms) +/V () +>> +<< +/T (Fixed Expenses Total) +/V () +>> +<< +/T (Management Contract Operator) +/V () +>> +<< +/T (Condo Loft) +/V / +>> +<< +/T (Condo Parking Spaces Onsite) +/V / +>> +<< +/T (Condo Parking Spaces Offsite) +/V / +>> +<< +/T (Condo Half Baths) +/V () +>> +<< +/T (Is management contract) +/V / +>> +<< +/T (Number of antennas) +/V () +>> +<< +/T (Rent Start Date 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Tenant Rent 16) +/V () +>> +<< +/T (Tenant Rent 17) +/V () +>> +<< +/T (Condo Parking Deeded) +/V / +>> +<< +/T (Tenant Rent 14) +/V () +>> +<< +/T (Tenant Rent 15) +/V () +>> +<< +/T (Tenant Rent 12) +/V () +>> +<< +/T (Tenant Rent 13) +/V () +>> +<< +/T (Tenant Rent 10) +/V () +>> +<< +/T (Tenant Rent 11) +/V () +>> +<< +/T (Comp Address 2) +/V () +>> +<< +/T (Heating Condition) +/V () +>> +<< +/T (Comp Address 1) +/V () +>> +<< +/T (Comp Address 3) +/V () +>> +<< +/T (Tenant Rent 18) +/V () +>> +<< +/T (Tenant Rent 19) +/V () +>> +<< +/T (Bath Improvement Cost) +/V () +>> +<< +/T (Tenant Incentive 10) +/V () +>> +<< +/T (Condo Orient Full Floor) +/V / +>> +<< +/T (Tenant Incentive 11) +/V () +>> +<< +/T (Tenant Incentive 14) +/V () +>> +<< +/T (Tenant Incentive 15) +/V () +>> +<< +/T (Tenant Incentive 12) +/V () +>> +<< +/T (Tenant Incentive 13) +/V () +>> +<< +/T (Tenant Incentive 18) +/V () +>> +<< +/T (Tenant Incentive 19) +/V () +>> +<< +/T (Tenant Incentive 16) +/V () +>> +<< +/T (Tenant Incentive 17) +/V () +>> +<< +/T (Other Reason) +/V / +>> +<< +/T (Lenders Appraisal) +/V () +>> +<< +/T (Leasing Expenses Total 4) +/V () +>> +<< +/T (Leasing Expenses Total 3) +/V () +>> +<< +/T (Leasing Expenses Total 2) +/V () +>> +<< +/T (Leasing Expenses Total 1) +/V () +>> +<< +/T (Ext Siding Improvement) +/V () +>> +<< +/T (Condo Storage) +/V / +>> +<< +/T (Type of Lease Net) +/V / +>> +<< +/T (Other Describe Spaces) +/V () +>> +<< +/T (Floor Level to be Fit Out 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Tenant Heat 8) +/V () +>> +<< +/T (Total Rent Collected 3) +/V () +>> +<< +/T (Tenant Heat 9) +/V () +>> +<< +/T (Total Rent Collected 2) +/V () +>> +<< +/T (Tenant Incentive 2) +/V () +>> +<< +/T (Tenant Heat 6) +/V () +>> +<< +/T (Total Rent Collected 5) +/V () +>> +<< +/T (Tenant Incentive 1) +/V () +>> +<< +/T (Tenant Heat 7) +/V () +>> +<< +/T (Total Rent Collected 4) +/V () +>> +<< +/T (Tenant Heat 4) +/V () +>> +<< +/T (Total Rent Collected 7) +/V () +>> +<< +/T (General Services 4) +/V () +>> +<< +/T (Tenant Heat 5) +/V () +>> +<< +/T (Total Rent Collected 6) +/V () +>> +<< +/T (Tenant Heat 2) +/V () +>> +<< +/T (Total Rent Collected 9) +/V () +>> +<< +/T (General Services 2) +/V () +>> +<< +/T (Tenant Heat 3) +/V () +>> +<< +/T (Total Rent Collected 8) +/V () +>> +<< +/T (General Services 3) +/V () +>> +<< +/T (Tenant Incentive 8) +/V () +>> +<< +/T (Repair Electrical 1) +/V () +>> +<< +/T (Tenant Heat 1) +/V () +>> +<< +/T (Tenant Incentive 7) +/V () +>> +<< +/T (General Services 1) +/V () +>> +<< +/T (Repair Electrical 2) +/V () +>> +<< +/T (Repair Electrical 3) +/V () +>> +<< +/T (Tenant Incentive 9) +/V () +>> +<< +/T (Repair Electrical 4) +/V () +>> +<< +/T (Tenant Incentive 4) +/V () +>> +<< +/T (Total Rent Collected 12) +/V () +>> +<< +/T (Tenant Incentive 3) +/V () +>> +<< +/T (Total Rent Collected 11) +/V () +>> +<< +/T (Tenant Incentive 6) +/V () +>> +<< +/T (Total Rent Collected 10) +/V () +>> +<< +/T (Tenant Incentive 5) +/V () +>> +<< +/T (Tenant Start 18) +/V () +>> +<< +/T (Tenant Start 17) +/V () +>> +<< +/T (Tenant Start 16) +/V () +>> +<< +/T (Tenant Start 15) +/V () +>> +<< +/T (Contact name) +/V () +>> +<< +/T (Tenant Start 19) +/V () +>> +<< +/T (Tenant Start 10) +/V () +>> +<< +/T (Tenant Start 14) +/V () +>> +<< +/T (Tenant Start 13) +/V () +>> +<< +/T (Tenant Start 12) +/V () +>> +<< +/T (Total Rent Collected 1) +/V () +>> +<< +/T (Tenant Start 11) +/V () +>> +<< +/T (Gross/Net Basis 10) +/V () +>> +<< +/T (Comps Ward 1) +/V () +>> +<< +/T (Comps Ward 3) +/V () +>> +<< +/T (Comps Ward 2) +/V () +>> +<< +/T (Tenant Incentive 21) +/V () +>> +<< +/T (Tenant Incentive 22) +/V () +>> +<< +/T (Tenant Incentive 20) +/V () +>> +<< +/T (Tenant Incentive 25) +/V () +>> +<< +/T (Tenant Incentive 23) +/V () +>> +<< +/T (Tenant Incentive 24) +/V () +>> +<< +/T (Utilities Separate) +/V / +>> +<< +/T (Bath Improvement Year) +/V () +>> +<< +/T (Tenant Start 21) +/V () +>> +<< +/T (Tenant Start 20) +/V () +>> +<< +/T (Gross/Net Basis 15) +/V () +>> +<< +/T (Tenant Start 25) +/V () +>> +<< +/T (Gross/Net Basis 13) +/V () +>> +<< +/T (Tenant Start 24) +/V () +>> +<< +/T (Gross/Net Basis 14) +/V () +>> +<< +/T (Tenant Start 23) +/V () +>> +<< +/T (Gross/Net Basis 11) +/V () +>> +<< +/T (Tenant Start 22) +/V () +>> +<< +/T (Gross/Net Basis 12) +/V () +>> +<< +/T (TOTAL OTHER EXPENSES_2) +/V () +>> +<< +/T (Total Rooms 6) +/V () +>> +<< +/T (of working fireplaces) +/V () +>> +<< +/T (Total Rooms 4) +/V () +>> +<< +/T (Total Rooms 5) +/V () +>> +<< +/T (Miscellaneous Expenses_2) +/V () +>> +<< +/T (Year Built) +/V () +>> +<< +/T (Tenant Name 7) +/V () +>> +<< +/T (Repair Supplies 3) +/V () +>> +<< +/T (Tenant Name 8) +/V () +>> +<< +/T (Repair Supplies 2) +/V () +>> +<< +/T (Tenant Name 9) +/V () +>> +<< +/T (Repair Supplies 1) +/V () +>> +<< +/T (Repair Supplies 4) +/V () +>> +<< +/T (Total Rooms 2) +/V () +>> +<< +/T (Total Rooms 3) +/V () +>> +<< +/T (Tenant Name 1) +/V () +>> +<< +/T (Water Condenser Income) +/V () +>> +<< +/T (Total Rooms 1) +/V () +>> +<< +/T (Tenant Name 2) +/V () +>> +<< +/T (Tenant Name 3) +/V () +>> +<< +/T (Tenant Name 4) +/V () +>> +<< +/T (Condo Overall condition) +/V () +>> +<< +/T (Tenant Name 5) +/V () +>> +<< +/T (Tenant Name 6) +/V () +>> +<< +/T (Roof deck Feature) +/V / +>> +<< +/T (Rentable Area 9) +/V () +>> +<< +/T (Rentable Area 8) +/V () +>> +<< +/T (Rentable Area 7) +/V () +>> +<< +/T (Signature of f Representative) +/V () +>> +<< +/T (Rentable Area 6) +/V () +>> +<< +/T (Use of Space 1) +/V () +>> +<< +/T (Energy_2) +/V () +>> +<< +/T (COMBINED OWNER TENANT TOTAL) +/V () +>> +<< +/T (Statutory Exemption) +/V / +>> +<< +/T (Rentable Area 5) +/V () +>> +<< +/T (Use of Space 9) +/V () +>> +<< +/T (Rentable Area 4) +/V () +>> +<< +/T (Use of Space 8) +/V () +>> +<< +/T (TOTAL DEPARTMENTAL EXPENSES) +/V () +>> +<< +/T (Rentable Area 3) +/V () +>> +<< +/T (Use of Space 7) +/V () +>> +<< +/T (Rentable Area 2) +/V () +>> +<< +/T (Use of Space 6) +/V () +>> +<< +/T (Rentable Area 1) +/V () +>> +<< +/T (Use of Space 5) +/V () +>> +<< +/T (Use of Space 4) +/V () +>> +<< +/T (Use of Space 3) +/V () +>> +<< +/T (Use of Space 2) +/V () +>> +<< +/T (Heated 3) +/V () +>> +<< +/T (Heated 4) +/V () +>> +<< +/T (Utilities Steam 1) +/V () +>> +<< +/T (Heated 1) +/V () +>> +<< +/T (Heated 2) +/V () +>> +<< +/T (Utilities Steam 4) +/V () +>> +<< +/T (Heated 5) +/V () +>> +<< +/T (Utilities Steam 2) +/V () +>> +<< +/T (Heated 6) +/V () +>> +<< +/T (Electrical Condition) +/V () +>> +<< +/T (Utilities Steam 3) +/V () +>> +<< +/T (Lenders Appraisal Date) +/V () +>> +<< +/T (Condo Reno Baths) +/V () +>> +<< +/T (Windows Improvement Year) +/V () +>> +<< +/T (toggle_1) +/V / +>> +<< +/T (Tenant Parking 1) +/V () +>> +<< +/T (Tenant Parking 2) +/V () +>> +<< +/T (Tenant Parking 3) +/V () +>> +<< +/T (Tenant Parking 4) +/V () +>> +<< +/T (Parking_2) +/V () +>> +<< +/T (Tenant Rent 20) +/V () +>> +<< +/T (Contracts 1) +/V () +>> +<< +/T (Contracts 2) +/V () +>> +<< +/T (Contracts 3) +/V () +>> +<< +/T (Contracts 4) +/V () +>> +<< +/T (Tenant New 10) +/V () +>> +<< +/T (Tax Clause Income) +/V () +>> +<< +/T (Tenant New 11) +/V () +>> +<< +/T (Tenant Rent 25) +/V () +>> +<< +/T (Applicant if not assessed owner) +/V () +>> +<< +/T (Tenant New 12) +/V () +>> +<< +/T (Tenant Rent 23) +/V () +>> +<< +/T (Tenant Rent 24) +/V () +>> +<< +/T (Tenant Rent 21) +/V () +>> +<< +/T (Tenant Rent 22) +/V () +>> +<< +/T (Tenant New 17) +/V () +>> +<< +/T (Tenant New 18) +/V () +>> +<< +/T (Tenant New 19) +/V () +>> +<< +/T (Tenant New 13) +/V () +>> +<< +/T (Cell) +/V () +>> +<< +/T (Tenant New 14) +/V () +>> +<< +/T (Tenant New 15) +/V () +>> +<< +/T (Tenant New 16) +/V () +>> +<< +/T (City) +/V () +>> +<< +/T (Recent sale) +/V / +>> +<< +/T (Condo Floor Other) +/V / +>> +<< +/T (Date mmddyy) +/V () +>> +<< +/T (Tenant New 20) +/V () +>> +<< +/T (Tenant New 21) +/V () +>> +<< +/T (Assessed Owner the owner on 202211) +/V (%owner%) +>> +<< +/T (Tenant New 22) +/V () +>> +<< +/T (Tenant New 23) +/V () +>> +<< +/T (Other Income_4) +/V () +>> +<< +/T (AdministrationGeneral_2) +/V () +>> +<< +/T (Tenant New 24) +/V () +>> +<< +/T (Tenant New 25) +/V () +>> +<< +/T (Telephone) +/V () +>> +<< +/T (Classification Correct) +/V () +>> +<< +/T (Marketing) +/V () +>> +<< +/T (Condo Reno Other Cost) +/V () +>> +<< +/T (Percentage Rent) +/V () +>> +<< +/T (Condo Number Floors Other) +/V () +>> +<< +/T (Windows Improvement Cost) +/V () +>> +<< +/T (Utilities Gas 4) +/V () +>> +<< +/T (Utilities Gas 3) +/V () +>> +<< +/T (Utilities Gas 2) +/V () +>> +<< +/T (Utilities Gas 1) +/V () +>> +<< +/T (Tenant Lease Start Date 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Refinance Appraisal) +/V / +>> +<< +/T (Owner) +/V (%owner%) +>> +<< +/T (Street no) +/V (%streetno%) +>> +<< +/T (Utilities Oil 4) +/V () +>> +<< +/T (Utilities Oil 1) +/V () +>> +<< +/T (Utilities Oil 2) +/V () +>> +<< +/T (Utilities Oil 3) +/V () +>> +<< +/T (Total Full Valuation) +/V (%total_value%) +>> +<< +/T (Early Bird Special Rate) +/V () +>> +<< +/T (Total Baths 3) +/V () +>> +<< +/T (Total Baths 2) +/V () +>> +<< +/T (Total Baths 1) +/V () +>> +<< +/T (Supplies 1) +/V () +>> +<< +/T (Total Baths 6) +/V () +>> +<< +/T (Supplies 2) +/V () +>> +<< +/T (Total Baths 5) +/V () +>> +<< +/T (Total Baths 4) +/V () +>> +<< +/T (Condo Reno Kitchen Cost) +/V () +>> +<< +/T (Total Vacant Area 1) +/V () +>> +<< +/T (Total Vacant Area 3) +/V () +>> +<< +/T (Tenant Rooms 10) +/V () +>> +<< +/T (Total Vacant Area 2) +/V () +>> +<< +/T (One family) +/V / +>> +<< +/T (Tenant Rooms 11) +/V () +>> +<< +/T (Total Vacant Area 5) +/V () +>> +<< +/T (Tenant Rooms 12) +/V () +>> +<< +/T (Total Vacant Area 4) +/V () +>> +<< +/T (Total Vacant Area 7) +/V () +>> +<< +/T (Total Vacant Area 6) +/V () +>> +<< +/T (Total Vacant Area 9) +/V () +>> +<< +/T (Total Vacant Area 8) +/V () +>> +<< +/T (Contact Phone) +/V () +>> +<< +/T (Plumbing Condition) +/V () +>> +<< +/T (Discount Spaces) +/V () +>> +<< +/T (Supplies 3) +/V () +>> +<< +/T (Supplies 4) +/V () +>> +<< +/T (Condo Private elevator) +/V / +>> +<< +/T (Tenant Name 11) +/V () +>> +<< +/T (Tenant Name 10) +/V () +>> +<< +/T (Condo Finished Area) +/V () +>> +<< +/T (Owner signature) +/V () +>> +<< +/T (Tenant Name 17) +/V () +>> +<< +/T (Tenant Name 16) +/V () +>> +<< +/T (Tenant Name 19) +/V () +>> +<< +/T (Tenant Name 18) +/V () +>> +<< +/T (Tenant Name 13) +/V () +>> +<< +/T (Tenant Free 25) +/V () +>> +<< +/T (Tenant Name 12) +/V () +>> +<< +/T (Tenant Free 24) +/V () +>> +<< +/T (Tenant Name 15) +/V () +>> +<< +/T (Tenant Name 14) +/V () +>> +<< +/T (Transient Spaces) +/V () +>> +<< +/T (Fixed Expenses Total 3) +/V () +>> +<< +/T (Fixed Expenses Total 2) +/V () +>> +<< +/T (Condo Reno Baths Cost) +/V () +>> +<< +/T (Tenant Name 20) +/V () +>> +<< +/T (Tenant Name 22) +/V () +>> +<< +/T (Tenant Name 21) +/V () +>> +<< +/T (Number Billboards) +/V () +>> +<< +/T (Condo Reno Kitchen Year) +/V () +>> +<< +/T (Tenant Name 24) +/V () +>> +<< +/T (Roof Condition) +/V () +>> +<< +/T (Tenant Name 23) +/V () +>> +<< +/T (Tenant Name 25) +/V () +>> +<< +/T (Total Rentable Area 12) +/V () +>> +<< +/T (Total Rentable Area 11) +/V () +>> +<< +/T (Total Rentable Area 10) +/V () +>> +<< +/T (Date mmddyy_2) +/V () +>> +<< +/T (Additions Improvement) +/V () +>> +<< +/T (Condo Flat) +/V / +>> +<< +/T (Tenant New 1) +/V () +>> +<< +/T (Tenant New 5) +/V () +>> +<< +/T (Other Describe Monthly Spaces) +/V () +>> +<< +/T (Tenant New 4) +/V () +>> +<< +/T (Condo Floor 3rd) +/V / +>> +<< +/T (Tenant New 3) +/V () +>> +<< +/T (Tenant New 2) +/V () +>> +<< +/T (Recent sale price) +/V () +>> +<< +/T (Rental Rate 1) +/V () +>> +<< +/T (Comps Parcel 3) +/V () +>> +<< +/T (Rental Rate 3) +/V () +>> +<< +/T (Rental Rate 2) +/V () +>> +<< +/T (Recent sale considerations) +/V / +>> +<< +/T (Comps Parcel 1) +/V () +>> +<< +/T (Comps Parcel 2) +/V () +>> +<< +/T (Mortgagee in possession) +/V / +>> +<< +/T (Lease Rate per Year) +/V () +>> +<< +/T (Rental Rate 5) +/V () +>> +<< +/T (Rental Rate 4) +/V () +>> +<< +/T (Rental Rate 7) +/V () +>> +<< +/T (Rental Rate 6) +/V () +>> +<< +/T (Rental Rate 9) +/V () +>> +<< +/T (Rental Rate 8) +/V () +>> +<< +/T (Multiple parcel) +/V / +>> +<< +/T (Kitchen Improvement Cost) +/V () +>> +<< +/T (Overall Interior Condition) +/V /Average +>> +<< +/T (Additional Income per year) +/V () +>> +<< +/T (Mortgage lender) +/V () +>> +<< +/T (Other Income) +/V () +>> +<< +/T (Regular Spaces) +/V () +>> +<< +/T (Cleaning Total 1) +/V () +>> +<< +/T (Cleaning Total 2) +/V () +>> +<< +/T (Tenant New 9) +/V () +>> +<< +/T (Free Rent Months 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Tenant New 8) +/V () +>> +<< +/T (Tenant New 7) +/V () +>> +<< +/T (Indicate License) +/V () +>> +<< +/T (Condo Balcony) +/V / +>> +<< +/T (Tenant New 6) +/V () +>> +<< +/T (Management Contract Fee) +/V () +>> +<< +/T (Lease Terms 1) +/Kids [ +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>>] +>> +<< +/T (Cleaning Total 3) +/V () +>> +<< +/T (Condo Duplex) +/V / +>> +<< +/T (Cleaning Total 4) +/V () +>> +<< +/T (Location) +/V (%streetno%) +>> +<< +/T (Parking Income) +/V () +>> +<< +/T (Number of Levels) +/V () +>> +<< +/T (Antenna Income) +/V () +>> +<< +/T (Laundry Income per month) +/V () +>> +<< +/T (Contact ZIP) +/V () +>> +<< +/T (Repair Elevators 1) +/V () +>> +<< +/T (Condo Total Area) +/V () +>> +<< +/T (Repair Miscellaneous 1) +/V () +>> +<< +/T (Repair Miscellaneous 2) +/V () +>> +<< +/T (Repair Elevators 4) +/V () +>> +<< +/T (Repair Elevators 3) +/V () +>> +<< +/T (Repair Miscellaneous 3) +/V () +>> +<< +/T (Repair Elevators 2) +/V () +>> +<< +/T (Repair Miscellaneous 4) +/V () +>> +<< +/T (Construction Management Fees) +/V () +>> +<< +/T (Propertydata Wrong) +/V / +>> +<< +/T (Incentive Management) +/V () +>> +<< +/T (Plumbing Improvement Year) +/V () +>> +<< +/T (Condo Floor Other Detail) +/V () +>> +<< +/T (Return of Personal Property) +/V () +>> +<< +/T (Reserve for Replacement) +/V () +>> +<< +/T (Mailing Address Number and Street Name) +/V () +>> +<< +/T (Administrative Total 4) +/V () +>> +<< +/T (Consideration cost) +/V () +>> +<< +/T (Administrative Total 3) +/V () +>> +<< +/T (Administrative Total 2) +/V () +>> +<< +/T (Administrative Total 1) +/V () +>> +<< +/T (Radiant Heating) +/V / +>> +<< +/T (Municipal Charges) +/V () +>> +<< +/T (Landuse Correct) +/V () +>> +<< +/T (Owner name) +/V () +>> +<< +/T (Capital Improvement 1) +/Kids [ +<< +/T (11) +/V () +>> +<< +/T (12) +/V () +>> +<< +/T (13) +/V () +>> +<< +/T (14) +/V () +>> +<< +/T (0) +/V () +>> +<< +/T (1) +/V () +>> +<< +/T (2) +/V () +>> +<< +/T (3) +/V () +>> +<< +/T (4) +/V () +>> +<< +/T (5) +/V () +>> +<< +/T (6) +/V () +>> +<< +/T (7) +/V () +>> +<< +/T (8) +/V () +>> +<< +/T (9) +/V () +>> +<< +/T (10) +/V () +>>] +>> +<< +/T (Tenant Free 18) +/V () +>> +<< +/T (Tenant Free 17) +/V () +>> +<< +/T (Tenant Free 19) +/V () +>> +<< +/T (Tenant Free 14) +/V () +>> +<< +/T (Garage Feature) +/V / +>> +<< +/T (Tenant Free 13) +/V () +>> +<< +/T (Tenant Free 16) +/V () +>> +<< +/T (Tenant Free 15) +/V () +>> +<< +/T (Other Type Parking) +/V () +>> +<< +/T (Other standing detail) +/V () +>> +<< +/T (Comps Value 3) +/V () +>> +<< +/T (Cost of Beverage) +/V () +>> +<< +/T (Tenant Free 21) +/V () +>> +<< +/T (Tenant Free 20) +/V () +>> +<< +/T (Comps Value 2) +/V () +>> +<< +/T (Tenant Free 23) +/V () +>> +<< +/T (Comps Value 1) +/V () +>> +<< +/T (Tenant Free 22) +/V () +>> +<< +/T (Repair HeatCool HVAC 4) +/V () +>> +<< +/T (In-law Apartment) +/V () +>> +<< +/T (Repair Total 1) +/V () +>> +<< +/T (Repair Total 2) +/V () +>> +<< +/T (Repair Total 3) +/V () +>> +<< +/T (Repair Total 4) +/V () +>> +<< +/T (Kitchen Improvement Year) +/V () +>> +<< +/T (Repair HeatCool HVAC 1) +/V () +>> +<< +/T (Telephone_2) +/V () +>> +<< +/T (Firm Name) +/V () +>> +<< +/T (Repair HeatCool HVAC 3) +/V () +>> +<< +/T (Repair HeatCool HVAC 2) +/V () +>> +<< +/T (Condo Dining Rooms) +/V () +>> +<< +/T (Tenant Free 10) +/V () +>> +<< +/T (Tenant Free 12) +/V () +>> +<< +/T (Tenant Free 11) +/V () +>> +<< +/T (Extraordinary Expenditures 2) +/V () +>> +<< +/T (Condo Complex Amenities) +/V () +>> +<< +/T (Additional Income per month) +/V () +>> +<< +/T (Additional Income Detail) +/V () +>> +<< +/T (Extraordinary Expenditures 3) +/V () +>> +<< +/T (Extraordinary Expenditures 4) +/V () +>> +<< +/T (Condo Floor 1st) +/V / +>> +<< +/T (Contact State) +/V () +>> +<< +/T (Extraordinary Expenditures 1) +/V () +>> +<< +/T (Tenant Rooms 13) +/V () +>> +<< +/T (Other standing) +/V / +>> +<< +/T (Tenant Rooms 14) +/V () +>> +<< +/T (Tenant Rooms 15) +/V () +>> +<< +/T (Tenant Rooms 16) +/V () +>> +<< +/T (Tenant Rooms 17) +/V () +>> +<< +/T (Tenant Rooms 18) +/V () +>> +<< +/T (Tenant Rooms 19) +/V () +>> +<< +/T (Tenant Parking Valet 2) +/V () +>> +<< +/T (Lease Start Date 6) +/V () +>> +<< +/T (Tenant Parking Valet 3) +/V () +>> +<< +/T (Lease Start Date 7) +/V () +>> +<< +/T (Tenant Parking Valet 4) +/V () +>> +<< +/T (Lease Start Date 8) +/V () +>> +<< +/T (Room_3) +/V () +>> +<< +/T (Lease Start Date 9) +/V () +>> +<< +/T (Room_2) +/V () +>> +<< +/T (Tenant Rooms 20) +/V () +>> +<< +/T (Condo Penthouse) +/V / +>> +<< +/T (Tenant Rooms 21) +/V () +>> +<< +/T (Tenant Rooms 22) +/V () +>> +<< +/T (Tenant Rooms 23) +/V () +>> +<< +/T (Tenant Parking Valet 1) +/V () +>> +<< +/T (Lease Start Date 1) +/V () +>> +<< +/T (Windows Improvement) +/V () +>> +<< +/T (Lease Start Date 2) +/V () +>> +<< +/T (Lease Start Date 3) +/V () +>> +<< +/T (Lease Start Date 4) +/V () +>> +<< +/T (Lease Start Date 5) +/V () +>> +<< +/T (Total Rentable Area 5) +/V () +>> +<< +/T (Total Rentable Area 4) +/V () +>> +<< +/T (Total Rentable Area 3) +/V () +>> +<< +/T (Total Rentable Area 2) +/V () +>> +<< +/T (Total Rentable Area 9) +/V () +>> +<< +/T (RepairsMaintenance) +/V () +>> +<< +/T (Total Rentable Area 8) +/V () +>> +<< +/T (Total Rentable Area 7) +/V () +>> +<< +/T (Total Rentable Area 6) +/V () +>> +<< +/T (Tenant Rooms 24) +/V () +>> +<< +/T (Tenant Fit Out 2) +/V () +>> +<< +/T (Tenant Rooms 25) +/V () +>> +<< +/T (Tenant Fit Out 1) +/V () +>> +<< +/T (Condo Full Baths) +/V () +>> +<< +/T (Tenant Fit Out 4) +/V () +>> +<< +/T (Tenant Fit Out 3) +/V () +>> +<< +/T (Operating Expense Income) +/V () +>> +<< +/T (Tenant Free 7) +/V () +>> +<< +/T (Tenant Free 6) +/V () +>> +<< +/T (Tenant Free 9) +/V () +>> +<< +/T (Tenant Free 8) +/V () +>> +<< +/T (Tenant Free 3) +/V () +>> +<< +/T (Tenant Free 2) +/V () +>> +<< +/T (Tenant Free 5) +/V () +>> +<< +/T (Tenant Free 4) +/V () +>> +<< +/T (Total Rentable Area 1) +/V () +>> +<< +/T (Condo Reno Kitchen) +/V () +>> +<< +/T (Tenant Free 1) +/V () +>>] +>> +>> +endobj +trailer + +<< +/Root 1 0 R +>> +%%EOF diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.json b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.json new file mode 100644 index 0000000000..9396ad4760 --- /dev/null +++ b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.json @@ -0,0 +1,903 @@ +{ + "document": { + "output_dest": "D", + "title": "%year% Abatement Application", + "author": "City of Boston: Assessing Department", + "subject": "%year% Abatement Application (long form) for %parcel_id%", + "producer": "City of Boston pdftk", + "creator": "Assessing on-line, %year% - www.boston.gov" + }, + "flat": [ + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "Application #", + "type": "text", + "x": 174, + "y": 29, + "txt": "%seq_num%" + }, + { + "note": "Ward and Parcel", + "type": "text", + "x": 55, + "y": 60, + "txt": "%parcel_id%" + }, + { + "note": "Class", + "type": "text", + "x": 97, + "y": 60, + "txt": "%land_use%" + }, + { + "note": "Total Full Valuation", + "type": "text", + "x": 170, + "y": 60, + "txt": "%total_value%" + }, + { + "note": "Assessed Owner", + "type": "text", + "x": 81, + "y": 68, + "txt": "%owner%" + }, + { + "note": "Location:Street No", + "type": "text", + "x": 27, + "y": 97, + "txt": "%streetno%" + }, + { + "note": "Location:Street Name", + "type": "text", + "x": 50, + "y": 97, + "txt": "%street_name%" + }, + { + "note": "Location: Zip Code", + "type": "text", + "x": 166, + "y": 97, + "txt": "%location_zip_code%" + } + ], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 29, + "y": 185, + "txt": "%ward%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 29, + "y": 197, + "txt": "%parcel-0%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 65, + "y": 197, + "txt": "%parcel-1%", + "size": 16, + "font": "Courier" + } + ], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "Parcel", + "type": "text", + "x": 30, + "y": 78, + "txt": "%parcel_id%" + }, + { + "note": "Class", + "type": "text", + "x": 75, + "y": 78, + "txt": "%land_use%" + }, + { + "note": "Total Full Valuation", + "type": "text", + "x": 138, + "y": 78, + "txt": "%total_value%" + }, + { + "note": "Assessed Owner", + "type": "text", + "x": 80, + "y": 85, + "txt": "%owner%" + }, + { + "note": "Location: Street No", + "type": "text", + "x": 32, + "y": 99, + "txt": "%streetno%" + }, + { + "note": "Location:Street Name", + "type": "text", + "x": 53, + "y": 99, + "txt": "%street_name%" + }, + { + "note": "Location:Zip Code", + "type": "text", + "x": 167, + "y": 99, + "txt": "%location_zip_code%" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ] + ], + "fillable": [ + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "Application #", + "type": "text", + "x": 174, + "y": 29, + "txt": "%seq_num%" + }, + { + "note": "Ward and Parcel", + "type": "text", + "x": 55, + "y": 60, + "txt": "%parcel_id%" + }, + { + "note": "Class", + "type": "text", + "x": 97, + "y": 60, + "txt": "%land_use%" + }, + { + "note": "WARD", + "type": "text", + "x": 125, + "y": 322, + "txt": "%ward%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 125, + "y": 333, + "txt": "%parcel-0%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 160, + "y": 333, + "txt": "%parcel-1%", + "size": 16, + "font": "Courier" + } + ], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 29, + "y": 185, + "txt": "%ward%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 29, + "y": 197, + "txt": "%parcel-0%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 65, + "y": 197, + "txt": "%parcel-1%", + "size": 16, + "font": "Courier" + } + ], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "Parcel", + "type": "text", + "x": 30, + "y": 78, + "txt": "%parcel_id%" + }, + { + "note": "Class", + "type": "text", + "x": 75, + "y": 78, + "txt": "%land_use%" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ] + ] +} diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.pdf new file mode 100644 index 0000000000..b17f3e4a2b Binary files /dev/null and b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_long.pdf differ diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.fdf b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.fdf new file mode 100644 index 0000000000..9aa5d01932 --- /dev/null +++ b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.fdf @@ -0,0 +1,1096 @@ +%FDF-1.2 +%���� +1 0 obj +<< +/FDF +<< +/Fields [ +<< +/T (Refinance Appraisal) +/V / +>> +<< +/T (Landuse Wrong) +/V / +>> +<< +/T (Owner) +/V (%owner%) +>> +<< +/T (Street no) +/V (%streetno%) +>> +<< +/T (Ext Siding Improvement Year) +/V () +>> +<< +/T (Kitchen 3) +/V () +>> +<< +/T (Kitchen 2) +/V () +>> +<< +/T (Ductless AC Feature) +/V / +>> +<< +/T (Other amenities) +/V () +>> +<< +/T (Kitchen 1) +/V () +>> +<< +/T (Recent sale armslength) +/V / +>> +<< +/T (Kitchen 6) +/V () +>> +<< +/T (Condo Other Design) +/V / +>> +<< +/T (Kitchen 5) +/V () +>> +<< +/T (Kitchen 4) +/V () +>> +<< +/T (Comps Subparcel 3) +/V () +>> +<< +/T (Condo Floor Basement) +/V / +>> +<< +/T (Radiators Heating) +/V / +>> +<< +/T (Condo Basement) +/V / +>> +<< +/T (Condo Parking Easement) +/V / +>> +<< +/T (Subsequent owner) +/V / +>> +<< +/T (Total Full Valuation) +/V (%total_value%) +>> +<< +/T (Condo Parking Spaces outdoor) +/V () +>> +<< +/T (Other Reason Detail) +/V () +>> +<< +/T (Total Baths 3) +/V () +>> +<< +/T (Total Baths 2) +/V () +>> +<< +/T (Total Baths 1) +/V () +>> +<< +/T (Total Baths 6) +/V () +>> +<< +/T (Total Baths 5) +/V () +>> +<< +/T (Condo Orient Front) +/V / +>> +<< +/T (Condo Other Rooms Detail) +/V () +>> +<< +/T (Total Baths 4) +/V () +>> +<< +/T (City_2) +/V () +>> +<< +/T (Condo Reno Kitchen Cost) +/V () +>> +<< +/T (Roof Improvement Cost) +/V () +>> +<< +/T (One family) +/V / +>> +<< +/T (Phone_2) +/V () +>> +<< +/T (Applicant) +/V () +>> +<< +/T (Valuation) +/V (%total_value%) +>> +<< +/T (Parcel condo 4) +/V () +>> +<< +/T (Parcel condo 3) +/V () +>> +<< +/T (Parcel condo 2) +/V () +>> +<< +/T (Contact Phone) +/V () +>> +<< +/T (Parcel condo 1) +/V () +>> +<< +/T (Additions Improvement Cost) +/V () +>> +<< +/T (Condo Reno Other Year) +/V () +>> +<< +/T (Central AC Feature) +/V / +>> +<< +/T (Plumbing Condition) +/V () +>> +<< +/T (Foundation Condition) +/V () +>> +<< +/T (Electrical Improvement) +/V () +>> +<< +/T (Condo Private elevator) +/V / +>> +<< +/T (Condo Finished Area) +/V () +>> +<< +/T (Owner signature) +/V () +>> +<< +/T (Condo Loft) +/V / +>> +<< +/T (Condo Parking Spaces Onsite) +/V / +>> +<< +/T (Condo Parking Rented) +/V / +>> +<< +/T (Condo Parking Spaces Offsite) +/V / +>> +<< +/T (Condo Half Baths) +/V () +>> +<< +/T (Condo Reno Baths Cost) +/V () +>> +<< +/T (Baseboard Heating) +/V / +>> +<< +/T (Condo Parking Deeded) +/V / +>> +<< +/T (Owners Comments) +/V () +>> +<< +/T (Refinance Appraisal Value) +/V () +>> +<< +/T (Comp Address 2) +/V () +>> +<< +/T (Bath Improvement) +/V () +>> +<< +/T (Heating Condition) +/V () +>> +<< +/T (Comp Address 1) +/V () +>> +<< +/T (Comp Address 3) +/V () +>> +<< +/T (Condo Living Rooms) +/V () +>> +<< +/T (Comps Address 2) +/V () +>> +<< +/T (Comps Address 3) +/V () +>> +<< +/T (Consideration detail) +/V () +>> +<< +/T (Comps Address 1) +/V () +>> +<< +/T (Email) +/V () +>> +<< +/T (Condo Reno Kitchen Year) +/V () +>> +<< +/T (Roof Condition) +/V () +>> +<< +/T (Mortgage amount) +/V () +>> +<< +/T (Bath Improvement Cost) +/V () +>> +<< +/T (Condo Orient Full Floor) +/V / +>> +<< +/T (Date mmddyy_2) +/V () +>> +<< +/T (Additions Improvement) +/V () +>> +<< +/T (Condo Flat) +/V / +>> +<< +/T (Condo Other Rooms) +/V () +>> +<< +/T (Condo Parking Spaces) +/V () +>> +<< +/T (Other Reason) +/V / +>> +<< +/T (Condo Floor 3rd) +/V / +>> +<< +/T (Lenders Appraisal) +/V () +>> +<< +/T (Recent sale price) +/V () +>> +<< +/T (Windows Condition) +/V () +>> +<< +/T (Signature of ApplicantAssessed Owner) +/V () +>> +<< +/T (Additions Improvement Year) +/V () +>> +<< +/T (Cell_2) +/V () +>> +<< +/T (Condo Central AC) +/V / +>> +<< +/T (Comps Parcel 3) +/V () +>> +<< +/T (Ext Siding Improvement) +/V () +>> +<< +/T (Recent sale considerations) +/V / +>> +<< +/T (Comps Parcel 1) +/V () +>> +<< +/T (Condo Storage) +/V / +>> +<< +/T (Comps Parcel 2) +/V () +>> +<< +/T (Ext Siding Improvement Cost) +/V () +>> +<< +/T (Condo Floor Sub Basement) +/V / +>> +<< +/T (Condo Floor 2nd) +/V / +>> +<< +/T (Mortgagee in possession) +/V / +>> +<< +/T (Interior Improvement) +/V () +>> +<< +/T (Plumbing Improvement) +/V () +>> +<< +/T (Condo Eat-in Kitchens) +/V () +>> +<< +/T (Comps) +/V / +>> +<< +/T (Multiple parcel) +/V / +>> +<< +/T (Condo Orient Corner) +/V / +>> +<< +/T (Condo Floor Garden) +/V / +>> +<< +/T (Condo Number Floors) +/V () +>> +<< +/T (Kitchen Improvement Cost) +/V () +>> +<< +/T (Overall Interior Condition) +/V /Average +>> +<< +/T (Condo Orient Middle) +/V / +>> +<< +/T (Mortgage lender) +/V () +>> +<< +/T (Condo Parking Address) +/V () +>> +<< +/T (Contact name) +/V () +>> +<< +/T (Contact Address) +/V () +>> +<< +/T (Space Heater Heating) +/V / +>> +<< +/T (Recent sale date) +/V () +>> +<< +/T (Street Name) +/V (%street_name%) +>> +<< +/T (Comps Ward 1) +/V () +>> +<< +/T (Comps Ward 3) +/V () +>> +<< +/T (Comps Ward 2) +/V () +>> +<< +/T (Condo Balcony) +/V / +>> +<< +/T (Owner Occupied) +/V () +>> +<< +/T (Condo Orient Rear) +/V / +>> +<< +/T (Kitchen Improvement) +/V () +>> +<< +/T (Refinance Date) +/V () +>> +<< +/T (Bath Improvement Year) +/V () +>> +<< +/T (Condo Duplex) +/V / +>> +<< +/T (Location) +/V (%streetno%) +>> +<< +/T (ZIP) +/V (%location_zip_code%) +>> +<< +/T (Interior Improvement Year) +/V () +>> +<< +/T (Total Rooms 6) +/V () +>> +<< +/T (of working fireplaces) +/V () +>> +<< +/T (Total Rooms 4) +/V () +>> +<< +/T (Total Rooms 5) +/V () +>> +<< +/T (Electrical Improvement Year) +/V () +>> +<< +/T (Condo Storage SF) +/V () +>> +<< +/T (Other Improvement Cost) +/V () +>> +<< +/T (Year Built) +/V () +>> +<< +/T (Number of Levels) +/V () +>> +<< +/T (Total Rooms 2) +/V () +>> +<< +/T (Total Rooms 3) +/V () +>> +<< +/T (Condo Reno Other) +/V () +>> +<< +/T (Total Rooms 1) +/V () +>> +<< +/T (Overall Exterior Condition) +/V / +>> +<< +/T (Condo Overall condition) +/V () +>> +<< +/T (Condo Balcony SF) +/V () +>> +<< +/T (Contact ZIP) +/V () +>> +<< +/T (Roof deck Feature) +/V / +>> +<< +/T (Condo Total Area) +/V () +>> +<< +/T (Owners Opinion) +/V () +>> +<< +/T (Signature of f Representative) +/V () +>> +<< +/T (Condo Other Design Detail) +/V () +>> +<< +/T (Tenant with obligation to pay more than 50 of tax) +/V / +>> +<< +/T (Propertydata Wrong) +/V / +>> +<< +/T (Two family) +/V / +>> +<< +/T (Plumbing Improvement Year) +/V () +>> +<< +/T (Statutory Exemption) +/V / +>> +<< +/T (Plumbing Improvement Cost) +/V () +>> +<< +/T (Condo Floor Other Detail) +/V () +>> +<< +/T (Heated 3) +/V () +>> +<< +/T (Heated 4) +/V () +>> +<< +/T (Heated 1) +/V () +>> +<< +/T (Applicants Name Last Name First) +/V () +>> +<< +/T (Heated 2) +/V () +>> +<< +/T (Heated 5) +/V () +>> +<< +/T (Heated 6) +/V () +>> +<< +/T (Electrical Condition) +/V () +>> +<< +/T (Mailing Address Number and Street Name) +/V () +>> +<< +/T (Zip Code) +/V (%location_zip_code%) +>> +<< +/T (Condo Unfinished area SF) +/V () +>> +<< +/T (Three family) +/V / +>> +<< +/T (Consideration cost) +/V () +>> +<< +/T (Electrical Improvement Cost) +/V () +>> +<< +/T (Lenders Appraisal Date) +/V () +>> +<< +/T (Condo Bedrooms) +/V () +>> +<< +/T (Radiant Heating) +/V / +>> +<< +/T (Landuse Correct) +/V () +>> +<< +/T (Condo Reno Baths) +/V () +>> +<< +/T (Condo Rent Monthly) +/V () +>> +<< +/T (Condo View) +/V / +>> +<< +/T (Windows Improvement Year) +/V () +>> +<< +/T (Owner name) +/V () +>> +<< +/T (Forced Air) +/V / +>> +<< +/T (toggle_1) +/V / +>> +<< +/T (Owner sign date) +/V () +>> +<< +/T (Condo Parking Spaces indoor) +/V () +>> +<< +/T (Overval) +/V / +>> +<< +/T (Comp Sale 1) +/V () +>> +<< +/T (Garage Feature) +/V / +>> +<< +/T (Comp Sale 2) +/V () +>> +<< +/T (Comp Sale 3) +/V () +>> +<< +/T (Condo Parking Rent) +/V () +>> +<< +/T (Total Finished 3) +/V () +>> +<< +/T (Total Finished 2) +/V () +>> +<< +/T (Total Finished 5) +/V () +>> +<< +/T (Condo Other Amenities) +/V / +>> +<< +/T (Total Finished 4) +/V () +>> +<< +/T (Total Finished 6) +/V () +>> +<< +/T (Condo Fireplace) +/V / +>> +<< +/T (Contact Email) +/V () +>> +<< +/T (Applicant if not assessed owner) +/V () +>> +<< +/T (Other standing detail) +/V () +>> +<< +/T (Comps Value 3) +/V () +>> +<< +/T (Comps Value 2) +/V () +>> +<< +/T (Comps Value 1) +/V () +>> +<< +/T (Cell) +/V () +>> +<< +/T (Roof Improvement) +/V () +>> +<< +/T (Parcel main) +/V () +>> +<< +/T (Total Halfbaths 5) +/V () +>> +<< +/T (Total Halfbaths 6) +/V () +>> +<< +/T (In-law Apartment) +/V () +>> +<< +/T (Total Halfbaths 3) +/V () +>> +<< +/T (Total Halfbaths 4) +/V () +>> +<< +/T (Total Halfbaths 1) +/V () +>> +<< +/T (Total Halfbaths 2) +/V () +>> +<< +/T (Kitchen Improvement Year) +/V () +>> +<< +/T (Condo Tenant) +/V () +>> +<< +/T (City) +/V () +>> +<< +/T (Condo Other Amenities Detail) +/V () +>> +<< +/T (Mailing Address Number and Street Name_2) +/V () +>> +<< +/T (Recent sale) +/V / +>> +<< +/T (Interior Improvement Cost) +/V () +>> +<< +/T (Firm Name) +/V () +>> +<< +/T (Condo Floor Other) +/V / +>> +<< +/T (Date mmddyy) +/V () +>> +<< +/T (Assessed Owner the owner on 202211) +/V (%owner%) +>> +<< +/T (Condo Dining Rooms) +/V () +>> +<< +/T (Refinance Amount) +/V () +>> +<< +/T (Total Finished 1) +/V () +>> +<< +/T (Email_2) +/V () +>> +<< +/T (Condo Complex Amenities) +/V () +>> +<< +/T (Condo Ductless AC) +/V / +>> +<< +/T (Contact City) +/V () +>> +<< +/T (Condo Floor 1st) +/V / +>> +<< +/T (Contact State) +/V () +>> +<< +/T (Comp Date 3) +/V () +>> +<< +/T (Condo Reno Baths Year) +/V () +>> +<< +/T (Comp Date 2) +/V () +>> +<< +/T (Comp Date 1) +/V () +>> +<< +/T (Classification Correct) +/V () +>> +<< +/T (Other standing) +/V / +>> +<< +/T (Roof Improvement Year) +/V () +>> +<< +/T (Total Bedrooms 2) +/V () +>> +<< +/T (Condo Other Kitchens) +/V () +>> +<< +/T (Total Bedrooms 1) +/V () +>> +<< +/T (Condo Penthouse) +/V / +>> +<< +/T (Condo Reno Other Cost) +/V () +>> +<< +/T (Phone) +/V () +>> +<< +/T (Total Bedrooms 4) +/V () +>> +<< +/T (Total Bedrooms 3) +/V () +>> +<< +/T (Total Bedrooms 6) +/V () +>> +<< +/T (Condo Parking Deeded Value) +/V () +>> +<< +/T (Total Bedrooms 5) +/V () +>> +<< +/T (Windows Improvement) +/V () +>> +<< +/T (Other Improvement) +/V () +>> +<< +/T (Other Improvement Year) +/V () +>> +<< +/T (Comp Parcel 2) +/V () +>> +<< +/T (Condo Number Floors Other) +/V () +>> +<< +/T (Comp Parcel 3) +/V () +>> +<< +/T (Condo Full Baths) +/V () +>> +<< +/T (Comp Parcel 1) +/V () +>> +<< +/T (Comps Subparcel 2) +/V () +>> +<< +/T (Windows Improvement Cost) +/V () +>> +<< +/T (Comps Subparcel 1) +/V () +>> +<< +/T (Representative) +/V () +>> +<< +/T (Condo Reno Kitchen) +/V () +>>] +>> +>> +endobj +trailer + +<< +/Root 1 0 R +>> +%%EOF diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.json b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.json new file mode 100644 index 0000000000..8b895ba90f --- /dev/null +++ b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.json @@ -0,0 +1,447 @@ +{ + "document": { + "output_dest": "D", + "title": "%year% Abatement Application (short)", + "author": "City of Boston: Assessing Department", + "subject": "%year% Abatement Application (short form) for %parcel_id%", + "producer": "City of Boston pdftk", + "creator": "Assessing on-line, %year% - www.boston.gov" + }, + "flat": [ + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "Application #", + "type": "text", + "x": 174, + "y": 29, + "txt": "%seq_num%" + }, + { + "note": "Ward and Parcel", + "type": "text", + "x": 55, + "y": 60, + "txt": "%parcel_id%" + }, + { + "note": "Class", + "type": "text", + "x": 97, + "y": 60, + "txt": "%land_use%" + }, + { + "note": "Total Full Valuation", + "type": "text", + "x": 170, + "y": 60, + "txt": "%total_value%" + }, + { + "note": "Assessed Owner", + "type": "text", + "x": 81, + "y": 68, + "txt": "%owner%" + }, + { + "note": "Location:Street No", + "type": "text", + "x": 27, + "y": 97, + "txt": "%streetno%" + }, + { + "note": "Location:Street Name", + "type": "text", + "x": 50, + "y": 97, + "txt": "%street_name%" + }, + { + "note": "Location: Zip Code", + "type": "text", + "x": 166, + "y": 97, + "txt": "%location_zip_code%" + } + ], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 29, + "y": 185, + "txt": "%ward%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 29, + "y": 197, + "txt": "%parcel-0%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 65, + "y": 197, + "txt": "%parcel-1%", + "size": 16, + "font": "Courier" + } + ], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "Parcel", + "type": "text", + "x": 30, + "y": 78, + "txt": "%parcel_id%" + }, + { + "note": "Class", + "type": "text", + "x": 75, + "y": 78, + "txt": "%land_use%" + }, + { + "note": "Total Full Valuation", + "type": "text", + "x": 138, + "y": 78, + "txt": "%total_value%" + }, + { + "note": "Assessed Owner", + "type": "text", + "x": 80, + "y": 85, + "txt": "%owner%" + }, + { + "note": "Location: Street No", + "type": "text", + "x": 32, + "y": 99, + "txt": "%streetno%" + }, + { + "note": "Location:Street Name", + "type": "text", + "x": 53, + "y": 99, + "txt": "%street_name%" + }, + { + "note": "Location:Zip Code", + "type": "text", + "x": 167, + "y": 99, + "txt": "%location_zip_code%" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ] + ], + "fillable": [ + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "Application #", + "type": "text", + "x": 174, + "y": 29, + "txt": "%seq_num%" + }, + { + "note": "Ward and Parcel", + "type": "text", + "x": 55, + "y": 60, + "txt": "%parcel_id%" + }, + { + "note": "Class", + "type": "text", + "x": 97, + "y": 60, + "txt": "%land_use%" + }, + { + "note": "WARD", + "type": "text", + "x": 125, + "y": 322, + "txt": "%ward%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 125, + "y": 333, + "txt": "%parcel-0%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 160, + "y": 333, + "txt": "%parcel-1%", + "size": 16, + "font": "Courier" + } + ], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 29, + "y": 185, + "txt": "%ward%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 29, + "y": 197, + "txt": "%parcel-0%", + "size": 16, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 65, + "y": 197, + "txt": "%parcel-1%", + "size": 16, + "font": "Courier" + } + ], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "Parcel", + "type": "text", + "x": 30, + "y": 78, + "txt": "%parcel_id%" + }, + { + "note": "Class", + "type": "text", + "x": 75, + "y": 78, + "txt": "%land_use%" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ], + [], + [ + { + "note": "Application number barcode", + "type": "barcode", + "x": 70, + "y": 5, + "val": "%seq_num%", + "encode": "C128" + }, + { + "note": "WARD", + "type": "text", + "x": 131, + "y": 39, + "txt": "%ward%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL first 5", + "type": "text", + "x": 146, + "y": 39, + "txt": "%parcel-0%", + "size": 14, + "font": "Courier" + }, + { + "note": "PARCEL last 3", + "type": "text", + "x": 178, + "y": 39, + "txt": "%parcel-1%", + "size": 14, + "font": "Courier" + } + ] + ] +} diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.pdf new file mode 100644 index 0000000000..f0a6f3d547 Binary files /dev/null and b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Abatement_Application_short.pdf differ diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.fdf b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.fdf new file mode 100644 index 0000000000..d68207ec0a --- /dev/null +++ b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.fdf @@ -0,0 +1,440 @@ +%FDF-1.2 +%���� +1 0 obj +<< +/FDF +<< +/Fields [ +<< +/T (ApplicantFirstName) +/V () +>> +<< +/T (AmtExempted) +/V () +>> +<< +/T (22A_Loss of Foot_Hand_Eye) +/V / +>> +<< +/T (22A_Medal_NavyCross) +/V / +>> +<< +/T (Registered??) +/V / +>> +<< +/T (17D_OutstandingMortgage) +/V () +>> +<< +/T (17D_Date of Spouse Death) +/V () +>> +<< +/T (17D_Name of Deceased Parent) +/V () +>> +<< +/T (DateEnteredService) +/V () +>> +<< +/T (Signature3) +/V () +>> +<< +/T (Principal Residence Yes) +/V / +>> +<< +/T (41C_AmtBankAccts) +/V () +>> +<< +/T (41C_AppSpouse_TotalGrossReceipts) +/V (0) +>> +<< +/T (22_PurpleHeart) +/V / +>> +<< +/T (Other town Exemption No) +/V / +>> +<< +/T (OtherCityExempt) +/V () +>> +<< +/T (Branch of Service) +/V () +>> +<< +/T (property_address) +/V (%text_address%) +>> +<< +/T (41C_Date of Birth) +/V () +>> +<< +/T (17D_Value of Motor Vehicles) +/V () +>> +<< +/T (Remarried?) +/V / +>> +<< +/T (17D_Date of remarriage) +/V () +>> +<< +/T (17D_Surviving_Date of Birth) +/V () +>> +<< +/T (41C_CoOwners_SourcesIncome_g) +/V () +>> +<< +/T (41C_CoOwners_SourcesIncome_f) +/V () +>> +<< +/T (41C_CoOwners_SourcesIncome_e) +/V () +>> +<< +/T (41C_CoOwners_SourcesIncome_d) +/V () +>> +<< +/T (41C_CoOwners_SourcesIncome_c) +/V () +>> +<< +/T (41C_CoOwners_SourcesIncome_b) +/V () +>> +<< +/T (41C_CoOwners_SourcesIncome_a) +/V () +>> +<< +/T (ApplicantLastName) +/V () +>> +<< +/T (DateRegisteredBlind) +/V () +>> +<< +/T (ExemptionVeteran) +/V / +>> +<< +/T (22B_LossBothFeet_Hands_Eyes) +/V / +>> +<< +/T (17D_AmtBankAccts) +/V () +>> +<< +/T (ExemptionElderly) +/V / +>> +<< +/T (22A_Medal) +/V / +>> +<< +/T (Trust No) +/V / +>> +<< +/T (DwellingUnitsOther) +/V () +>> +<< +/T (41C_Mortgage) +/V () +>> +<< +/T (17D_Marital Status) +/V () +>> +<< +/T (22_10%) +/V / +>> +<< +/T (22_Paraplegic) +/V / +>> +<< +/T (22_Spouse) +/V / +>> +<< +/T (41C_CoOwners_SourcesIncome_h) +/V () +>> +<< +/T (BlindCertificate#) +/V () +>> +<< +/T (Other town Exemption Yes) +/V / +>> +<< +/T (22_Parent) +/V / +>> +<< +/T (Date of Discharge) +/V () +>> +<< +/T (41C_MA Resident?) +/V / +>> +<< +/T (Trust Yes) +/V / +>> +<< +/T (22A_Medal_AirForceCross) +/V / +>> +<< +/T (current_owner) +/V (%owner%) +>> +<< +/T (Email) +/V () +>> +<< +/T (Co-Owner with Others) +/V / +>> +<< +/T (17D_OwnOtherRE?) +/V / +>> +<< +/T (22E_100%disability) +/V / +>> +<< +/T (41C_65yrs?) +/V / +>> +<< +/T (22D_Surviving spouse) +/V / +>> +<< +/T (Lived in MA?) +/V / +>> +<< +/T (22A_Medal_DistinguishedServiceCross) +/V / +>> +<< +/T (Veteran Date of Birth) +/V () +>> +<< +/T (41C_Value Stocks) +/V () +>> +<< +/T (17D_Date of Death) +/V () +>> +<< +/T (41C_Total Assessed Value Other RE) +/V () +>> +<< +/T (Name of Applicant) +/V () +>> +<< +/T (ExemptionBlind) +/V / +>> +<< +/T (17D_Value Stocks) +/V () +>> +<< +/T (LegalyBlind?) +/V / +>> +<< +/T (41C_AppSpouse_SourcesIncome_e) +/V () +>> +<< +/T (41C_AppSpouse_SourcesIncome_d) +/V () +>> +<< +/T (41C_AppSpouse_SourcesIncome_g) +/V () +>> +<< +/T (41C_AppSpouse_SourcesIncome_f) +/V () +>> +<< +/T (41C_AppSpouse_SourcesIncome_a) +/V () +>> +<< +/T (41C_AppSpouse_SourcesIncome_c) +/V () +>> +<< +/T (41C_AppSpouse_SourcesIncome_b) +/V () +>> +<< +/T (41C_Other RE?) +/V / +>> +<< +/T (17D_NameofSpouse) +/V () +>> +<< +/T (22C_Adaptive Housing) +/V / +>> +<< +/T (22E_100%disability_SurvivingSpouse) +/V / +>> +<< +/T (41C_AppSpouse_SourcesIncome_h) +/V () +>> +<< +/T (Disability Rating) +/V () +>> +<< +/T (Status_Surviving spouse) +/V / +>> +<< +/T (17D_TotalAssets) +/V (0) +>> +<< +/T (41C_Elderly_Type Owner?) +/V / +>> +<< +/T (Sole Owner) +/V / +>> +<< +/T (Certificate#) +/V () +>> +<< +/T (Own&OccupiedPropertyfor5years?) +/V / +>> +<< +/T (Status_Minor) +/V / +>> +<< +/T (41C_OwnOccupy?) +/V / +>> +<< +/T (Principal Residence No) +/V / +>> +<< +/T (41C_CoOwners_Total Gross receipts) +/V (0) +>> +<< +/T (Phone#) +/V () +>> +<< +/T (Co- Owner) +/V / +>> +<< +/T (41C_Marital Status) +/V () +>> +<< +/T (Status_Elderly) +/V / +>> +<< +/T (22_Philipine/ChineseExpedition) +/V / +>> +<< +/T (SSN) +/V () +>> +<< +/T (Dwelling Unit 2) +/V / +>> +<< +/T (Dwelling Unit 3) +/V / +>> +<< +/T (ExemptionSurvivingSpouseMinor) +/V / +>> +<< +/T (Dwelling Unit 1) +/V / +>> +<< +/T (MA Resident?) +/V / +>> +<< +/T (Dwelling Unit 4) +/V / +>> +<< +/T (22_Paraplegic_SurvivingSpouse) +/V / +>> +<< +/T (17D_TotalAssessedValueOther Re) +/V () +>>] +>> +>> +endobj +trailer + +<< +/Root 1 0 R +>> +%%EOF diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.json b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.json new file mode 100644 index 0000000000..2f24849476 --- /dev/null +++ b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.json @@ -0,0 +1,161 @@ +{ + "document": { + "output_dest": "D", + "title": "%year% Personal Exemption Application", + "author": "City of Boston: Assessing Department", + "subject": "%year% Personal Exemption Application for %parcel_id%", + "producer": "City of Boston pdftk", + "creator": "Assessing on-line, %year% - www.boston.gov" + }, + "flat": [ + [ + { + "note": "Barcode: The parcel_id", + "type": "barcode", + "x": 80, + "y": 5, + "val": "%parcel_id%", + "encode": "C128" + }, + { + "note": "The parcel_id", + "type": "text", + "x": 61, + "y": 65, + "txt": "%parcel_id%" + }, + {"note": "Current Owner", "type": "text", "x": 61, "y": 70, "txt": "%owner%"}, + {"note": "Property Address", "type": "text", "x": 61, "y": 75, "txt": "%text_address%"}, + {"note": "Property Class", "type": "text", "x": 61, "y": 80, "txt": "%land_use%"}, + {"note": "Address of Property", "type": "text", "x": 115, "y": 118, "size": "9", "txt": "%text_address%"} + ], + [ + { + "note": "Barcode: The parcel_id", + "type": "barcode", + "x": 80, + "y": 5, + "val": "%parcel_id%", + "encode": "C128" + }, + { + "note": "The parcel_id", + "type": "text", + "x": 163, + "y": 15, + "txt": "%parcel_id%" + } + ], + [ + { + "note": "Barcode: The parcel_id", + "type": "barcode", + "x": 80, + "y": 5, + "val": "%parcel_id%", + "encode": "C128" + }, + { + "note": "The parcel_id", + "type": "text", + "x": 163, + "y": 15, + "txt": "%parcel_id%" + } + ], + [ + { + "note": "Barcode: The parcel_id", + "type": "barcode", + "x": 80, + "y": 3, + "val": "%parcel_id%", + "encode": "C128" + }, + { + "note": "The parcel_id", + "type": "text", + "x": 163, + "y": 15, + "txt": "%parcel_id%" + } + ] + ], + "fillable": [ + [ + { + "note": "Barcode: The parcel_id", + "type": "barcode", + "x": 80, + "y": 5, + "val": "%parcel_id%", + "encode": "C128" + }, + { + "note": "The parcel_id", + "type": "text", + "x": 61, + "y": 65, + "txt": "%parcel_id%" + }, + { + "note": "Property Type", + "type": "text", + "x": 61, + "y": 80, + "txt": "%land_use%" + } + ], + [ + { + "note": "Barcode: The parcel_id", + "type": "barcode", + "x": 80, + "y": 5, + "val": "%parcel_id%", + "encode": "C128" + }, + { + "note": "The parcel_id", + "type": "text", + "x": 163, + "y": 15, + "txt": "%parcel_id%" + } + ], + [ + { + "note": "Barcode: The parcel_id", + "type": "barcode", + "x": 80, + "y": 5, + "val": "%parcel_id%", + "encode": "C128" + }, + { + "note": "The parcel_id", + "type": "text", + "x": 163, + "y": 15, + "txt": "%parcel_id%" + } + ], + [ + { + "note": "Barcode: The parcel_id", + "type": "barcode", + "x": 80, + "y": 3, + "val": "%parcel_id%", + "encode": "C128" + }, + { + "note": "The parcel_id", + "type": "text", + "x": 163, + "y": 15, + "txt": "%parcel_id%" + } + ] + ] +} diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.pdf new file mode 100644 index 0000000000..7a21f723b6 Binary files /dev/null and b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Personal_Exemption.pdf differ diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.fdf b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.fdf new file mode 100644 index 0000000000..cdcee50678 --- /dev/null +++ b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.fdf @@ -0,0 +1,80 @@ +%FDF-1.2 +%���� +1 0 obj +<< +/FDF +<< +/Fields [ +<< +/T (Zip) +/V (%location_zip_code%) +>> +<< +/T (Other property) +/V () +>> +<< +/T (Other real estate) +/V / +>> +<< +/T (Property Address) +/V (%text_address_nozip%) +>> +<< +/T (Telephone) +/V () +>> +<< +/T (Current Owner) +/V (%owner%) +>> +<< +/T (Record date) +/V () +>> +<< +/T (Tax return) +/V / +>> +<< +/T (Date) +/V () +>> +<< +/T (SSN) +/V () +>> +<< +/T (Applicant Last Name) +/V () +>> +<< +/T (Principal residence) +/V / +>> +<< +/T (Applicant First Name) +/V () +>> +<< +/T (Is trust) +/V / +>> +<< +/T (Applicant Signature) +/V () +>> +<< +/T (Deed date) +/V / +>>] +>> +>> +endobj +trailer + +<< +/Root 1 0 R +>> +%%EOF diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.json b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.json new file mode 100644 index 0000000000..41dba1bc29 --- /dev/null +++ b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.json @@ -0,0 +1,30 @@ +{ + "document": { + "output_dest": "D", + "title": "%year% Residential Exemption Application", + "author": "City of Boston: Assessing Department", + "subject": "%year% Residential Exemption Application for %parcel_id%", + "producer": "City of Boston pdftk", + "creator": "Assessing on-line, %year% - www.boston.gov" + }, + "flat": [ + [ + {"note": "The parcel_id", "type": "barcode", "x": 100, "y": 5, "val": "%parcel_id%", "encode": "C128"}, + {"note": "The parcel_id", "type": "text", "x": 25, "y": 55, "txt": "%parcel_id%"}, + {"note": "The owner name", "type": "text", "x": 42, "y": 68, "txt": "%owner%"}, + {"note": "The property address", "type": "text", "x": 42, "y": 81, "txt": "%text_address_nozip%"}, + {"note": "The property Zip", "type": "text", "x": 169, "y": 81, "txt": "%location_zip_code%"}, + {"note": "The property address", "type": "text", "x": 47, "y": 133, + "size": "8", + "txt": "%text_address_nolocale%"}, + {"note": "The property address", "type": "text", "x": 100, "y": 152, "size": "8", "txt": "%text_address_nolocale%"}, + {"note": "The property address", "type": "text", "x": 15, "y": 185, "size": "8", "txt": "%text_address_nolocale% %location_zip_code%"} + ] + ], + "fillable": [ + [ + {"note": "The parcel_id", "type": "barcode", "x": 100, "y": 5, "val": "%parcel_id%", "encode": "C128"}, + {"note": "The parcel_id", "type": "text", "x": 26, "y": 56, "txt": "%parcel_id%"} + ] + ] +} diff --git a/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.pdf b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.pdf new file mode 100644 index 0000000000..6d0b79fc2a Binary files /dev/null and b/docroot/sites/default/files/pdf_templates/pdf/FY2024/FY2024_Residential_Exemption.pdf differ diff --git a/docroot/themes/custom/bos_admin/bos_admin.theme b/docroot/themes/custom/bos_admin/bos_admin.theme index 8891dcbcec..061536b9bb 100644 --- a/docroot/themes/custom/bos_admin/bos_admin.theme +++ b/docroot/themes/custom/bos_admin/bos_admin.theme @@ -497,25 +497,30 @@ function bos_admin_form_paragraph_form_alter(&$form, \Drupal\Core\Form\FormState // Make the lineage into an array of strings. $bundle[0] = ucwords(str_replace(["_", "-"], " ", $top->bundle())); - $title[0] = "
"; - $title[] = "

" . $bundle[0] . ": " . $top->getTitle() . " (nid " . $top->id() . ")" . "

"; - switch ($chain[1]->getEntityTypeId()) { - case "node": - $title[] = "

> " . $chain[1]->getTitle() . " (nid " . $chain[1]->id() . ")

"; - break; - - case "paragraph": - foreach ($chain[1]->getFields() as $fieldName => $field) { - $crumb = ucwords(str_replace(['-', '_'], " ", $chain[1]->bundle() . (isset($chain[2]) ? " > " . $chain[2]->bundle() : ''))); - if (preg_match('/^(field_).*?title/', $fieldName) && !empty($field->getValue()[0]['value'])) { - $title[] = "

Editing: " . $crumb . " > " . $field->getValue()[0]['value'] . " (pid " . $chain[1]->id() . ")

"; - break; + if ($bundle[0] != "Paragraphs Library Item") { + $title[0] = "
"; + $title[] = "

" . $bundle[0] . ": " . $top->getTitle() . " (nid " . $top->id() . ")" . "

"; + switch ($chain[1]->getEntityTypeId()) { + case "node": + $title[] = "

> " . $chain[1]->getTitle() . " (nid " . $chain[1]->id() . ")

"; + break; + + case "paragraph": + foreach ($chain[1]->getFields() as $fieldName => $field) { + $crumb = ucwords(str_replace([ + '-', + '_', + ], " ", $chain[1]->bundle() . (isset($chain[2]) ? " > " . $chain[2]->bundle() : ''))); + if (preg_match('/^(field_).*?title/', $fieldName) && !empty($field->getValue()[0]['value'])) { + $title[] = "

Editing: " . $crumb . " > " . $field->getValue()[0]['value'] . " (pid " . $chain[1]->id() . ")

"; + break; + } } - } - break; + break; - case "taxonomy": - break; + case "taxonomy": + break; + } } $title[] = "
"; diff --git a/docroot/themes/custom/bos_admin/css/bos_admin.css b/docroot/themes/custom/bos_admin/css/bos_admin.css index c02ac2ce9f..6b0996463a 100644 --- a/docroot/themes/custom/bos_admin/css/bos_admin.css +++ b/docroot/themes/custom/bos_admin/css/bos_admin.css @@ -1003,6 +1003,8 @@ edit forms .bos_admin .details-wrapper .field--widget-options-select .form-type-select label, .bos_admin .details-wrapper .form-wrapper .form-type-textfield label, .bos_admin .entity-content-form-revision-information .form-wrapper .form-type-textarea label, +.bos_admin .details-wrapper .form-wrapper.field--type-datetime label, +.bos_admin .details-wrapper .form-wrapper .text-format-wrapper button.link-edit-summary, .bos_admin .details-wrapper .form-wrapper .form-type-textarea label { font-size: 1.5rem; padding: .5rem 0; @@ -1176,6 +1178,39 @@ What: Helper for status_display preview - restricts icon sizing. max-width: 170px; width: 170px; } +.g--6:nth-child(2n) { + margin-right: 0; + margin-left: auto; +} +@media screen and (min-width: 840px) +.g--6:last-child { + margin-right: 0; +} +@media screen and (min-width: 840px) +.g--6:nth-child(1n) { + margin-right: 1.5rem; + margin-left: 0; +} +.g--6:last-child { + margin-right: 0; +} +.g--6:nth-child(1n) { + margin-right: 24px; + margin-right: 1.5rem; + margin-left: 0; +} +@media screen and (min-width: 840px) +.g--6 { + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + -ms-flex-preferred-size: calc(99.9% * 6/12 - 0.75rem); + flex-basis: calc(99.9% * 6/12 - 0.75rem); + max-width: calc(99.9% * 6/12 - 0.75rem); + width: calc(99.9% * 6/12 - 0.75rem); +} .cds-l { background-color: #fff; display: -webkit-box; diff --git a/docroot/themes/custom/bos_admin/templates/datetime-wrapper.html.twig b/docroot/themes/custom/bos_admin/templates/datetime-wrapper.html.twig index 6c180a0770..ebd6bc5827 100644 --- a/docroot/themes/custom/bos_admin/templates/datetime-wrapper.html.twig +++ b/docroot/themes/custom/bos_admin/templates/datetime-wrapper.html.twig @@ -42,7 +42,7 @@ {% endif %} {% if title %} - {{ title }} + {{ title }} {% endif %} {{ content }} diff --git a/patches/dig-3707a.patch b/patches/dig-3707a.patch new file mode 100644 index 0000000000..84b83b6f04 --- /dev/null +++ b/patches/dig-3707a.patch @@ -0,0 +1,11 @@ +--- a/addtocal.js ++++ b/addtocal.js +@@ -10,7 +10,7 @@ + event.preventDefault(); + + var offset = $target.position(); +- $menu = $('#' + $target.attr('id') + '-menu'); ++ $menu = $('.' + $target.attr('class') + '-menu'); + + $menu.css({ + 'top': offset.top + $target.outerHeight(), diff --git a/scripts/local/boston-dev-php.ini b/scripts/local/boston-dev-php.ini index 9971ee99fe..84edd5aa3f 100755 --- a/scripts/local/boston-dev-php.ini +++ b/scripts/local/boston-dev-php.ini @@ -12,7 +12,7 @@ mysql.connect_timeout = 3 xdebug.remote_autostart=1 xdebug.remote_enable=1 xdebug.remote_connect_back=0 -xdebug.remote_host=${LANDO_HOST_IP} +xdebug.remote_host=host.docker.internal xdebug.var_display_max_depth=-1 xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1