From 0ff2570f5a547a7ef1dd5a0c65d04f42fd8a313d Mon Sep 17 00:00:00 2001 From: David Upton Date: Tue, 23 Jul 2024 19:17:16 -0400 Subject: [PATCH 01/15] chore: Adds mobile screensize to percy --- .github/percy/percy_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/percy/percy_config.yml b/.github/percy/percy_config.yml index ecb42e0878..82c751252d 100644 --- a/.github/percy/percy_config.yml +++ b/.github/percy/percy_config.yml @@ -2,7 +2,7 @@ # Global Configurations for Percy CLI version: 2 snapshot: - widths: [1280] + widths: [390,1280] minHeight: 1024 percyCSS: "" discovery: From 0f8f895ccb66ba066c3f3107aaec1ffb48e71a31 Mon Sep 17 00:00:00 2001 From: David Upton Date: Wed, 24 Jul 2024 11:56:50 -0400 Subject: [PATCH 02/15] DIG-4633 Change default selection in Roll Call Dockets from "none" to "yes" --- config/acquia_prod/config_ignore.settings.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/acquia_prod/config_ignore.settings.yml b/config/acquia_prod/config_ignore.settings.yml index b586d5a4b7..eec14eda6b 100644 --- a/config/acquia_prod/config_ignore.settings.yml +++ b/config/acquia_prod/config_ignore.settings.yml @@ -17,3 +17,4 @@ ignored_config_entities: - node_elections.settings - bos_email.settings - block.block.website_feedback_form + - field.field.paragraph.roll_call_vote.field_vote:default_value From 2862f2b5cc53d7774651cc6b44936013cbf47b94 Mon Sep 17 00:00:00 2001 From: David Upton Date: Wed, 24 Jul 2024 12:04:38 -0400 Subject: [PATCH 03/15] DIG-4632 Add "Roll Call Dockets" as an option in "All Recent Content" menu item --- config/default/views.view.workbench_recent_content.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/default/views.view.workbench_recent_content.yml b/config/default/views.view.workbench_recent_content.yml index 057cf87e0c..e9a83bd42c 100644 --- a/config/default/views.view.workbench_recent_content.yml +++ b/config/default/views.view.workbench_recent_content.yml @@ -29,6 +29,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 @@ -1814,6 +1815,7 @@ display: procurement_advertisement: procurement_advertisement program_initiative_profile: program_initiative_profile public_notice: public_notice + roll_call_dockets: roll_call_dockets script_page: script_page site_alert: site_alert status_item: status_item @@ -1843,6 +1845,8 @@ display: content_reviewer: '0' content_author: '0' metrolist_editor: '0' + election_editor: '0' + city_clerk_editor: '0' argument: '' reduce: true is_grouped: false From 6982cdd24b3fe59f8995215c7dac541f486c4847 Mon Sep 17 00:00:00 2001 From: David Upton Date: Wed, 24 Jul 2024 12:28:53 -0400 Subject: [PATCH 04/15] DIG-4631 Adds Bids&RFPs view to procurement module. --- .../install/views.view.bos_dashboards.yml | 1909 +++++++++++++++++ .../node_procurement_advertisement.info.yml | 1 + 2 files changed, 1910 insertions(+) create mode 100644 docroot/modules/custom/bos_content/modules/node_procurement_advertisement/config/install/views.view.bos_dashboards.yml diff --git a/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/config/install/views.view.bos_dashboards.yml b/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/config/install/views.view.bos_dashboards.yml new file mode 100644 index 0000000000..cd2f2105d7 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/config/install/views.view.bos_dashboards.yml @@ -0,0 +1,1909 @@ +uuid: cd1e2aad-e1dd-42ec-9616-025e0bc47c9a +langcode: und +status: true +dependencies: + config: + - core.entity_view_mode.node.listing + - field.storage.node.field_award_date + - field.storage.node.field_awarded_by + - field.storage.node.field_bid + - field.storage.node.field_bid_type + - field.storage.node.field_contact + - field.storage.node.field_date_range + - field.storage.node.field_event_project_number + - field.storage.node.field_unspsc + - node.type.procurement_advertisement + - system.menu.workbench + - taxonomy.vocabulary.bid_type + - taxonomy.vocabulary.contact + module: + - better_exposed_filters + - datetime + - datetime_range + - node + - paragraphs + - taxonomy + - user +_core: + default_config_hash: ytRCa2Q_BiyWfNaMGDIasJ8BSZldFozQa2m4aqSNUys +id: bos_dashboards +label: 'BOS Dashboards' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Master + display_plugin: default + position: 0 + display_options: + title: 'Landing Page' + fields: + 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 + make_link: false + absolute: false + word_boundary: false + ellipsis: false + strip_tags: false + trim: false + 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: 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 + pager: + type: full + options: + offset: 0 + items_per_page: 25 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + first: '« First' + last: 'Last »' + expose: + items_per_page: true + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50, 100' + 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: Apply + reset_button: true + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + input_required: false + 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 + filter: + title: + plugin_id: default + advanced: + collapsible: false + is_secondary: true + field_event_project_number_value: + plugin_id: default + advanced: + collapsible: false + is_secondary: false + field_contact_target_id: + plugin_id: default + advanced: + rewrite: + filter_rewrite_values: '' + collapsible: false + is_secondary: true + title: + bef_format: default + more_options: + is_secondary: false + placeholder_text: '' + field_event_project_number_value_1: + bef_format: default + more_options: + is_secondary: false + placeholder_text: '' + field_contact_target_id: + bef_format: bef + more_options: + bef_select_all_none: false + bef_collapsible: false + is_secondary: false + rewrite: + filter_rewrite_values: '' + access: + type: perm + options: + perm: 'edit any procurement_advertisement content' + cache: + type: none + options: { } + empty: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + plugin_id: text + empty: true + content: + value: "

No Bids and RFPs Found

\r\n
Thomas Paine noted \"These are the times that try men's souls.\" Well this is a time to try another search.
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
" + format: full_html + tokenize: false + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: created + exposed: false + granularity: second + arguments: { } + filters: + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: + procurement_advertisement: procurement_advertisement + 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: { } + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: status + 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: { } + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: word + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Search by project name' + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + 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' + placeholder: '' + is_grouped: false + group_info: + label: Title + description: null + identifier: title + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: { } + 2: { } + 3: { } + field_event_project_number_value_1: + id: field_event_project_number_value_1 + table: node__field_event_project_number + field: field_event_project_number_value + relationship: none + group_type: group + admin_label: '' + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: field_event_project_number_value_1_op + label: 'Event/Project Number' + description: '' + use_operator: false + operator: field_event_project_number_value_1_op + operator_limit_selection: false + operator_list: { } + identifier: field_event_project_number_value_1 + 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' + placeholder: 'Project Number' + 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_date_range_value: + id: field_date_range_value + table: node__field_date_range + field: field_date_range_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: '<=' + value: + min: '' + max: '' + value: '-30 minutes' + type: offset + group: 1 + exposed: true + expose: + label: 'Active (field_date_range)' + description: null + use_operator: false + operator: field_date_range_value_op + operator_limit_selection: false + operator_list: { } + identifier: field_date_range_value + required: false + remember: false + multiple: false + min_placeholder: null + max_placeholder: null + placeholder: null + 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_date_range_end_value: + id: field_date_range_end_value + table: node__field_date_range + field: field_date_range_end_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: '>=' + value: + min: '' + max: '' + value: now + type: offset + 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 + 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: { } + field_contact_target_id: + id: field_contact_target_id + table: node__field_contact + field: field_contact_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_contact_target_id_op + label: 'Filter by Department' + description: '' + use_operator: false + operator: field_contact_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_contact_target_id + required: false + remember: false + multiple: true + 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' + 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: contact + type: select + hierarchy: false + limit: true + error_message: true + filter_groups: + operator: AND + groups: + 1: AND + style: + type: default + options: + row_class: '' + default_row_class: true + uses_fields: false + row: + type: 'entity:node' + options: + relationship: none + view_mode: listing + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: { } + rfp_dashboard: + id: rfp_dashboard + display_title: 'Bids & RFPs Dashboard' + display_plugin: page + position: 3 + display_options: + title: 'Procurement Advertisement Dashboard' + fields: + field_date_range_1: + id: field_date_range_1 + table: node__field_date_range + field: field_date_range + relationship: none + group_type: group + admin_label: Status + plugin_id: field + label: Status + exclude: false + alter: + alter_text: true + text: "{% if date(field_date_range_1__end_value) < date() %}\r\nClosed ({{ field_date_range_1__end_value|date(\"m/d/Y\") }})\r\n{% else %}\r\nOpen\r\n{% endif %}" + 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: end_value + type: daterange_default + settings: + timezone_override: '' + format_type: html_datetime + separator: '-' + group_column: entity_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 + 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: Title + 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: 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: 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 + field_event_project_number: + id: field_event_project_number + table: node__field_event_project_number + field: field_event_project_number + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Event No.' + 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_contact: + id: field_contact + table: node__field_contact + field: field_contact + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Dept + 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: false + group_column: entity_id + group_columns: + target_id: target_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 + delta: + id: delta + table: node__field_bid + field: delta + relationship: none + group_type: count_distinct + admin_label: '' + plugin_id: numeric + label: 'No. Bids' + exclude: false + alter: + alter_text: false + text: '{{ delta + 1}}' + 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: 'No Bids' + hide_empty: false + empty_zero: true + hide_alter_empty: true + set_precision: false + precision: 0 + decimal: . + separator: '' + format_plural: false + format_plural_string: !!binary MQNAY291bnQ= + prefix: '' + suffix: '' + field_unspsc: + id: field_unspsc + table: node__field_unspsc + field: field_unspsc + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: UNSPSC + exclude: true + 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: number_integer + settings: + thousand_separator: '' + prefix_suffix: false + group_column: entity_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_award_date: + id: field_award_date + table: node__field_award_date + field: field_award_date + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Awarded + exclude: true + 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: 'Not Awarded' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: datetime_default + settings: + timezone_override: '' + format_type: date_format_normal_date + group_column: entity_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_awarded_by: + id: field_awarded_by + table: node__field_awarded_by + field: field_awarded_by + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Awarded By' + exclude: true + 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: entity_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_bid_type: + id: field_bid_type + table: node__field_bid_type + field: field_bid_type + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Bid Type' + 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: false + 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_date_range: + id: field_date_range + table: node__field_date_range + field: field_date_range + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Bid Date' + 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: end_value + type: daterange_default + settings: + timezone_override: '' + format_type: date_format_boston_short + separator: '-' + group_column: value + group_columns: + value: value + end_value: end_value + 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_bid: + id: field_bid + table: node__field_bid + field: field_bid + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Bid + exclude: true + alter: + alter_text: false + text: '{{ field_bid|length }}' + 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: None + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: paragraph_summary + settings: { } + group_column: entity_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: ul + separator: ', ' + field_api_classes: false + operations: + id: operations + table: node + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_operations + label: Actions + 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 + exposed_form: + type: bef + options: + submit_button: Apply + 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: true + autosubmit_exclude_textfield: false + autosubmit_textfield_delay: 500 + autosubmit_hide: true + input_required: false + allow_secondary: true + secondary_label: 'Advanced options' + secondary_open: false + pager: + plugin_id: default + advanced: + is_secondary: true + filter: + title: + plugin_id: default + advanced: + collapsible: false + is_secondary: true + field_event_project_number_value_1: + plugin_id: default + advanced: + collapsible: false + is_secondary: true + field_contact_target_id: + plugin_id: default + advanced: + rewrite: + filter_rewrite_values: '' + collapsible: false + is_secondary: true + delta: + plugin_id: default + advanced: + rewrite: + filter_rewrite_values: '' + collapsible: false + is_secondary: false + field_bid_type_target_id: + plugin_id: default + advanced: + rewrite: + filter_rewrite_values: '' + collapsible: false + is_secondary: false + filters: + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: + procurement_advertisement: procurement_advertisement + 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: { } + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: status + 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: { } + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: word + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Search by project name' + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + 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' + placeholder: '' + is_grouped: false + group_info: + label: Title + description: null + identifier: title + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: { } + 2: { } + 3: { } + field_event_project_number_value_1: + id: field_event_project_number_value_1 + table: node__field_event_project_number + field: field_event_project_number_value + relationship: none + group_type: group + admin_label: '' + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: field_event_project_number_value_1_op + label: 'Event/Project Number' + description: '' + use_operator: false + operator: field_event_project_number_value_1_op + operator_limit_selection: false + operator_list: { } + identifier: field_event_project_number_value_1 + 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' + placeholder: 'Project Number' + 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_contact_target_id: + id: field_contact_target_id + table: node__field_contact + field: field_contact_target_id + relationship: none + group_type: group + admin_label: Department + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_contact_target_id_op + label: 'Filter by Department' + description: '' + use_operator: false + operator: field_contact_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_contact_target_id + 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' + 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: contact + type: select + hierarchy: false + limit: true + error_message: true + delta: + id: delta + table: node__field_bid + field: delta + relationship: none + group_type: group + admin_label: '' + plugin_id: numeric + operator: empty + value: + min: '' + max: '' + value: '' + group: 1 + exposed: true + expose: + operator_id: delta_op + label: 'Bid (field_bid:delta)' + description: '' + use_operator: false + operator: delta_op + operator_limit_selection: false + operator_list: { } + identifier: delta + 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' + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: true + group_info: + label: 'Has Bids' + description: '' + identifier: bid_delta + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: + title: 'No' + operator: empty + value: + min: '' + max: '' + value: '' + 2: + title: 'Yes' + operator: 'not empty' + value: + min: '' + max: '' + value: '' + field_bid_type_target_id: + id: field_bid_type_target_id + table: node__field_bid_type + field: field_bid_type_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_bid_type_target_id_op + label: 'Bid Type' + description: '' + use_operator: false + operator: field_bid_type_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_bid_type_target_id + 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' + 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: bid_type + type: select + hierarchy: false + limit: true + error_message: true + filter_groups: + operator: AND + groups: + 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + field_date_range_1: field_date_range_1 + title: title + field_event_project_number: field_event_project_number + field_contact: field_contact + delta: delta + field_unspsc: field_unspsc + field_award_date: field_award_date + field_awarded_by: field_awarded_by + field_bid_type: field_bid_type + field_date_range: field_date_range + field_bid: field_bid + operations: operations + default: field_date_range_1 + info: + field_date_range_1: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + title: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_event_project_number: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_contact: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + delta: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_unspsc: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_award_date: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_awarded_by: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_bid_type: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_date_range: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_bid: + align: '' + separator: '' + empty_column: false + responsive: '' + operations: + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: true + summary: '' + empty_table: false + caption: '' + description: '' + row: + type: 'entity:node' + options: + relationship: none + view_mode: listing + defaults: + title: false + exposed_form: false + group_by: false + style: false + row: false + fields: false + filters: false + filter_groups: false + header: false + group_by: true + display_description: '' + header: + result: + id: result + table: views + field: result + relationship: none + group_type: group + admin_label: '' + plugin_id: result + empty: false + content: 'Displaying @start - @end of @total' + display_extenders: { } + path: admin/content/bids-rfps + menu: + type: normal + title: 'Bids & RFPs' + description: 'Procurement Advertisement Dashboard' + weight: 10 + expanded: false + menu_name: workbench + parent: '' + context: '0' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.field_award_date' + - 'config:field.storage.node.field_awarded_by' + - 'config:field.storage.node.field_bid' + - 'config:field.storage.node.field_bid_type' + - 'config:field.storage.node.field_contact' + - 'config:field.storage.node.field_date_range' + - 'config:field.storage.node.field_event_project_number' + - 'config:field.storage.node.field_unspsc' diff --git a/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.info.yml b/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.info.yml index 4e3a4f2565..e7580d40a0 100644 --- a/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.info.yml +++ b/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.info.yml @@ -49,3 +49,4 @@ config_devel: - field.storage.node.field_procurement_footer - language.content_settings.node.procurement_advertisement - node.type.procurement_advertisement + - views.view.bos_dashboards From 7feaccd6aa2a609e658d2152bd4d5ae76cf31a98 Mon Sep 17 00:00:00 2001 From: David Upton Date: Wed, 24 Jul 2024 13:16:31 -0400 Subject: [PATCH 05/15] DIG-4631 Adds Workbench menu items to create nodes. --- .../node_public_notice/node_public_notice.links.menu.yml | 6 ++++++ .../node_public_notice/node_public_notice.routing.yml | 7 +++++++ .../modules/node_rollcall/node_rollcall.links.menu.yml | 6 ++++++ .../modules/node_rollcall/node_rollcall.routing.yml | 8 ++++++++ 4 files changed, 27 insertions(+) create mode 100644 docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml diff --git a/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml new file mode 100644 index 0000000000..98f5f5582b --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml @@ -0,0 +1,6 @@ +node_public_notice.workbench_create: + title: 'Create Public Notice' + description: 'Create a new Public Notice.' + route_name: node_rollcall.workbench_create + weight: 10 + menu_name: workbench diff --git a/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.routing.yml b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.routing.yml new file mode 100644 index 0000000000..fec70712c1 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.routing.yml @@ -0,0 +1,7 @@ +node_public_notice.workbench_create: + path: '/admin/workbench/public_notice/create' + defaults: + _entity_form: 'node.public_notice' + _title: 'Add Rollcall Docket' + requirements: + _permission: 'create public_notice content' diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml new file mode 100644 index 0000000000..b4a65f56b5 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml @@ -0,0 +1,6 @@ +node_rollcall.workbench_create: + title: 'Create Rollcall Docket' + description: 'Create a new rollcall docket.' + route_name: node_rollcall.workbench_create + menu_name: workbench + weight: 10 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 index 4ab6fdc3af..3af04c6ae1 100644 --- 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 @@ -13,3 +13,11 @@ node_rollcall.summarizer_api: methods: [GET] requirements: _access: 'TRUE' + +node_rollcall.workbench_create: + path: '/admin/workbench/rollcall/create' + defaults: + _entity_form: 'node.rollcall_docket' + _title: 'Add Rollcall Docket' + requirements: + _permission: 'create roll_call_dockets content' From 7bed09630ba90c1fe60e7d5cc893947ec14b26c5 Mon Sep 17 00:00:00 2001 From: David Upton Date: Wed, 24 Jul 2024 14:24:12 -0400 Subject: [PATCH 06/15] DIG-4631 Adds icons to workbench menu. --- .../modules/custom/bos_content/bos_content.libraries.yml | 4 ++++ docroot/modules/custom/bos_content/bos_content.module | 7 +++++++ docroot/modules/custom/bos_content/css/button_icons.css | 6 ++++++ 3 files changed, 17 insertions(+) create mode 100644 docroot/modules/custom/bos_content/bos_content.libraries.yml create mode 100644 docroot/modules/custom/bos_content/css/button_icons.css diff --git a/docroot/modules/custom/bos_content/bos_content.libraries.yml b/docroot/modules/custom/bos_content/bos_content.libraries.yml new file mode 100644 index 0000000000..778a82e949 --- /dev/null +++ b/docroot/modules/custom/bos_content/bos_content.libraries.yml @@ -0,0 +1,4 @@ +workbench.button_icons: + css: + theme: + css/button_icons.css: {} diff --git a/docroot/modules/custom/bos_content/bos_content.module b/docroot/modules/custom/bos_content/bos_content.module index 8941dddfa4..5fd22bd104 100644 --- a/docroot/modules/custom/bos_content/bos_content.module +++ b/docroot/modules/custom/bos_content/bos_content.module @@ -140,3 +140,10 @@ function _bos_content_update_all_configs() { } drush_config_devel_export("bos_content"); } + +/** + * Implements hook_preprocess_HOOK(). + */ +function bos_content_preprocess_toolbar(&$variables) { + $variables["#attached"]["library"][] = "bos_content/workbench.button_icons"; +} diff --git a/docroot/modules/custom/bos_content/css/button_icons.css b/docroot/modules/custom/bos_content/css/button_icons.css new file mode 100644 index 0000000000..1c3f56d898 --- /dev/null +++ b/docroot/modules/custom/bos_content/css/button_icons.css @@ -0,0 +1,6 @@ +.toolbar-icon-node-public-notice-workbench-create::before { + background-image: url(../modules/node_public_notice/default_public_notice.svg); +} +.toolbar-icon-node-rollcall-workbench-create::before { + background-image: url(../modules/node_rollcall/roll_call_vote_icon.svg); +} From 7772013410df1938aac20443aaf7ee02f8e04f88 Mon Sep 17 00:00:00 2001 From: David Upton Date: Wed, 24 Jul 2024 15:28:47 -0400 Subject: [PATCH 07/15] DIG-4631 Adds listing pages to workbench menu. --- .../views.view.workbench_content_listings.yml | 2049 +++++++++++++++++ 1 file changed, 2049 insertions(+) create mode 100644 config/default/views.view.workbench_content_listings.yml diff --git a/config/default/views.view.workbench_content_listings.yml b/config/default/views.view.workbench_content_listings.yml new file mode 100644 index 0000000000..baa582a41c --- /dev/null +++ b/config/default/views.view.workbench_content_listings.yml @@ -0,0 +1,2049 @@ +uuid: e5bb2cb3-8e5e-4eed-8663-52403ce2bb40 +langcode: und +status: true +dependencies: + config: + - core.entity_view_mode.node.listing + - field.storage.node.body + - field.storage.node.field_cancelled + - field.storage.node.field_contact + - field.storage.node.field_meeting_date + - field.storage.node.field_public_notice_date + - field.storage.node.field_time + - node.type.procurement_advertisement + - node.type.public_notice + - node.type.roll_call_dockets + - system.menu.workbench + - taxonomy.vocabulary.contact + - user.role.administrator + - user.role.city_clerk_editor + - user.role.content_editor + - user.role.developer + - user.role.site_administrator + module: + - better_exposed_filters + - datetime + - datetime_range + - node + - taxonomy + - text + - user +_core: + default_config_hash: ytRCa2Q_BiyWfNaMGDIasJ8BSZldFozQa2m4aqSNUys +id: workbench_content_listings +label: 'Workbench: Content Listings' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Master + display_plugin: default + position: 0 + display_options: + title: 'Landing Page' + fields: + 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 + make_link: false + absolute: false + word_boundary: false + ellipsis: false + strip_tags: false + trim: false + 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: 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 + pager: + type: full + options: + offset: 0 + items_per_page: 25 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + first: '« First' + last: 'Last »' + expose: + items_per_page: true + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50, 100' + 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: Apply + reset_button: true + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + input_required: false + 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 + filter: + title: + plugin_id: default + advanced: + collapsible: false + is_secondary: true + field_event_project_number_value: + plugin_id: default + advanced: + collapsible: false + is_secondary: false + field_contact_target_id: + plugin_id: default + advanced: + rewrite: + filter_rewrite_values: '' + collapsible: false + is_secondary: true + title: + bef_format: default + more_options: + is_secondary: false + placeholder_text: '' + field_event_project_number_value_1: + bef_format: default + more_options: + is_secondary: false + placeholder_text: '' + field_contact_target_id: + bef_format: bef + more_options: + bef_select_all_none: false + bef_collapsible: false + is_secondary: false + rewrite: + filter_rewrite_values: '' + access: + type: role + options: + role: + administrator: administrator + site_administrator: site_administrator + developer: developer + content_editor: content_editor + city_clerk_editor: city_clerk_editor + cache: + type: none + options: { } + empty: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + plugin_id: text + empty: true + content: + value: "

No Bids and RFPs Found

\r\n
Thomas Paine noted \"These are the times that try men's souls.\" Well this is a time to try another search.
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
" + format: full_html + tokenize: false + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: created + exposed: false + granularity: second + arguments: { } + filters: + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: + procurement_advertisement: procurement_advertisement + 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: { } + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: status + 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: { } + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: word + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Search by project name' + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + 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' + placeholder: '' + is_grouped: false + group_info: + label: Title + description: null + identifier: title + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: { } + 2: { } + 3: { } + field_event_project_number_value_1: + id: field_event_project_number_value_1 + table: node__field_event_project_number + field: field_event_project_number_value + relationship: none + group_type: group + admin_label: '' + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: field_event_project_number_value_1_op + label: 'Event/Project Number' + description: '' + use_operator: false + operator: field_event_project_number_value_1_op + operator_limit_selection: false + operator_list: { } + identifier: field_event_project_number_value_1 + 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' + placeholder: 'Project Number' + 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_date_range_value: + id: field_date_range_value + table: node__field_date_range + field: field_date_range_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: '<=' + value: + min: '' + max: '' + value: '-30 minutes' + type: offset + group: 1 + exposed: true + expose: + label: 'Active (field_date_range)' + description: null + use_operator: false + operator: field_date_range_value_op + operator_limit_selection: false + operator_list: { } + identifier: field_date_range_value + required: false + remember: false + multiple: false + min_placeholder: null + max_placeholder: null + placeholder: null + 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_date_range_end_value: + id: field_date_range_end_value + table: node__field_date_range + field: field_date_range_end_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: '>=' + value: + min: '' + max: '' + value: now + type: offset + 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 + 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: { } + field_contact_target_id: + id: field_contact_target_id + table: node__field_contact + field: field_contact_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_contact_target_id_op + label: 'Filter by Department' + description: '' + use_operator: false + operator: field_contact_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_contact_target_id + required: false + remember: false + multiple: true + 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' + 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: contact + type: select + hierarchy: false + limit: true + error_message: true + filter_groups: + operator: AND + groups: + 1: AND + style: + type: default + options: + row_class: '' + default_row_class: true + uses_fields: false + row: + type: 'entity:node' + options: + relationship: none + view_mode: listing + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.roles + tags: { } + public_notice_listing: + id: public_notice_listing + display_title: 'Public Notice Listing' + display_plugin: page + position: 3 + display_options: + title: 'Public Notice Listing and Filtering' + fields: + field_cancelled: + id: field_cancelled + table: node__field_cancelled + field: field_cancelled + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Canceled + 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: yes-no + 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 + 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: 'Notice Title' + 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: 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: 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 + field_contact: + id: field_contact + table: node__field_contact + field: field_contact + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Dept + 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: false + group_column: entity_id + group_columns: + target_id: target_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_public_notice_date: + id: field_public_notice_date + table: node__field_public_notice_date + field: field_public_notice_date + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Date + 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: daterange_default + settings: + timezone_override: '' + format_type: date_format_normal_date + separator: '-' + 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_public_notice_date_1: + id: field_public_notice_date_1 + table: node__field_public_notice_date + field: field_public_notice_date + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Start Time' + 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: daterange_default + settings: + timezone_override: '' + format_type: date_format_calendar_time + separator: '-' + 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_time: + id: field_time + table: node__field_time + field: field_time + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Time public testimony begins' + 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: datetime_default + settings: + timezone_override: '' + format_type: date_format_calendar_time + group_column: entity_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 + revision_timestamp: + id: revision_timestamp + table: node_revision + field: revision_timestamp + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: revision_timestamp + plugin_id: field + label: Posted + 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: timestamp + 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 + description: '' + 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: node + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_operations + label: Actions + 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 + exposed_form: + type: bef + options: + submit_button: Apply + 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: true + autosubmit_exclude_textfield: false + autosubmit_textfield_delay: 500 + autosubmit_hide: true + input_required: false + allow_secondary: false + secondary_label: 'Advanced options' + secondary_open: false + reset_button_always_show: false + pager: + plugin_id: default + advanced: + is_secondary: true + filter: + title: + plugin_id: default + advanced: + placeholder_text: '' + collapsible: false + collapsible_disable_automatic_open: false + is_secondary: true + field_contact_target_id: + plugin_id: default + advanced: + placeholder_text: '' + rewrite: + filter_rewrite_values: '' + filter_rewrite_values_key: false + collapsible: false + collapsible_disable_automatic_open: false + is_secondary: true + field_public_notice_date_value: + plugin_id: bef_datepicker + advanced: + collapsible: false + collapsible_disable_automatic_open: 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: '' + format: full_html + tokenize: false + filters: + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: + public_notice: public_notice + 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: { } + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: status + 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: { } + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: word + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Notice Title' + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + 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: Title + description: null + identifier: title + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: { } + 2: { } + 3: { } + field_contact_target_id: + id: field_contact_target_id + table: node__field_contact + field: field_contact_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_contact_target_id_op + label: Department + description: '' + use_operator: false + operator: field_contact_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_contact_target_id + 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' + 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: contact + type: textfield + hierarchy: false + limit: true + error_message: true + filter_groups: + operator: AND + groups: + 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: false + columns: + field_cancelled: field_cancelled + title: title + field_contact: field_contact + field_public_notice_date: field_public_notice_date + field_public_notice_date_1: field_public_notice_date_1 + field_time: field_time + revision_timestamp: revision_timestamp + operations: operations + default: revision_timestamp + info: + field_cancelled: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + title: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_contact: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_public_notice_date: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + field_public_notice_date_1: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + field_time: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + revision_timestamp: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + operations: + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: true + summary: '' + empty_table: false + caption: '' + description: '' + row: + type: 'entity:node' + options: + relationship: none + view_mode: listing + defaults: + empty: false + title: false + exposed_form: false + group_by: false + style: false + row: false + fields: false + filters: false + filter_groups: false + header: false + group_by: true + display_description: '' + header: + result: + id: result + table: views + field: result + relationship: none + group_type: group + admin_label: '' + plugin_id: result + empty: false + content: 'Displaying @start - @end of @total' + display_extenders: { } + path: admin/content/public_notice_listing + menu: + type: normal + title: 'Public Notice Listing' + description: 'Public Notice Listing and Filtering' + weight: -45 + expanded: false + menu_name: workbench + parent: '' + context: '0' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.roles + tags: + - 'config:field.storage.node.field_cancelled' + - 'config:field.storage.node.field_contact' + - 'config:field.storage.node.field_public_notice_date' + - 'config:field.storage.node.field_time' + rollcall_docket_listing: + id: rollcall_docket_listing + display_title: 'Rollcall Docket Listing' + display_plugin: page + position: 3 + display_options: + title: 'Rollcall Docket Listing and Filtering' + fields: + 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: 'Docket #' + 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: 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: 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 + 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: 'Meeting Date' + 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: datetime_default + settings: + timezone_override: '' + format_type: medium + 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: Docket + 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: text_summary_or_trimmed + settings: + trim_length: 150 + 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: node + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_operations + label: Actions + 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 + exposed_form: + type: bef + options: + submit_button: Apply + 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: true + autosubmit_exclude_textfield: false + autosubmit_textfield_delay: 500 + autosubmit_hide: true + input_required: false + allow_secondary: false + secondary_label: 'Advanced options' + secondary_open: false + reset_button_always_show: false + pager: + plugin_id: default + advanced: + is_secondary: true + filter: + title: + plugin_id: default + advanced: + placeholder_text: '' + collapsible: false + collapsible_disable_automatic_open: false + is_secondary: true + field_contact_target_id: + plugin_id: default + advanced: + placeholder_text: '' + rewrite: + filter_rewrite_values: '' + filter_rewrite_values_key: false + collapsible: false + collapsible_disable_automatic_open: false + is_secondary: true + field_public_notice_date_value: + plugin_id: bef_datepicker + advanced: + collapsible: false + collapsible_disable_automatic_open: 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: '' + format: full_html + tokenize: false + filters: + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: + roll_call_dockets: roll_call_dockets + 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: { } + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: status + 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: { } + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: word + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Search by project name' + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + 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' + placeholder: '' + is_grouped: false + group_info: + label: Title + description: null + identifier: title + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: { } + 2: { } + 3: { } + filter_groups: + operator: AND + groups: + 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + title: title + field_meeting_date: field_meeting_date + body: body + operations: operations + default: field_meeting_date + info: + title: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + field_meeting_date: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + body: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + operations: + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: true + summary: '' + empty_table: false + caption: '' + description: '' + row: + type: 'entity:node' + options: + relationship: none + view_mode: listing + defaults: + empty: false + title: false + exposed_form: false + group_by: false + style: false + row: false + fields: false + filters: false + filter_groups: false + header: false + group_by: true + display_description: '' + header: + result: + id: result + table: views + field: result + relationship: none + group_type: group + admin_label: '' + plugin_id: result + empty: false + content: 'Displaying @start - @end of @total' + display_extenders: { } + path: admin/content/roll_call_listing + menu: + type: normal + title: 'Roll Call Docket Listing' + description: 'Rollcall Docket Listing and Filtering' + weight: -45 + expanded: false + menu_name: workbench + parent: '' + context: '0' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.roles + tags: + - 'config:field.storage.node.body' + - 'config:field.storage.node.field_meeting_date' From 3c01315a574aab91d8b12febb1d136dee474b3d8 Mon Sep 17 00:00:00 2001 From: David Upton Date: Mon, 29 Jul 2024 09:48:28 -0400 Subject: [PATCH 08/15] DIG-4845 Adds patch for file_entity get_size error --- composer.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/composer.json b/composer.json index 97453a836d..328084e552 100644 --- a/composer.json +++ b/composer.json @@ -299,6 +299,9 @@ "Patch on patch (https://www.drupal.org/project/drupal/issues/2230909) - DU": "patches/core_2230909_updatehook.patch", "TODO CHECK - ALLOW TO FAIL: Multi-language paragraphs du - 05/2022 https://www.drupal.org/project/drupal/issues/3025039": "https://www.drupal.org/files/issues/2024-05-01/3025039-94.patch" }, + "drupal/core": { + "Patch to fix deprecated format_size error -related to v10.2 - DU see https://www.drupal.org/project/drupal/issues/3414905": "patches/dig-4845.patch" + }, "gasparesganga/php-shapefile": { "Patch for PHP8 compatibility for Drupal 10": "patches/php-shapefile-php8-compat.patch" }, From 650022ee73de16940f3f1b352c10408c3963b79c Mon Sep 17 00:00:00 2001 From: David Upton Date: Mon, 29 Jul 2024 09:50:24 -0400 Subject: [PATCH 09/15] DIG-4845- Fix patch reference --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 328084e552..419a8fbdcb 100644 --- a/composer.json +++ b/composer.json @@ -299,7 +299,7 @@ "Patch on patch (https://www.drupal.org/project/drupal/issues/2230909) - DU": "patches/core_2230909_updatehook.patch", "TODO CHECK - ALLOW TO FAIL: Multi-language paragraphs du - 05/2022 https://www.drupal.org/project/drupal/issues/3025039": "https://www.drupal.org/files/issues/2024-05-01/3025039-94.patch" }, - "drupal/core": { + "drupal/file_entity": { "Patch to fix deprecated format_size error -related to v10.2 - DU see https://www.drupal.org/project/drupal/issues/3414905": "patches/dig-4845.patch" }, "gasparesganga/php-shapefile": { From 5840351732944945d777164e4c54ac4d0015918a Mon Sep 17 00:00:00 2001 From: David Upton Date: Mon, 29 Jul 2024 09:57:55 -0400 Subject: [PATCH 10/15] Create dig-4845.patch --- patches/dig-4845.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 patches/dig-4845.patch diff --git a/patches/dig-4845.patch b/patches/dig-4845.patch new file mode 100644 index 0000000000..3578683476 --- /dev/null +++ b/patches/dig-4845.patch @@ -0,0 +1,12 @@ +diff --git a/src/Plugin/Field/FieldFormatter/FileSizeFormatter.php b/src/Plugin/Field/FieldFormatter/FileSizeFormatter.php +--- a/src/Plugin/Field/FieldFormatter/FileSizeFormatter.php ++++ b/src/Plugin/Field/FieldFormatter/FileSizeFormatter.php +@@ -42,7 +42,7 @@ + + foreach ($files as $delta => $file) { + $elements[$delta] = [ +- '#markup' => format_size($file->getSize(), $file->language()->getId()), ++ '#markup' => format_size($file->getSize() ?? 0, $file->language()->getId()), + ]; + } + From d3a6033874f8c79639bf1448cd517e507054b1f7 Mon Sep 17 00:00:00 2001 From: David Upton Date: Mon, 29 Jul 2024 10:11:00 -0400 Subject: [PATCH 11/15] Update dig-4845.patch --- patches/dig-4845.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/dig-4845.patch b/patches/dig-4845.patch index 3578683476..d2f313d48a 100644 --- a/patches/dig-4845.patch +++ b/patches/dig-4845.patch @@ -5,8 +5,8 @@ diff --git a/src/Plugin/Field/FieldFormatter/FileSizeFormatter.php b/src/Plugin/ foreach ($files as $delta => $file) { $elements[$delta] = [ -- '#markup' => format_size($file->getSize(), $file->language()->getId()), -+ '#markup' => format_size($file->getSize() ?? 0, $file->language()->getId()), +- '#markup' => \Drupal\Component\Utility\DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '10.2.0', fn() => \Drupal\Core\StringTranslation\ByteSizeMarkup::create($file->getSize(), $file->language()->getId()), fn() => format_size($file->getSize(), $file->language()->getId())), ++ '#markup' => \Drupal\Component\Utility\DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '10.2.0', fn() => \Drupal\Core\StringTranslation\ByteSizeMarkup::create($file->getSize() ?? 0, $file->language()->getId()), fn() => format_size($file->getSize() ?? 0, $file->language()->getId())), ]; } From ee3893d8c559aeb760fe2e5ba6db0f187af7f5ac Mon Sep 17 00:00:00 2001 From: David Upton Date: Mon, 29 Jul 2024 13:03:52 -0400 Subject: [PATCH 12/15] DIG-4631 Reworks the workbench menu system. --- config/default/views.view.bos_dashboards.yml | 8 +-- .../views.view.workbench_content_listings.yml | 10 ++-- .../bos_content/bos_content.libraries.yml | 4 -- .../custom/bos_content/bos_content.module | 7 --- .../custom/bos_content/css/button_icons.css | 6 -- .../node_public_notice.links.menu.yml | 7 ++- .../node_public_notice.routing.yml | 16 +++-- .../node_rollcall.links.menu.yml | 5 +- .../node_rollcall/node_rollcall.routing.yml | 15 +++-- .../custom/bos_core/bos_core.links.menu.yml | 7 +++ .../modules/custom/bos_core/bos_core.module | 12 ++++ .../custom/bos_core/bos_core.routing.yml | 8 +++ .../Workbench/WorkbenchController.php | 20 +++++++ .../Element/WorkbenchToolbarOverride.php | 60 +++++++++++++++++++ .../themes/custom/bos_admin/bos_admin.theme | 8 +-- .../bos_admin/css/bos_admin.workbench.css | 6 ++ .../workbench/000000/iconmonstr-task-1.svg | 1 + .../workbench/787878/iconmonstr-task-1.svg | 1 + .../workbench/ffffff/iconmonstr-task-1.svg | 14 +++++ .../custom/bos_theme/bos_theme.libraries.yml | 1 + .../themes/custom/bos_theme/css/bos_theme.css | 5 +- .../workbench/000000/iconmonstr-task-1.svg | 1 + .../workbench/787878/iconmonstr-task-1.svg | 1 + 23 files changed, 175 insertions(+), 48 deletions(-) delete mode 100644 docroot/modules/custom/bos_content/bos_content.libraries.yml delete mode 100644 docroot/modules/custom/bos_content/css/button_icons.css create mode 100644 docroot/modules/custom/bos_core/src/Controllers/Workbench/WorkbenchController.php create mode 100644 docroot/modules/custom/bos_core/src/Render/Element/WorkbenchToolbarOverride.php create mode 100644 docroot/themes/custom/bos_admin/images/workbench/000000/iconmonstr-task-1.svg create mode 100644 docroot/themes/custom/bos_admin/images/workbench/787878/iconmonstr-task-1.svg create mode 100644 docroot/themes/custom/bos_admin/images/workbench/ffffff/iconmonstr-task-1.svg create mode 100644 docroot/themes/custom/bos_theme/images/workbench/000000/iconmonstr-task-1.svg create mode 100644 docroot/themes/custom/bos_theme/images/workbench/787878/iconmonstr-task-1.svg diff --git a/config/default/views.view.bos_dashboards.yml b/config/default/views.view.bos_dashboards.yml index cd2f2105d7..664337b359 100644 --- a/config/default/views.view.bos_dashboards.yml +++ b/config/default/views.view.bos_dashboards.yml @@ -565,7 +565,6 @@ display: - 'languages:language_interface' - url - url.query_args - - user - 'user.node_grants:view' - user.permissions tags: { } @@ -1881,12 +1880,12 @@ display: path: admin/content/bids-rfps menu: type: normal - title: 'Bids & RFPs' + title: 'Bids & RFP Listings' description: 'Procurement Advertisement Dashboard' - weight: 10 + weight: -45 expanded: false menu_name: workbench - parent: '' + parent: bos_core.workbench_content_listing_menu context: '0' cache_metadata: max-age: -1 @@ -1895,7 +1894,6 @@ display: - 'languages:language_interface' - url - url.query_args - - user - 'user.node_grants:view' - user.permissions tags: diff --git a/config/default/views.view.workbench_content_listings.yml b/config/default/views.view.workbench_content_listings.yml index baa582a41c..9d9921d601 100644 --- a/config/default/views.view.workbench_content_listings.yml +++ b/config/default/views.view.workbench_content_listings.yml @@ -1475,10 +1475,10 @@ display: type: normal title: 'Public Notice Listing' description: 'Public Notice Listing and Filtering' - weight: -45 + weight: 14 expanded: false menu_name: workbench - parent: '' + parent: bos_core.workbench_content_listing_menu context: '0' cache_metadata: max-age: -1 @@ -2030,10 +2030,10 @@ display: type: normal title: 'Roll Call Docket Listing' description: 'Rollcall Docket Listing and Filtering' - weight: -45 - expanded: false + weight: 15 + expanded: true menu_name: workbench - parent: '' + parent: bos_core.workbench_content_listing_menu context: '0' cache_metadata: max-age: -1 diff --git a/docroot/modules/custom/bos_content/bos_content.libraries.yml b/docroot/modules/custom/bos_content/bos_content.libraries.yml deleted file mode 100644 index 778a82e949..0000000000 --- a/docroot/modules/custom/bos_content/bos_content.libraries.yml +++ /dev/null @@ -1,4 +0,0 @@ -workbench.button_icons: - css: - theme: - css/button_icons.css: {} diff --git a/docroot/modules/custom/bos_content/bos_content.module b/docroot/modules/custom/bos_content/bos_content.module index 5fd22bd104..8941dddfa4 100644 --- a/docroot/modules/custom/bos_content/bos_content.module +++ b/docroot/modules/custom/bos_content/bos_content.module @@ -140,10 +140,3 @@ function _bos_content_update_all_configs() { } drush_config_devel_export("bos_content"); } - -/** - * Implements hook_preprocess_HOOK(). - */ -function bos_content_preprocess_toolbar(&$variables) { - $variables["#attached"]["library"][] = "bos_content/workbench.button_icons"; -} diff --git a/docroot/modules/custom/bos_content/css/button_icons.css b/docroot/modules/custom/bos_content/css/button_icons.css deleted file mode 100644 index 1c3f56d898..0000000000 --- a/docroot/modules/custom/bos_content/css/button_icons.css +++ /dev/null @@ -1,6 +0,0 @@ -.toolbar-icon-node-public-notice-workbench-create::before { - background-image: url(../modules/node_public_notice/default_public_notice.svg); -} -.toolbar-icon-node-rollcall-workbench-create::before { - background-image: url(../modules/node_rollcall/roll_call_vote_icon.svg); -} diff --git a/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml index 98f5f5582b..f71a2cd41a 100644 --- a/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml +++ b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml @@ -1,6 +1,7 @@ node_public_notice.workbench_create: title: 'Create Public Notice' - description: 'Create a new Public Notice.' - route_name: node_rollcall.workbench_create - weight: 10 + description: 'Create a new Public Notice' + route_name: node_public_notice.entity_form + parent: workbench.create_content menu_name: workbench + weight: 10 diff --git a/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.routing.yml b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.routing.yml index fec70712c1..89aa28534e 100644 --- a/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.routing.yml +++ b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.routing.yml @@ -1,7 +1,15 @@ -node_public_notice.workbench_create: - path: '/admin/workbench/public_notice/create' +node_public_notice.entity_form: + path: '/node/add/public_notice' defaults: - _entity_form: 'node.public_notice' - _title: 'Add Rollcall Docket' + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'public_notice' requirements: _permission: 'create public_notice content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml index b4a65f56b5..958c7ee7cb 100644 --- a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml @@ -1,6 +1,7 @@ node_rollcall.workbench_create: title: 'Create Rollcall Docket' - description: 'Create a new rollcall docket.' - route_name: node_rollcall.workbench_create + description: 'Create a new rollcall docket' + route_name: node_rollcall.entity_form + parent: workbench.create_content menu_name: workbench weight: 10 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 index 3af04c6ae1..a22a0f8884 100644 --- 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 @@ -14,10 +14,17 @@ node_rollcall.summarizer_api: requirements: _access: 'TRUE' -node_rollcall.workbench_create: - path: '/admin/workbench/rollcall/create' +node_rollcall.entity_form: + path: '/node/add/roll_call_dockets' defaults: - _entity_form: 'node.rollcall_docket' - _title: 'Add Rollcall Docket' + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'roll_call_dockets' requirements: _permission: 'create roll_call_dockets content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE diff --git a/docroot/modules/custom/bos_core/bos_core.links.menu.yml b/docroot/modules/custom/bos_core/bos_core.links.menu.yml index 5a9c9ea128..343073dee7 100644 --- a/docroot/modules/custom/bos_core/bos_core.links.menu.yml +++ b/docroot/modules/custom/bos_core/bos_core.links.menu.yml @@ -16,3 +16,10 @@ bos_core.content_moderation.list: route_name: bos_core.content_moderation.list parent: system.admin_content description: 'View content which needs review.' + +bos_core.workbench_content_listing_menu: + title: 'Content Listings' + description: 'View content in convenient filter-able and sort-able listing page.' + route_name: bos_core.workbench_create_content + menu_name: workbench + weight: 11 diff --git a/docroot/modules/custom/bos_core/bos_core.module b/docroot/modules/custom/bos_core/bos_core.module index 89bcb47453..a065f143db 100644 --- a/docroot/modules/custom/bos_core/bos_core.module +++ b/docroot/modules/custom/bos_core/bos_core.module @@ -1001,3 +1001,15 @@ function bos_core_node_presave(EntityInterface $entity): void { function bos_core_preprocess_username(&$variables) { realname_extension_preprocess_username($variables); } + +/** + * Implements hook_toolbar_alter(). + */ +function bos_core_toolbar_alter(&$items) { + // REPLACE the existing toolbar renderer: + // \Drupal\workbench\Render\Element\WorkbenchToolbar::preRenderTray() + $items["workbench"]["tray"]["workbench_toolbar"]["#pre_render"] = [[ + "\Drupal\bos_core\Render\Element\WorkbenchToolbarOverride", + "preRenderTray", + ]]; +} diff --git a/docroot/modules/custom/bos_core/bos_core.routing.yml b/docroot/modules/custom/bos_core/bos_core.routing.yml index 414d258445..ab1624e6c8 100644 --- a/docroot/modules/custom/bos_core/bos_core.routing.yml +++ b/docroot/modules/custom/bos_core/bos_core.routing.yml @@ -40,3 +40,11 @@ bos_core.set_content_moderation: parameters: entity: type: entity:{entity_type} + +bos_core.workbench_create_content: + path: '/admin/workbench/add' + defaults: + _controller: '\Drupal\bos_core\Controllers\Workbench\WorkbenchController::createContent' + _title: 'Add Content' + requirements: + _permission: 'access administration pages' diff --git a/docroot/modules/custom/bos_core/src/Controllers/Workbench/WorkbenchController.php b/docroot/modules/custom/bos_core/src/Controllers/Workbench/WorkbenchController.php new file mode 100644 index 0000000000..a6cf0cf231 --- /dev/null +++ b/docroot/modules/custom/bos_core/src/Controllers/Workbench/WorkbenchController.php @@ -0,0 +1,20 @@ + 'markup', + '#markup' => $this->t("Select a listing from the dopdown menu."), + ]; + } + +} diff --git a/docroot/modules/custom/bos_core/src/Render/Element/WorkbenchToolbarOverride.php b/docroot/modules/custom/bos_core/src/Render/Element/WorkbenchToolbarOverride.php new file mode 100644 index 0000000000..4fe57d8dc6 --- /dev/null +++ b/docroot/modules/custom/bos_core/src/Render/Element/WorkbenchToolbarOverride.php @@ -0,0 +1,60 @@ +bos_core_toolbar_alter(). + * + * Should anything go wrong here, we default to the original preRenderTray + * code in the contributed module. + * + * The main intent of this override is to allow submenus on the workbench menus. + * We increase the maxDepth from 1 to 3. + * + * @param array $element + * + * @return array + */ + public static function preRenderTray(array $element) { + try { + $menu_tree = \Drupal::service('toolbar.menu_tree'); + $parameters = new MenuTreeParameters(); + $parameters->setMinDepth(1)->setMaxDepth(3); // This MaxDepth is different to what is in the parent code. + $tree = $menu_tree->load('workbench', $parameters); + $manipulators = [ + ['callable' => 'menu.default_tree_manipulators:checkAccess'], + ['callable' => 'menu.default_tree_manipulators:generateIndexAndSort'], + ['callable' => 'toolbar_menu_navigation_links'], + ]; + $tree = $menu_tree->transform($tree, $manipulators); + $element['administration_menu'] = $menu_tree->build($tree); + } + catch (\Exception $e) { + // Anything goes wrong, call the original method in parent class. + unset($element['administration_menu']); + return parent::preRenderTray($element); + } + + if (empty($element["administration_menu"]) + || empty($element["administration_menu"]["#items"]) + || empty($element["administration_menu"]["#items"]["workbench.content"]) + ) { + // The render array was not built out promperly, defaut back to original + // method in the parent (overridden) class. + unset($element['administration_menu']); + return parent::preRenderTray($element); + } + return $element; + } + +} diff --git a/docroot/themes/custom/bos_admin/bos_admin.theme b/docroot/themes/custom/bos_admin/bos_admin.theme index 2eda0c3904..d102cc429a 100644 --- a/docroot/themes/custom/bos_admin/bos_admin.theme +++ b/docroot/themes/custom/bos_admin/bos_admin.theme @@ -54,13 +54,7 @@ function bos_admin_preprocess_html(&$variables) { && isset($node->hasField['moderation_state'])) { $variables['attributes']['class'][] = "node-" . $node->get('moderation_state')->getString(); } -} - -/** - * Implements hook_preprocess_HOOK(). - */ -function bos_admin_preprocess_page__admin__workbench(array &$variables) { - if ($variables["page"]["#title"]->__toString() == "My Workbench") { + if (in_array("adminimal-admin-toolbar", $variables["attributes"]["class"])) { $variables['#attached']['library'][] = "bos_admin/workbench"; } } diff --git a/docroot/themes/custom/bos_admin/css/bos_admin.workbench.css b/docroot/themes/custom/bos_admin/css/bos_admin.workbench.css index e212b23842..bf6e221ac6 100644 --- a/docroot/themes/custom/bos_admin/css/bos_admin.workbench.css +++ b/docroot/themes/custom/bos_admin/css/bos_admin.workbench.css @@ -64,3 +64,9 @@ div.admin.my-workbench .workbench-full { .view .view-footer a { font-weight: bold; } +/** + * Workbench Toolbar + */ +.toolbar-icon-bos-core-workbench-content-listing-menu:before { + background-image: url("../images/workbench/787878/iconmonstr-task-1.svg"); +} diff --git a/docroot/themes/custom/bos_admin/images/workbench/000000/iconmonstr-task-1.svg b/docroot/themes/custom/bos_admin/images/workbench/000000/iconmonstr-task-1.svg new file mode 100644 index 0000000000..79aa3b649a --- /dev/null +++ b/docroot/themes/custom/bos_admin/images/workbench/000000/iconmonstr-task-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docroot/themes/custom/bos_admin/images/workbench/787878/iconmonstr-task-1.svg b/docroot/themes/custom/bos_admin/images/workbench/787878/iconmonstr-task-1.svg new file mode 100644 index 0000000000..571bae1475 --- /dev/null +++ b/docroot/themes/custom/bos_admin/images/workbench/787878/iconmonstr-task-1.svg @@ -0,0 +1 @@ + diff --git a/docroot/themes/custom/bos_admin/images/workbench/ffffff/iconmonstr-task-1.svg b/docroot/themes/custom/bos_admin/images/workbench/ffffff/iconmonstr-task-1.svg new file mode 100644 index 0000000000..6d02f59abb --- /dev/null +++ b/docroot/themes/custom/bos_admin/images/workbench/ffffff/iconmonstr-task-1.svg @@ -0,0 +1,14 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/docroot/themes/custom/bos_theme/bos_theme.libraries.yml b/docroot/themes/custom/bos_theme/bos_theme.libraries.yml index 09bc3d6a68..a8f40b3490 100644 --- a/docroot/themes/custom/bos_theme/bos_theme.libraries.yml +++ b/docroot/themes/custom/bos_theme/bos_theme.libraries.yml @@ -139,6 +139,7 @@ page.assets: css: theme: css/bos_theme_overrides.css: {} + css/bos_theme.css: {} page.tabbed_page: js: diff --git a/docroot/themes/custom/bos_theme/css/bos_theme.css b/docroot/themes/custom/bos_theme/css/bos_theme.css index 8c197bfba0..ddbd7d2c19 100644 --- a/docroot/themes/custom/bos_theme/css/bos_theme.css +++ b/docroot/themes/custom/bos_theme/css/bos_theme.css @@ -1,3 +1,6 @@ /* For use when no external patterns libraries are available. -*/ \ No newline at end of file +*/ +.toolbar-icon-bos-core-workbench-content-listing-menu:before { + background-image: url("../images/workbench/787878/iconmonstr-task-1.svg"); +} diff --git a/docroot/themes/custom/bos_theme/images/workbench/000000/iconmonstr-task-1.svg b/docroot/themes/custom/bos_theme/images/workbench/000000/iconmonstr-task-1.svg new file mode 100644 index 0000000000..79aa3b649a --- /dev/null +++ b/docroot/themes/custom/bos_theme/images/workbench/000000/iconmonstr-task-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docroot/themes/custom/bos_theme/images/workbench/787878/iconmonstr-task-1.svg b/docroot/themes/custom/bos_theme/images/workbench/787878/iconmonstr-task-1.svg new file mode 100644 index 0000000000..571bae1475 --- /dev/null +++ b/docroot/themes/custom/bos_theme/images/workbench/787878/iconmonstr-task-1.svg @@ -0,0 +1 @@ + From 01b3185a2c91c734d9ee8f3a3305286dcd2939a3 Mon Sep 17 00:00:00 2001 From: David Upton Date: Mon, 29 Jul 2024 16:46:10 -0400 Subject: [PATCH 13/15] DIG-4631 Adds commonly used content types to menu. --- .../bos_content/bos_content.links.menu.yml | 7 ++++ .../node_article/node_article.links.menu.yml | 7 ++++ .../node_article/node_article.routing.yml | 15 ++++++++ .../node_department_profile.links.menu.yml | 7 ++++ .../node_department_profile.routing.yml | 15 ++++++++ .../node_elections.links.menu.yml | 8 ++++ .../node_elections/node_elections.routing.yml | 15 ++++++++ .../node_event/node_event.links.menu.yml | 7 ++++ .../modules/node_event/node_event.routing.yml | 15 ++++++++ .../node_how_to/node_how_to.links.menu.yml | 7 ++++ .../node_how_to/node_how_to.routing.yml | 15 ++++++++ .../node_listing_page.links.menu.yml | 7 ++++ .../node_listing_page.routing.yml | 15 ++++++++ .../node_person_profile.links.menu.yml | 7 ++++ .../node_person_profile.routing.yml | 15 ++++++++ .../node_place_profile.links.menu.yml | 7 ++++ .../node_place_profile.routing.yml | 15 ++++++++ .../node_post/node_post.links.menu.yml | 7 ++++ .../modules/node_post/node_post.routing.yml | 15 ++++++++ ...e_procurement_advertisement.links.menu.yml | 7 ++++ ...node_procurement_advertisement.routing.yml | 15 ++++++++ ..._program_initiative_profile.links.menu.yml | 7 ++++ ...ode_program_initiative_profile.routing.yml | 15 ++++++++ .../node_public_notice.links.menu.yml | 2 +- .../node_rollcall.links.menu.yml | 2 +- .../node_tabbed_content.links.menu.yml | 7 ++++ .../node_tabbed_content.routing.yml | 15 ++++++++ .../themes/custom/bos_admin/css/bos_admin.css | 31 +++++++++++---- .../themes/custom/bos_theme/css/bos_theme.css | 38 +++++++++++++++++++ 29 files changed, 335 insertions(+), 10 deletions(-) create mode 100644 docroot/modules/custom/bos_content/bos_content.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_article/node_article.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_article/node_article.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_department_profile/node_department_profile.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_department_profile/node_department_profile.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_event/node_event.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_event/node_event.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_how_to/node_how_to.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_how_to/node_how_to.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_listing_page/node_listing_page.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_listing_page/node_listing_page.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_person_profile/node_person_profile.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_person_profile/node_person_profile.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_place_profile/node_place_profile.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_place_profile/node_place_profile.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_post/node_post.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_post/node_post.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_program_initiative_profile/node_program_initiative_profile.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_program_initiative_profile/node_program_initiative_profile.routing.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_tabbed_content/node_tabbed_content.links.menu.yml create mode 100644 docroot/modules/custom/bos_content/modules/node_tabbed_content/node_tabbed_content.routing.yml diff --git a/docroot/modules/custom/bos_content/bos_content.links.menu.yml b/docroot/modules/custom/bos_content/bos_content.links.menu.yml new file mode 100644 index 0000000000..df2d4527ee --- /dev/null +++ b/docroot/modules/custom/bos_content/bos_content.links.menu.yml @@ -0,0 +1,7 @@ +bos_content.workbench_create: + title: 'All Content' + description: 'See a list of all content types you can create.' + route_name: workbench.create_content + parent: workbench.create_content + menu_name: workbench + weight: 10 diff --git a/docroot/modules/custom/bos_content/modules/node_article/node_article.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_article/node_article.links.menu.yml new file mode 100644 index 0000000000..b68a6de577 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_article/node_article.links.menu.yml @@ -0,0 +1,7 @@ +node_article.workbench_create: + title: 'Create Article' + description: 'Create a new Article' + route_name: node_article.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_article/node_article.routing.yml b/docroot/modules/custom/bos_content/modules/node_article/node_article.routing.yml new file mode 100644 index 0000000000..88b141b8cf --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_article/node_article.routing.yml @@ -0,0 +1,15 @@ +node_article.entity_form: + path: '/node/add/article' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'article' + requirements: + _permission: 'create article content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_department_profile/node_department_profile.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_department_profile/node_department_profile.links.menu.yml new file mode 100644 index 0000000000..2ff31587b9 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_department_profile/node_department_profile.links.menu.yml @@ -0,0 +1,7 @@ +node_department_profile.workbench_create: + title: 'Create Department Profile' + description: 'Create a new Department Profile' + route_name: node_department_profile.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_department_profile/node_department_profile.routing.yml b/docroot/modules/custom/bos_content/modules/node_department_profile/node_department_profile.routing.yml new file mode 100644 index 0000000000..c9bb20cfbb --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_department_profile/node_department_profile.routing.yml @@ -0,0 +1,15 @@ +node_department_profile.entity_form: + path: '/node/add/department_profile' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'department_profile' + requirements: + _permission: 'create department_profile content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_elections/node_elections.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_elections/node_elections.links.menu.yml index 319900f2c8..f1b3efd21a 100644 --- a/docroot/modules/custom/bos_content/modules/node_elections/node_elections.links.menu.yml +++ b/docroot/modules/custom/bos_content/modules/node_elections/node_elections.links.menu.yml @@ -3,3 +3,11 @@ node_elections.admin: description: 'Manage election results' parent: system.admin_content route_name: node_elections.admin + +node_election.workbench_create: + title: 'Create Election' + description: 'Create a new Election Results Entry' + route_name: node_election.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_elections/node_elections.routing.yml b/docroot/modules/custom/bos_content/modules/node_elections/node_elections.routing.yml index e91e5d0c08..402c5f1185 100644 --- a/docroot/modules/custom/bos_content/modules/node_elections/node_elections.routing.yml +++ b/docroot/modules/custom/bos_content/modules/node_elections/node_elections.routing.yml @@ -5,3 +5,18 @@ node_elections.admin: _form: '\Drupal\node_elections\Form\ElectionUploaderForm' requirements: _role: 'site_administrator+election_editor' + +node_election.entity_form: + path: '/node/add/election' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'election' + requirements: + _permission: 'create election content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE diff --git a/docroot/modules/custom/bos_content/modules/node_event/node_event.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_event/node_event.links.menu.yml new file mode 100644 index 0000000000..46e2a12f7b --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_event/node_event.links.menu.yml @@ -0,0 +1,7 @@ +node_event.workbench_create: + title: 'Create Event' + description: 'Create a new Event' + route_name: node_event.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_event/node_event.routing.yml b/docroot/modules/custom/bos_content/modules/node_event/node_event.routing.yml new file mode 100644 index 0000000000..7b01dd99ef --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_event/node_event.routing.yml @@ -0,0 +1,15 @@ +node_event.entity_form: + path: '/node/add/event' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'event' + requirements: + _permission: 'create event content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_how_to/node_how_to.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_how_to/node_how_to.links.menu.yml new file mode 100644 index 0000000000..61c269db8e --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_how_to/node_how_to.links.menu.yml @@ -0,0 +1,7 @@ +node_how_to.workbench_create: + title: 'Create How-To' + description: 'Create a new How-To Page' + route_name: node_how_to.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_how_to/node_how_to.routing.yml b/docroot/modules/custom/bos_content/modules/node_how_to/node_how_to.routing.yml new file mode 100644 index 0000000000..eabf95bffa --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_how_to/node_how_to.routing.yml @@ -0,0 +1,15 @@ +node_how_to.entity_form: + path: '/node/add/how_to' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'how_to' + requirements: + _permission: 'create how_to content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_listing_page/node_listing_page.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_listing_page/node_listing_page.links.menu.yml new file mode 100644 index 0000000000..152aa75e64 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_listing_page/node_listing_page.links.menu.yml @@ -0,0 +1,7 @@ +node_listing_page.workbench_create: + title: 'Create Listing Page' + description: 'Create a new Listing Page' + route_name: node_listing_page.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_listing_page/node_listing_page.routing.yml b/docroot/modules/custom/bos_content/modules/node_listing_page/node_listing_page.routing.yml new file mode 100644 index 0000000000..7a87b48b40 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_listing_page/node_listing_page.routing.yml @@ -0,0 +1,15 @@ +node_listing_page.entity_form: + path: '/node/add/listing_page' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'listing_page' + requirements: + _permission: 'create listing_page content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_person_profile/node_person_profile.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_person_profile/node_person_profile.links.menu.yml new file mode 100644 index 0000000000..50697f4b81 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_person_profile/node_person_profile.links.menu.yml @@ -0,0 +1,7 @@ +node_person_profile.workbench_create: + title: 'Create Person Profile' + description: 'Create a new Person Profile' + route_name: node_person_profile.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_person_profile/node_person_profile.routing.yml b/docroot/modules/custom/bos_content/modules/node_person_profile/node_person_profile.routing.yml new file mode 100644 index 0000000000..f9726166b5 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_person_profile/node_person_profile.routing.yml @@ -0,0 +1,15 @@ +node_person_profile.entity_form: + path: '/node/add/person_profile' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'person_profile' + requirements: + _permission: 'create person_profile content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_place_profile/node_place_profile.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_place_profile/node_place_profile.links.menu.yml new file mode 100644 index 0000000000..aacaa0544c --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_place_profile/node_place_profile.links.menu.yml @@ -0,0 +1,7 @@ +node_place_profile.workbench_create: + title: 'Create Place Profile' + description: 'Create a new Place Profile' + route_name: node_place_profile.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_place_profile/node_place_profile.routing.yml b/docroot/modules/custom/bos_content/modules/node_place_profile/node_place_profile.routing.yml new file mode 100644 index 0000000000..0f895ef5fb --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_place_profile/node_place_profile.routing.yml @@ -0,0 +1,15 @@ +node_place_profile.entity_form: + path: '/node/add/place_profile' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'place_profile' + requirements: + _permission: 'create place_profile content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_post/node_post.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_post/node_post.links.menu.yml new file mode 100644 index 0000000000..7aeb7e378b --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_post/node_post.links.menu.yml @@ -0,0 +1,7 @@ +node_post.workbench_create: + title: 'Create Post' + description: 'Create a new Post' + route_name: node_post.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_post/node_post.routing.yml b/docroot/modules/custom/bos_content/modules/node_post/node_post.routing.yml new file mode 100644 index 0000000000..3fae010017 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_post/node_post.routing.yml @@ -0,0 +1,15 @@ +node_post.entity_form: + path: '/node/add/post' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'post' + requirements: + _permission: 'create post content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.links.menu.yml new file mode 100644 index 0000000000..484d2b46cb --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.links.menu.yml @@ -0,0 +1,7 @@ +node_procurement_advertisement.workbench_create: + title: 'Create Procurement Advertisement' + description: 'Create a new Procurement Advertisement' + route_name: node_procurement_advertisement.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.routing.yml b/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.routing.yml new file mode 100644 index 0000000000..83903a63bc --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_procurement_advertisement/node_procurement_advertisement.routing.yml @@ -0,0 +1,15 @@ +node_procurement_advertisement.entity_form: + path: '/node/add/procurement_advertisement' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'procurement_advertisement' + requirements: + _permission: 'create procurement_advertisement content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_program_initiative_profile/node_program_initiative_profile.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_program_initiative_profile/node_program_initiative_profile.links.menu.yml new file mode 100644 index 0000000000..3f9bd51145 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_program_initiative_profile/node_program_initiative_profile.links.menu.yml @@ -0,0 +1,7 @@ +node_program_initiative_profile.workbench_create: + title: 'Create Program Initiative Profile' + description: 'Create a new Program Initiative Profile' + route_name: node_program_initiative_profile.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_program_initiative_profile/node_program_initiative_profile.routing.yml b/docroot/modules/custom/bos_content/modules/node_program_initiative_profile/node_program_initiative_profile.routing.yml new file mode 100644 index 0000000000..e6f1a164a0 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_program_initiative_profile/node_program_initiative_profile.routing.yml @@ -0,0 +1,15 @@ +node_program_initiative_profile.entity_form: + path: '/node/add/program_initiative_profile' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'program_initiative_profile' + requirements: + _permission: 'create program_initiative_profile content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml index f71a2cd41a..9e1b589ebb 100644 --- a/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml +++ b/docroot/modules/custom/bos_content/modules/node_public_notice/node_public_notice.links.menu.yml @@ -4,4 +4,4 @@ node_public_notice.workbench_create: route_name: node_public_notice.entity_form parent: workbench.create_content menu_name: workbench - weight: 10 + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml index 958c7ee7cb..a52ec87e44 100644 --- a/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml +++ b/docroot/modules/custom/bos_content/modules/node_rollcall/node_rollcall.links.menu.yml @@ -4,4 +4,4 @@ node_rollcall.workbench_create: route_name: node_rollcall.entity_form parent: workbench.create_content menu_name: workbench - weight: 10 + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_tabbed_content/node_tabbed_content.links.menu.yml b/docroot/modules/custom/bos_content/modules/node_tabbed_content/node_tabbed_content.links.menu.yml new file mode 100644 index 0000000000..4fcfebfaf5 --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_tabbed_content/node_tabbed_content.links.menu.yml @@ -0,0 +1,7 @@ +node_tabbed_content.workbench_create: + title: 'Create Tabbed Content Page' + description: 'Create a new Tabbed Content Page' + route_name: node_tabbed_content.entity_form + parent: workbench.create_content + menu_name: workbench + weight: 0 diff --git a/docroot/modules/custom/bos_content/modules/node_tabbed_content/node_tabbed_content.routing.yml b/docroot/modules/custom/bos_content/modules/node_tabbed_content/node_tabbed_content.routing.yml new file mode 100644 index 0000000000..337390ef9c --- /dev/null +++ b/docroot/modules/custom/bos_content/modules/node_tabbed_content/node_tabbed_content.routing.yml @@ -0,0 +1,15 @@ +node_tabbed_content.entity_form: + path: '/node/add/tabbed_content' + defaults: + _entity_form: 'node.default' + _title_callback: '\Drupal\node\Controller\NodeController::addPageTitle' + node_type: 'tabbed_content' + requirements: + _permission: 'create tabbed_content content' + options: + _node_operation_route: TRUE + parameters: + node_type: + type: 'entity:node_type' + with_config_overrides: TRUE + diff --git a/docroot/themes/custom/bos_admin/css/bos_admin.css b/docroot/themes/custom/bos_admin/css/bos_admin.css index f9f6f29096..f4ff5a125a 100644 --- a/docroot/themes/custom/bos_admin/css/bos_admin.css +++ b/docroot/themes/custom/bos_admin/css/bos_admin.css @@ -600,8 +600,9 @@ edit forms } .bos_admin .toolbar .toolbar-bar { - background-color: #2D2D2D; - box-shadow: -2px 2px 12px rgba(0,0,0,0.85); + /* background-color: #2D2D2D; */ + /* box-shadow: -2px 2px 12px rgba(0,0,0,0.85); */ + /* border-bottom: 1px solid grey; */ } .bos_admin .toolbar .toolbar-menu { @@ -626,17 +627,19 @@ edit forms } .bos_admin .toolbar .toolbar-bar .toolbar-tab > .toolbar-item:hover { - background-image: none; - background-color: #2D2D2D; + background-image: linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%); color: #fff; text-decoration: none; } .bos_admin .toolbar .toolbar-bar .toolbar-tab > .toolbar-item.is-active, .bos_admin .toolbar .toolbar-bar .toolbar-tab > .toolbar-item:focus { - background-image: none; - background-color: #333; + background-image: linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%); text-decoration: none; + filter: none; + color: #EEEEEE; + opacity: 0.8; + border-bottom: none; } .bos_admin .toolbar .toolbar-tray-horizontal .menu-item + .menu-item, @@ -648,11 +651,23 @@ edit forms .bos_admin .toolbar .toolbar-tray .menu-item--active-trail > .toolbar-box a, .bos_admin .toolbar .toolbar-tray a.is-active { - color: #bbb; + color: #fff; text-decoration: none; font-weight: 500; + background-color: rgba(0, 132, 215, 0.7); + filter: none; +} + +.adminimal-admin-toolbar .toolbar-tray-horizontal a:hover, +.adminimal-admin-toolbar .toolbar-tray-horizontal a:active, +.adminimal-admin-toolbar .toolbar-tray-horizontal a:focus, +.adminimal-admin-toolbar .toolbar-tray-horizontal .menu-item--expanded a:hover, +.adminimal-admin-toolbar .toolbar-tray-horizontal .menu-item--expanded a:active, +.adminimal-admin-toolbar .toolbar-tray-horizontal .menu-item--expanded a:focus { + background-color: rgba(0, 132, 215, 0.45); + color: #d8d8d8; + text-decoration: none; } - .bos_admin .toolbar .toolbar-tray-vertical .menu-item + .menu-item { border: 0 none; } diff --git a/docroot/themes/custom/bos_theme/css/bos_theme.css b/docroot/themes/custom/bos_theme/css/bos_theme.css index ddbd7d2c19..41fff9ef8e 100644 --- a/docroot/themes/custom/bos_theme/css/bos_theme.css +++ b/docroot/themes/custom/bos_theme/css/bos_theme.css @@ -4,3 +4,41 @@ For use when no external patterns libraries are available. .toolbar-icon-bos-core-workbench-content-listing-menu:before { background-image: url("../images/workbench/787878/iconmonstr-task-1.svg"); } +.adminimal-admin-toolbar .toolbar .toolbar-bar a.toolbar-item:hover { + text-decoration: none; +} +.adminimal-admin-toolbar .toolbar .toolbar-bar .toolbar-tab > .toolbar-item.is-active { + background-color: rgba(255, 255, 255, .15); + color: #fff; + text-decoration: none; +} + +.bos_admin .toolbar .toolbar-bar .toolbar-tab > .toolbar-item.is-active, +.bos_admin .toolbar .toolbar-bar .toolbar-tab > .toolbar-item:focus { + background-color: rgba(255, 255, 255, .15); + text-decoration: none; + filter: none; + color: #EEEEEE; + opacity: 0.8; + border-bottom: none; +} + +.bos_admin .toolbar .toolbar-tray .menu-item--active-trail > .toolbar-box a, +.bos_admin .toolbar .toolbar-tray a.is-active { + color: #fff; + text-decoration: none; + font-weight: 500; + background-color: rgba(0, 132, 215, 0.7); + filter: none; +} + +.adminimal-admin-toolbar .toolbar-tray-horizontal a:hover, +.adminimal-admin-toolbar .toolbar-tray-horizontal a:active, +.adminimal-admin-toolbar .toolbar-tray-horizontal a:focus, +.adminimal-admin-toolbar .toolbar-tray-horizontal .menu-item--expanded a:hover, +.adminimal-admin-toolbar .toolbar-tray-horizontal .menu-item--expanded a:active, +.adminimal-admin-toolbar .toolbar-tray-horizontal .menu-item--expanded a:focus { + background-color: rgba(0, 132, 215, 0.45); + color: #d8d8d8; + text-decoration: none; +} From fc1f6b7ff56d171948375162a5e6caed06581cf7 Mon Sep 17 00:00:00 2001 From: David Upton Date: Mon, 29 Jul 2024 17:18:43 -0400 Subject: [PATCH 14/15] DIG-4863 Drupal Maintenance - Previously locked modules --- composer.json | 8 +- composer.lock | 417 ++++++++++++++++++++++++++++---------------------- 2 files changed, 238 insertions(+), 187 deletions(-) diff --git a/composer.json b/composer.json index 419a8fbdcb..5b359ef404 100644 --- a/composer.json +++ b/composer.json @@ -62,7 +62,7 @@ "drupal/address": "^1.4", "drupal/addtocal": "^3.0@beta", "drupal/admin_toolbar": "^3.1", - "drupal/adminimal_admin_toolbar": "1.x-dev@dev", + "drupal/adminimal_admin_toolbar": "^2.0", "drupal/adminimal_theme": "^1.7", "drupal/advanced_text_formatter": "^3.0@RC", "drupal/ape": "^1.6", @@ -110,13 +110,13 @@ "drupal/field_group": "^3.0", "drupal/file_entity": "^2.x-dev", "drupal/file_mdm": "^2.2.0", - "drupal/geolocation": "3.12", + "drupal/geolocation": "^3.13", "drupal/google_tag": "^2.0", "drupal/honeypot": "^2.1", "drupal/image_url_formatter": "^1.0", "drupal/image_widget_crop": "^2.4", "drupal/imagemagick": "^3.2.0", - "drupal/inline_entity_form": "^1.0@beta", + "drupal/inline_entity_form": "^3.0@RC", "drupal/jquery_ui_accordion": "^2.0", "drupal/jquery_ui_slider": "^2.0", "drupal/jsonapi_extras": "^3.20", @@ -207,7 +207,7 @@ "google/cloud-document-ai": "^1.10", "jackmoore/colorbox": "^1.6", "oomphinc/composer-installers-extender": "^2.0", - "picqer/php-barcode-generator": "2.3.3", + "picqer/php-barcode-generator": "^2.4", "sainsburys/guzzle-oauth2-plugin": "^3.0", "setasign/fpdf": "^1.8", "setasign/fpdi": "^2.3", diff --git a/composer.lock b/composer.lock index 12b5952139..e2529d96cc 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ca2bba2954b210d0e556101c0a91ad14", + "content-hash": "7d3da99bf7ae541517d2538b3c07f250", "packages": [ { "name": "ajgl/breakpoint-twig-extension", @@ -1968,11 +1968,17 @@ }, { "name": "drupal/adminimal_admin_toolbar", - "version": "dev-1.x", + "version": "2.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/adminimal_admin_toolbar.git", - "reference": "70607c618a605916161235b89e6141e25e383872" + "reference": "2.0.0" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/adminimal_admin_toolbar-2.0.0.zip", + "reference": "2.0.0", + "shasum": "39c506e104d4c962d012f473c23c02b2f4a5e209" }, "require": { "drupal/admin_toolbar": "*", @@ -1980,15 +1986,12 @@ }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.11+4-dev", - "datestamp": "1684167895", + "version": "2.0.0", + "datestamp": "1717694555", "security-coverage": { - "status": "not-covered", - "message": "Dev releases are not covered by Drupal security advisories." + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } } }, @@ -5197,20 +5200,20 @@ }, { "name": "drupal/entity_usage", - "version": "2.0.0-beta12", + "version": "2.0.0-beta13", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_usage.git", - "reference": "8.x-2.0-beta12" + "reference": "8.x-2.0-beta13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_usage-8.x-2.0-beta12.zip", - "reference": "8.x-2.0-beta12", - "shasum": "cdd31e6c413cad6fbdb1bd0aac9ad8a0331eb429" + "url": "https://ftp.drupal.org/files/projects/entity_usage-8.x-2.0-beta13.zip", + "reference": "8.x-2.0-beta13", + "shasum": "3b07a629ed6c94ee23656556b0d1a1c7ba58a77f" }, "require": { - "drupal/core": "^9.1 || ^10" + "drupal/core": "^10.1 || ^11" }, "require-dev": { "drupal/block_field": "~1.0", @@ -5227,8 +5230,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.0-beta12", - "datestamp": "1684309054", + "version": "8.x-2.0-beta13", + "datestamp": "1721834455", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -5245,6 +5248,10 @@ "GPL-2.0+" ], "authors": [ + { + "name": "Lullabot", + "homepage": "https://www.drupal.org/user/3815489" + }, { "name": "marcoscano", "homepage": "https://www.drupal.org/user/1288796" @@ -5557,10 +5564,10 @@ "source": { "type": "git", "url": "https://git.drupalcode.org/project/file_entity.git", - "reference": "4c89f380f32d10f2a8e2aeb269ca3fdb3a9666a8" + "reference": "95e539e88d79995c33385b53ca7c9e25fb6467b3" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^10.2 || ^11", "drupal/token": "^1", "php": ">=8.0" }, @@ -5574,8 +5581,8 @@ "dev-2.x": "2.x-dev" }, "drupal": { - "version": "8.x-2.0+1-dev", - "datestamp": "1721081449", + "version": "8.x-2.0+3-dev", + "datestamp": "1722159521", "security-coverage": { "status": "not-covered", "message": "Dev releases are not covered by Drupal security advisories." @@ -5730,17 +5737,17 @@ }, { "name": "drupal/geolocation", - "version": "3.12.0", + "version": "3.13.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/geolocation.git", - "reference": "8.x-3.12" + "reference": "8.x-3.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/geolocation-8.x-3.12.zip", - "reference": "8.x-3.12", - "shasum": "eb31fe9080e2e0dcf442fc9b0a859f326219db5a" + "url": "https://ftp.drupal.org/files/projects/geolocation-8.x-3.13.zip", + "reference": "8.x-3.13", + "shasum": "49029950bc0927f14b1d0ce01f93e03cdd131ee6" }, "require": { "drupal/core": "^9.3 || ^10", @@ -5766,8 +5773,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.12", - "datestamp": "1673282362", + "version": "8.x-3.13", + "datestamp": "1714403539", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5797,21 +5804,20 @@ }, { "name": "drupal/google_tag", - "version": "2.0.5", + "version": "2.0.6", "source": { "type": "git", "url": "https://git.drupalcode.org/project/google_tag.git", - "reference": "2.0.5" + "reference": "2.0.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/google_tag-2.0.5.zip", - "reference": "2.0.5", - "shasum": "75f5cbdf8ea8c78178a5dfab50cf7ee7777c6491" + "url": "https://ftp.drupal.org/files/projects/google_tag-2.0.6.zip", + "reference": "2.0.6", + "shasum": "c8f2895a81a7898ac909bdc693fcd25ffe6f62be" }, "require": { - "drupal/core": "^9.5 || ^10", - "php": "^7.4 || ^8" + "drupal/core": "^9.5 || ^10 || ^11" }, "require-dev": { "drupal/commerce": "^2.0", @@ -5825,8 +5831,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.5", - "datestamp": "1716308134", + "version": "2.0.6", + "datestamp": "1721948116", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5862,7 +5868,7 @@ "homepage": "https://www.drupal.org/user/240748" } ], - "description": "Sets up Google Tag", + "description": "Provides support for Google Tag and Google Tag Manager in Drupal.", "homepage": "https://www.drupal.org/project/google_tag", "support": { "source": "https://git.drupalcode.org/project/google_tag" @@ -6145,20 +6151,21 @@ }, { "name": "drupal/inline_entity_form", - "version": "1.0.0-rc17", + "version": "3.0.0-rc20", "source": { "type": "git", "url": "https://git.drupalcode.org/project/inline_entity_form.git", - "reference": "8.x-1.0-rc17" + "reference": "3.0.0-rc20" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/inline_entity_form-8.x-1.0-rc17.zip", - "reference": "8.x-1.0-rc17", - "shasum": "626622e01cf7a2d2977fdc06ae09afd5a814e09b" + "url": "https://ftp.drupal.org/files/projects/inline_entity_form-3.0.0-rc20.zip", + "reference": "3.0.0-rc20", + "shasum": "c9ad4572bce4260d1d233a0c3196e4ff0915e4ee" }, "require": { - "drupal/core": "^8.8 || ^9 || ^10", + "drupal/core": "^8.8 || ^9 || ^10 || ^11", + "drupal/rat": "^1.0.0@stable", "php": ">=7.1" }, "require-dev": { @@ -6167,8 +6174,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0-rc17", - "datestamp": "1703020130", + "version": "3.0.0-rc20", + "datestamp": "1722000368", "security-coverage": { "status": "not-covered", "message": "RC releases are not covered by Drupal security advisories." @@ -8868,27 +8875,27 @@ }, { "name": "drupal/page_manager", - "version": "4.0.0-rc2", + "version": "4.0.0-rc3", "source": { "type": "git", "url": "https://git.drupalcode.org/project/page_manager.git", - "reference": "8.x-4.0-rc2" + "reference": "8.x-4.0-rc3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/page_manager-8.x-4.0-rc2.zip", - "reference": "8.x-4.0-rc2", - "shasum": "4a1e96284c5775343fbb4612072a2abfc83ebc33" + "url": "https://ftp.drupal.org/files/projects/page_manager-8.x-4.0-rc3.zip", + "reference": "8.x-4.0-rc3", + "shasum": "9c68ed3e87196e42ceeb80d53064494d7a104abc" }, "require": { - "drupal/core": "^9.3 || ^10", - "drupal/ctools": "^3.11 || ^4.0" + "drupal/core": "^9.5 || ^10 || ^11", + "drupal/ctools": "^3.15 || ^4.1" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-4.0-rc2", - "datestamp": "1671210021", + "version": "8.x-4.0-rc3", + "datestamp": "1721976404", "security-coverage": { "status": "not-covered", "message": "RC releases are not covered by Drupal security advisories." @@ -9982,6 +9989,39 @@ "source": "https://git.drupalcode.org/project/rabbit_hole" } }, + { + "name": "drupal/rat", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/rat.git", + "reference": "28202b02262a39ac8dbbfd43696b67c0c8c46b71" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "drupal/core": "^9.4", + "drupal/core-dev": "^9.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Drupal\\rat\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "gpl-2.0-or-later" + ], + "authors": [ + { + "name": "Merlin", + "email": "merlin@geeks4change.net" + } + ], + "time": "2023-07-19T20:22:22+00:00" + }, { "name": "drupal/realname", "version": "2.0.0-beta2", @@ -10864,26 +10904,26 @@ }, { "name": "drupal/shortcode", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://git.drupalcode.org/project/shortcode.git", - "reference": "2.0.2" + "reference": "2.0.3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/shortcode-2.0.2.zip", - "reference": "2.0.2", - "shasum": "3e2351c8b50ba06b8b1b364c27826bbec71c1982" + "url": "https://ftp.drupal.org/files/projects/shortcode-2.0.3.zip", + "reference": "2.0.3", + "shasum": "d6f06ab744d7265587f93972a208203c91604095" }, "require": { - "drupal/core": "^9.3 || ^10" + "drupal/core": "^9.3 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.2", - "datestamp": "1690014464", + "version": "2.0.3", + "datestamp": "1722254972", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -11396,26 +11436,29 @@ }, { "name": "drupal/token", - "version": "1.14.0", + "version": "1.15.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.14" + "reference": "8.x-1.15" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.14.zip", - "reference": "8.x-1.14", - "shasum": "df3cae709fcc1a99ac1111ce67a0d6af56d287d7" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.15.zip", + "reference": "8.x-1.15", + "shasum": "5916fbccc86458a5f51e71f832ac70ff4c84ebdf" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.2 || ^10 || ^11" + }, + "require-dev": { + "drupal/book": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.14", - "datestamp": "1713009399", + "version": "8.x-1.15", + "datestamp": "1722206211", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -13300,16 +13343,16 @@ }, { "name": "google/common-protos", - "version": "v4.6.0", + "version": "v4.7.0", "source": { "type": "git", "url": "https://github.com/googleapis/common-protos-php.git", - "reference": "f8588298a0a204aef2db15ce501530e476ec883f" + "reference": "e58068776f57605c336e32c7db373f0a81da17b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/common-protos-php/zipball/f8588298a0a204aef2db15ce501530e476ec883f", - "reference": "f8588298a0a204aef2db15ce501530e476ec883f", + "url": "https://api.github.com/repos/googleapis/common-protos-php/zipball/e58068776f57605c336e32c7db373f0a81da17b8", + "reference": "e58068776f57605c336e32c7db373f0a81da17b8", "shasum": "" }, "require": { @@ -13346,9 +13389,9 @@ ], "support": { "issues": "https://github.com/googleapis/common-protos-php/issues", - "source": "https://github.com/googleapis/common-protos-php/tree/v4.6.0" + "source": "https://github.com/googleapis/common-protos-php/tree/v4.7.0" }, - "time": "2024-04-03T19:11:54+00:00" + "time": "2024-07-25T20:20:43+00:00" }, { "name": "google/gax", @@ -13746,16 +13789,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.9.1", + "version": "7.9.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "a629e5b69db96eb4939c1b34114130077dd4c6fc" + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a629e5b69db96eb4939c1b34114130077dd4c6fc", - "reference": "a629e5b69db96eb4939c1b34114130077dd4c6fc", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", "shasum": "" }, "require": { @@ -13852,7 +13895,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.1" + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" }, "funding": [ { @@ -13868,7 +13911,7 @@ "type": "tidelift" } ], - "time": "2024-07-19T16:19:57+00:00" + "time": "2024-07-24T11:22:20+00:00" }, { "name": "guzzlehttp/promises", @@ -15583,16 +15626,16 @@ }, { "name": "picqer/php-barcode-generator", - "version": "v2.3.3", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/picqer/php-barcode-generator.git", - "reference": "10d3507e902058c62493fef0b9569d04634b1c8f" + "reference": "4cec18909dffd86e14beb69b1040f2520c2e1bb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/picqer/php-barcode-generator/zipball/10d3507e902058c62493fef0b9569d04634b1c8f", - "reference": "10d3507e902058c62493fef0b9569d04634b1c8f", + "url": "https://api.github.com/repos/picqer/php-barcode-generator/zipball/4cec18909dffd86e14beb69b1040f2520c2e1bb1", + "reference": "4cec18909dffd86e14beb69b1040f2520c2e1bb1", "shasum": "" }, "require": { @@ -15600,6 +15643,7 @@ "php": "^7.3|^8.0" }, "require-dev": { + "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5" }, "suggest": { @@ -15657,7 +15701,7 @@ ], "support": { "issues": "https://github.com/picqer/php-barcode-generator/issues", - "source": "https://github.com/picqer/php-barcode-generator/tree/v2.3.3" + "source": "https://github.com/picqer/php-barcode-generator/tree/v2.4.0" }, "funding": [ { @@ -15665,7 +15709,7 @@ "type": "github" } ], - "time": "2023-08-14T07:50:43+00:00" + "time": "2023-09-16T08:58:52+00:00" }, { "name": "politsin/jquery-ui-touch-punch", @@ -17026,16 +17070,16 @@ }, { "name": "symfony/console", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9" + "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9", - "reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9", + "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc", + "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc", "shasum": "" }, "require": { @@ -17100,7 +17144,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.9" + "source": "https://github.com/symfony/console/tree/v6.4.10" }, "funding": [ { @@ -17116,20 +17160,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "a4df9dfe5da2d177af6643610c7bee2cb76a9f5e" + "reference": "5caf9c5f6085f13b27d70a236b776c07e4a1c3eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a4df9dfe5da2d177af6643610c7bee2cb76a9f5e", - "reference": "a4df9dfe5da2d177af6643610c7bee2cb76a9f5e", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5caf9c5f6085f13b27d70a236b776c07e4a1c3eb", + "reference": "5caf9c5f6085f13b27d70a236b776c07e4a1c3eb", "shasum": "" }, "require": { @@ -17181,7 +17225,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.9" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.10" }, "funding": [ { @@ -17197,7 +17241,7 @@ "type": "tidelift" } ], - "time": "2024-06-19T10:45:28+00:00" + "time": "2024-07-26T07:32:07+00:00" }, { "name": "symfony/deprecation-contracts", @@ -17268,16 +17312,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c9b7cc075b3ab484239855622ca05cb0b99c13ec" + "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c9b7cc075b3ab484239855622ca05cb0b99c13ec", - "reference": "c9b7cc075b3ab484239855622ca05cb0b99c13ec", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", + "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", "shasum": "" }, "require": { @@ -17323,7 +17367,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.9" + "source": "https://github.com/symfony/error-handler/tree/v6.4.10" }, "funding": [ { @@ -17339,7 +17383,7 @@ "type": "tidelift" } ], - "time": "2024-06-21T16:04:15+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/event-dispatcher", @@ -17565,16 +17609,16 @@ }, { "name": "symfony/finder", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "3ef977a43883215d560a2cecb82ec8e62131471c" + "reference": "af29198d87112bebdd397bd7735fbd115997824c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c", - "reference": "3ef977a43883215d560a2cecb82ec8e62131471c", + "url": "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c", + "reference": "af29198d87112bebdd397bd7735fbd115997824c", "shasum": "" }, "require": { @@ -17609,7 +17653,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.8" + "source": "https://github.com/symfony/finder/tree/v6.4.10" }, "funding": [ { @@ -17625,20 +17669,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-24T07:06:38+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "27de8cc95e11db7a50b027e71caaab9024545947" + "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27de8cc95e11db7a50b027e71caaab9024545947", - "reference": "27de8cc95e11db7a50b027e71caaab9024545947", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b", + "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b", "shasum": "" }, "require": { @@ -17686,7 +17730,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.8" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.10" }, "funding": [ { @@ -17702,20 +17746,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T12:36:27+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "cc4a9bec6e1bdd2405f40277a68a6ed1bb393005" + "reference": "147e0daf618d7575b5007055340d09aece5cf068" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/cc4a9bec6e1bdd2405f40277a68a6ed1bb393005", - "reference": "cc4a9bec6e1bdd2405f40277a68a6ed1bb393005", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/147e0daf618d7575b5007055340d09aece5cf068", + "reference": "147e0daf618d7575b5007055340d09aece5cf068", "shasum": "" }, "require": { @@ -17800,7 +17844,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.9" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.10" }, "funding": [ { @@ -17816,7 +17860,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T11:48:06+00:00" + "time": "2024-07-26T14:52:04+00:00" }, { "name": "symfony/mailer", @@ -18833,16 +18877,16 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "23a162bd446b93948a2c2f6909d80ad06195be10" + "reference": "89a24648d73e4eee30893b0da16abc454a65c53b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/23a162bd446b93948a2c2f6909d80ad06195be10", - "reference": "23a162bd446b93948a2c2f6909d80ad06195be10", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/89a24648d73e4eee30893b0da16abc454a65c53b", + "reference": "89a24648d73e4eee30893b0da16abc454a65c53b", "shasum": "" }, "require": { @@ -18896,7 +18940,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.8" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.10" }, "funding": [ { @@ -18912,20 +18956,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:51:39+00:00" + "time": "2024-07-15T09:36:38+00:00" }, { "name": "symfony/routing", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58" + "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", - "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", + "url": "https://api.github.com/repos/symfony/routing/zipball/aad19fe10753ba842f0d653a8db819c4b3affa87", + "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87", "shasum": "" }, "require": { @@ -18979,7 +19023,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.8" + "source": "https://github.com/symfony/routing/tree/v6.4.10" }, "funding": [ { @@ -18995,20 +19039,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-15T09:26:24+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "56ce31d19127e79647ac53387c7555bdcd5730ce" + "reference": "9a67fcf320561e96f94d62bbe0e169ac534a5718" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/56ce31d19127e79647ac53387c7555bdcd5730ce", - "reference": "56ce31d19127e79647ac53387c7555bdcd5730ce", + "url": "https://api.github.com/repos/symfony/serializer/zipball/9a67fcf320561e96f94d62bbe0e169ac534a5718", + "reference": "9a67fcf320561e96f94d62bbe0e169ac534a5718", "shasum": "" }, "require": { @@ -19077,7 +19121,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.9" + "source": "https://github.com/symfony/serializer/tree/v6.4.10" }, "funding": [ { @@ -19093,7 +19137,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:59:05+00:00" + "time": "2024-07-26T13:13:26+00:00" }, { "name": "symfony/service-contracts", @@ -19180,16 +19224,16 @@ }, { "name": "symfony/string", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "76792dbd99690a5ebef8050d9206c60c59e681d7" + "reference": "ccf9b30251719567bfd46494138327522b9a9446" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/76792dbd99690a5ebef8050d9206c60c59e681d7", - "reference": "76792dbd99690a5ebef8050d9206c60c59e681d7", + "url": "https://api.github.com/repos/symfony/string/zipball/ccf9b30251719567bfd46494138327522b9a9446", + "reference": "ccf9b30251719567bfd46494138327522b9a9446", "shasum": "" }, "require": { @@ -19246,7 +19290,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.9" + "source": "https://github.com/symfony/string/tree/v6.4.10" }, "funding": [ { @@ -19262,7 +19306,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:25:38+00:00" + "time": "2024-07-22T10:21:14+00:00" }, { "name": "symfony/translation-contracts", @@ -19344,16 +19388,16 @@ }, { "name": "symfony/validator", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "ee0a4d6a327a963aee094f730da238f7ea18cb01" + "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/ee0a4d6a327a963aee094f730da238f7ea18cb01", - "reference": "ee0a4d6a327a963aee094f730da238f7ea18cb01", + "url": "https://api.github.com/repos/symfony/validator/zipball/bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd", + "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd", "shasum": "" }, "require": { @@ -19421,7 +19465,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.9" + "source": "https://github.com/symfony/validator/tree/v6.4.10" }, "funding": [ { @@ -19437,20 +19481,20 @@ "type": "tidelift" } ], - "time": "2024-06-22T07:42:41+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c31566e4ca944271cc8d8ac6887cbf31b8c6a172" + "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c31566e4ca944271cc8d8ac6887cbf31b8c6a172", - "reference": "c31566e4ca944271cc8d8ac6887cbf31b8c6a172", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a71cc3374f5fb9759da1961d28c452373b343dd4", + "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4", "shasum": "" }, "require": { @@ -19506,7 +19550,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.9" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.10" }, "funding": [ { @@ -19522,7 +19566,7 @@ "type": "tidelift" } ], - "time": "2024-06-27T13:23:14+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/var-exporter", @@ -20445,30 +20489,38 @@ }, { "name": "composer/pcre", - "version": "3.1.4", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "04229f163664973f68f38f6f73d917799168ef24" + "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24", - "reference": "04229f163664973f68f38f6f73d917799168ef24", + "url": "https://api.github.com/repos/composer/pcre/zipball/ea4ab6f9580a4fd221e0418f2c357cdd39102a90", + "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90", "shasum": "" }, "require": { "php": "^7.4 || ^8.0" }, + "conflict": { + "phpstan/phpstan": "<1.11.8" + }, "require-dev": { - "phpstan/phpstan": "^1.3", + "phpstan/phpstan": "^1.11.8", "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" + "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.x-dev" + }, + "phpstan": { + "includes": [ + "extension.neon" + ] } }, "autoload": { @@ -20496,7 +20548,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.4" + "source": "https://github.com/composer/pcre/tree/3.2.0" }, "funding": [ { @@ -20512,7 +20564,7 @@ "type": "tidelift" } ], - "time": "2024-05-27T13:40:54+00:00" + "time": "2024-07-25T09:36:02+00:00" }, { "name": "composer/spdx-licenses", @@ -22948,16 +23000,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.11.7", + "version": "1.11.8", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d" + "reference": "6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/52d2bbfdcae7f895915629e4694e9497d0f8e28d", - "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec", + "reference": "6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec", "shasum": "" }, "require": { @@ -23002,7 +23054,7 @@ "type": "github" } ], - "time": "2024-07-06T11:17:41+00:00" + "time": "2024-07-24T07:01:22+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -24949,16 +25001,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v6.4.9", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "6e03e4db9696e0cfcda6537177c2c03dc49c45c8" + "reference": "ad510515b11ba5291fdd59b25d70227bfac2d7ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/6e03e4db9696e0cfcda6537177c2c03dc49c45c8", - "reference": "6e03e4db9696e0cfcda6537177c2c03dc49c45c8", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/ad510515b11ba5291fdd59b25d70227bfac2d7ab", + "reference": "ad510515b11ba5291fdd59b25d70227bfac2d7ab", "shasum": "" }, "require": { @@ -25011,7 +25063,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.9" + "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.10" }, "funding": [ { @@ -25027,7 +25079,7 @@ "type": "tidelift" } ], - "time": "2024-06-21T16:04:15+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/polyfill-php73", @@ -25294,13 +25346,12 @@ "minimum-stability": "dev", "stability-flags": { "drupal/addtocal": 10, - "drupal/adminimal_admin_toolbar": 20, "drupal/advanced_text_formatter": 5, "drupal/config_split": 5, "drupal/config_update": 15, "drupal/content_access": 5, "drupal/file_entity": 20, - "drupal/inline_entity_form": 10, + "drupal/inline_entity_form": 5, "drupal/layout_library": 10, "drupal/masquerade": 5, "drupal/mimemail": 15, From 747095b90836a92fbab8af8d123394893aa08202 Mon Sep 17 00:00:00 2001 From: David Upton Date: Tue, 30 Jul 2024 13:33:51 -0400 Subject: [PATCH 15/15] DIG-4863 Drupal Maintenance - Previously locked modules --- composer.json | 8 ++--- composer.lock | 92 ++++++++++++++++++++++++--------------------------- 2 files changed, 47 insertions(+), 53 deletions(-) diff --git a/composer.json b/composer.json index 5b359ef404..f6fc699a64 100644 --- a/composer.json +++ b/composer.json @@ -110,7 +110,7 @@ "drupal/field_group": "^3.0", "drupal/file_entity": "^2.x-dev", "drupal/file_mdm": "^2.2.0", - "drupal/geolocation": "^3.13", + "drupal/geolocation": "3.12", "drupal/google_tag": "^2.0", "drupal/honeypot": "^2.1", "drupal/image_url_formatter": "^1.0", @@ -169,7 +169,7 @@ "drupal/rest_export_nested": "^1.0", "drupal/restui": "^1.16", "drupal/rollbar": "^2.1", - "drupal/salesforce": "5.0.3", + "drupal/salesforce": "^5.0.3", "drupal/samlauth": "^3.0", "drupal/schema_metatag": "^2.2", "drupal/search_api": "^1.34", @@ -181,14 +181,14 @@ "drupal/smart_trim": "^2.1", "drupal/social_media": "^2.0", "drupal/sophron": "^2.0", - "drupal/stage_file_proxy": "^2.1", + "drupal/stage_file_proxy": "^3.1", "drupal/svg_image": "^3.0", "drupal/token": "^1.3", "drupal/token_custom": "^1.0", "drupal/token_filter": "^2.0", "drupal/twig_tweak": "^3.1", "drupal/twig_xdebug": "^1.2", - "drupal/typed_data": "^1.0@beta", + "drupal/typed_data": "^2.1", "drupal/video_embed_field": "2.5.0", "drupal/viewfield": "^3.0", "drupal/views_accordion": "^2.0", diff --git a/composer.lock b/composer.lock index e2529d96cc..3a9e43efb8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7d3da99bf7ae541517d2538b3c07f250", + "content-hash": "acd180764770f916c6869d1362ff9b4c", "packages": [ { "name": "ajgl/breakpoint-twig-extension", @@ -5737,17 +5737,17 @@ }, { "name": "drupal/geolocation", - "version": "3.13.0", + "version": "3.12.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/geolocation.git", - "reference": "8.x-3.13" + "reference": "8.x-3.12" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/geolocation-8.x-3.13.zip", - "reference": "8.x-3.13", - "shasum": "49029950bc0927f14b1d0ce01f93e03cdd131ee6" + "url": "https://ftp.drupal.org/files/projects/geolocation-8.x-3.12.zip", + "reference": "8.x-3.12", + "shasum": "eb31fe9080e2e0dcf442fc9b0a859f326219db5a" }, "require": { "drupal/core": "^9.3 || ^10", @@ -5773,8 +5773,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.13", - "datestamp": "1714403539", + "version": "8.x-3.12", + "datestamp": "1673282362", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -10485,25 +10485,19 @@ }, { "name": "drupal/salesforce", - "version": "5.0.3", + "version": "dev-5.1.x", "source": { "type": "git", "url": "https://git.drupalcode.org/project/salesforce.git", - "reference": "5.0.3" - }, - "dist": { - "type": "zip", - "url": "https://ftp.drupal.org/files/projects/salesforce-5.0.3.zip", - "reference": "5.0.3", - "shasum": "45f22b818a7b4104ee11dce9751bf47fd2ee3b6a" + "reference": "02359660e4aa3822bbdfea01f2ae8ee72860fe99" }, "require": { "consolidation/output-formatters": "^3.2.0 || ^4.1", - "drupal/address": "^1.8", - "drupal/core": "^9 || ^10", + "drupal/address": "^1.8 || ^2.0", + "drupal/core": "^10.3", "drupal/dynamic_entity_reference": "^1.9 || ^2.0 || ^3 || ^4", "drupal/key": "^1.14", - "drupal/typed_data": "^1.0-beta2", + "drupal/typed_data": "^2.1", "ext-json": "*", "ext-soap": "*", "firebase/php-jwt": "^5.0 || ^6.0", @@ -10531,12 +10525,15 @@ }, "type": "drupal-module", "extra": { + "branch-alias": { + "dev-5.1.x": "5.1.x-dev" + }, "drupal": { - "version": "5.0.3", - "datestamp": "1691095606", + "version": "5.1.0+5-dev", + "datestamp": "1721158697", "security-coverage": { - "status": "covered", - "message": "Covered by Drupal's security advisory policy" + "status": "not-covered", + "message": "Dev releases are not covered by Drupal security advisories." } }, "drush": { @@ -11288,40 +11285,38 @@ }, { "name": "drupal/stage_file_proxy", - "version": "2.1.5", + "version": "3.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/stage_file_proxy.git", - "reference": "2.1.5" + "reference": "3.1.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/stage_file_proxy-2.1.5.zip", - "reference": "2.1.5", - "shasum": "6f5974c106d45211e54945e4d9f5bbf8ec6699de" + "url": "https://ftp.drupal.org/files/projects/stage_file_proxy-3.1.0.zip", + "reference": "3.1.0", + "shasum": "e2684977e612555fcd10ebeabfba0f63e4a2424d" }, "require": { - "drupal/core": "^9 || ^10", - "php": ">=8" + "drupal/core": "^10.3 || ^11", + "php": ">=8.1" + }, + "conflict": { + "drush/drush": "<12" }, "require-dev": { "drupal/coder": "^8.3", - "drush/drush": "^11 || ^12" + "drush/drush": ">=12" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.1.5", - "datestamp": "1719499510", + "version": "3.1.0", + "datestamp": "1721592834", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" } - }, - "drush": { - "services": { - "stage_file_proxy.drush.services.yml": "^11" - } } }, "notification-url": "https://packages.drupal.org/8/downloads", @@ -11750,29 +11745,29 @@ }, { "name": "drupal/typed_data", - "version": "1.0.0-beta2", + "version": "2.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/typed_data.git", - "reference": "8.x-1.0-beta2" + "reference": "2.1.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/typed_data-8.x-1.0-beta2.zip", - "reference": "8.x-1.0-beta2", - "shasum": "e0aa651b129d8dcd765ca49cba8682ebe09e6e73" + "url": "https://ftp.drupal.org/files/projects/typed_data-2.1.0.zip", + "reference": "2.1.0", + "shasum": "24e76b2add189b8d6baaf177f2e636b1c4cc5417" }, "require": { - "drupal/core": "^9.1 || ^10" + "drupal/core": "^10.3 | ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0-beta2", - "datestamp": "1679429196", + "version": "2.1.0", + "datestamp": "1720651977", "security-coverage": { - "status": "not-covered", - "message": "Beta releases are not covered by Drupal security advisories." + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } }, "drush": { @@ -25358,7 +25353,6 @@ "drupal/node_revision_delete": 15, "drupal/realname": 10, "drupal/recaptcha": 20, - "drupal/typed_data": 10, "drupal/webform": 10 }, "prefer-stable": true,