diff --git a/composer.json b/composer.json index 622132d..741b133 100644 --- a/composer.json +++ b/composer.json @@ -9,6 +9,10 @@ "chat": "https://www.drupal.org/node/314178" }, "repositories": [ + { + "type": "composer", + "url": "https://asset-packagist.org" + }, { "type": "composer", "url": "https://packages.drupal.org/8" @@ -36,11 +40,13 @@ "drupal/devel_entity_updates": "^3.0", "drupal/entity_extra_field": "^2.0@alpha", "drupal/entity_reference_revisions": "^1.9", + "drupal/facets": "^1.8", "drupal/feeds": "^3.0@alpha", "drupal/field_permissions": "^1.1", "drupal/password_strength": "^2.0@beta", "drupal/restui": "^1.20", "drupal/route_condition": "^2.0", + "drupal/search_api": "^1.21", "drupal/security_review": "^1.0@alpha", "drupal/typed_data": "^1.0@alpha", "drupal/views_aggregator": "^1.0@beta", diff --git a/composer.lock b/composer.lock index 8a14e73..0c08e0a 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": "99b9bd024051f4a97371b8925a8ac972", + "content-hash": "6369685cff7ce743ba3972ba00401283", "packages": [ { "name": "asm89/stack-cors", @@ -94,7 +94,7 @@ "source": { "type": "git", "url": "ssh://git@git.autonomic.zone:2222/autonomic-cooperative/opencase.git", - "reference": "88cd511d9f1f3c6dffe5ce72d5304aa11c527ca5" + "reference": "623e801c588033d53b1544e0a622992453210a1a" }, "require": { "composer/installers": "*", @@ -111,7 +111,7 @@ "email": "helo@autonomic.zone" } ], - "time": "2021-11-15T18:08:49+00:00" + "time": "2021-11-16T08:06:06+00:00" }, { "name": "bjeavons/zxcvbn-php", @@ -2715,6 +2715,77 @@ "source": "https://git.drupalcode.org/project/entity_reference_revisions" } }, + { + "name": "drupal/facets", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/facets.git", + "reference": "8.x-1.8" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/facets-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "f621b84b59c5315db14a0529df5dfc74ca5bc9de" + }, + "require": { + "drupal/core": "^8.8 || ^9" + }, + "conflict": { + "drupal/search_api": "<1.14" + }, + "require-dev": { + "drupal/search_api": "~1.14" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.8", + "datestamp": "1620838256", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + }, + "branch-alias": { + "dev-8.x-1.x": "1.x-dev" + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "See all contributors", + "homepage": "https://www.drupal.org/node/2348769/committers" + }, + { + "name": "StryKaizer", + "homepage": "https://www.drupal.org/user/462700" + }, + { + "name": "borisson_", + "homepage": "https://www.drupal.org/user/2393360" + }, + { + "name": "drunken monkey", + "homepage": "https://www.drupal.org/user/205582" + }, + { + "name": "mkalkbrenner", + "homepage": "https://www.drupal.org/user/124705" + } + ], + "description": "The Facet module allows site builders to easily create and manage faceted search interfaces.", + "homepage": "https://www.drupal.org/project/facets", + "support": { + "source": "git://git.drupal.org/project/facets.git", + "issues": "https://www.drupal.org/project/issues/facets", + "irc": "irc://irc.freenode.org/drupal-search-api" + } + }, { "name": "drupal/feeds", "version": "3.0.0-alpha10", diff --git a/config/core.base_field_override.oc_case_provision.trainer.oc_provider.yml b/config/core.base_field_override.oc_case_provision.trainer.oc_provider.yml index d5f4a4e..b7d3e69 100644 --- a/config/core.base_field_override.oc_case_provision.trainer.oc_provider.yml +++ b/config/core.base_field_override.oc_case_provision.trainer.oc_provider.yml @@ -18,7 +18,7 @@ settings: handler: views handler_settings: view: - view_name: case_providers + view_name: case_providers display_name: entity_reference_1 arguments: { } field_type: entity_reference diff --git a/config/core.base_field_override.oc_organisation_relation.link_between_clients.organisations.yml b/config/core.base_field_override.oc_organisation_relation.link_between_clients.organisations.yml index 83c5ff8..4d18462 100644 --- a/config/core.base_field_override.oc_organisation_relation.link_between_clients.organisations.yml +++ b/config/core.base_field_override.oc_organisation_relation.link_between_clients.organisations.yml @@ -18,8 +18,8 @@ default_value_callback: '\Drupal\opencase_entities\Entity\OCOrganisationRelation settings: handler_settings: view: - view_name: 'all_clients' - display_name: 'entity_reference_1' + view_name: all_clients + display_name: entity_reference_1 target_bundles: - client handler: views diff --git a/config/core.extension.yml b/config/core.extension.yml index af401ee..126ddf5 100644 --- a/config/core.extension.yml +++ b/config/core.extension.yml @@ -24,6 +24,7 @@ module: entity_extra_field: 0 entity_extra_field_ui: 0 entity_reference_revisions: 0 + facets: 0 feeds: 0 field: 0 field_permissions: 0 diff --git a/config/search_api.index.clients.yml b/config/search_api.index.clients.yml new file mode 100644 index 0000000..ce8388a --- /dev/null +++ b/config/search_api.index.clients.yml @@ -0,0 +1,85 @@ +uuid: db5edde5-3b1f-4270-a9f7-1a2e7e43fc90 +langcode: en +status: true +dependencies: + config: + - field.storage.oc_organisation.field_accreditation_date + - field.storage.oc_organisation.field_client_status + - field.storage.oc_organisation.field_client_type + - field.storage.oc_organisation.field_tags + - field.storage.oc_organisation.field_type_of_umbrella_client + - field.storage.oc_organisation.field_umbrella_client + - search_api.server.opencase_server + module: + - opencase_entities + - search_api +id: clients +name: Clients +description: '' +read_only: false +field_settings: + field_accreditation_date: + label: 'Accreditation date' + datasource_id: 'entity:oc_organisation' + property_path: field_accreditation_date + type: date + dependencies: + config: + - field.storage.oc_organisation.field_accreditation_date + field_client_status: + label: 'Client Status' + datasource_id: 'entity:oc_organisation' + property_path: field_client_status + type: integer + dependencies: + config: + - field.storage.oc_organisation.field_client_status + field_client_type: + label: 'Client type' + datasource_id: 'entity:oc_organisation' + property_path: field_client_type + type: integer + dependencies: + config: + - field.storage.oc_organisation.field_client_type + field_tags: + label: Tags + datasource_id: 'entity:oc_organisation' + property_path: field_tags + type: integer + dependencies: + config: + - field.storage.oc_organisation.field_tags + field_type_of_umbrella_client: + label: 'Type of umbrella client that this client belongs to' + datasource_id: 'entity:oc_organisation' + property_path: 'field_umbrella_client:entity:field_type_of_umbrella_client' + type: string + dependencies: + config: + - field.storage.oc_organisation.field_type_of_umbrella_client + - field.storage.oc_organisation.field_umbrella_client + module: + - opencase_entities +datasource_settings: + 'entity:oc_organisation': + bundles: + default: false + selected: + - client + languages: + default: true + selected: { } +processor_settings: + add_url: { } + aggregated_field: { } + language_with_fallback: { } + rendered_item: { } +tracker_settings: + default: + indexing_order: fifo +options: + index_directly: true + track_changes_in_references: true + cron_limit: 50 +server: opencase_server diff --git a/config/views.view.client_report.yml b/config/views.view.client_report.yml new file mode 100644 index 0000000..c5d1190 --- /dev/null +++ b/config/views.view.client_report.yml @@ -0,0 +1,799 @@ +uuid: a9c27af6-274f-441f-b9fe-3ddd54c7716f +langcode: en +status: true +dependencies: + config: + - field.storage.oc_organisation.field_accreditation_date + - field.storage.oc_organisation.field_client_status + - field.storage.oc_organisation.field_client_substatus + - field.storage.oc_organisation.field_client_subtype + - field.storage.oc_organisation.field_client_type + - field.storage.oc_organisation.field_tags + - field.storage.oc_organisation.field_type_of_umbrella_client + - field.storage.oc_organisation.field_umbrella_client + - opencase_entities.oc_organisation_type.client + module: + - datetime + - opencase_entities + - options +id: client_report +label: 'Client Report' +module: views +description: '' +tag: '' +base_table: oc_organisation_field_data +base_field: id +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: none + options: { } + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 50 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + name: name + field_accreditation_date: field_accreditation_date + field_client_type: field_client_type + field_client_subtype: field_client_subtype + field_tags: field_tags + field_umbrella_client: field_umbrella_client + field_type_of_umbrella_client: field_type_of_umbrella_client + info: + name: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_accreditation_date: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_client_type: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_client_subtype: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_tags: + align: '' + separator: '' + empty_column: false + responsive: '' + field_umbrella_client: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_type_of_umbrella_client: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + default: '-1' + empty_table: false + row: + type: fields + fields: + name: + id: name + table: oc_organisation_field_data + field: name + relationship: none + group_type: group + admin_label: '' + label: Name + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: 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 + entity_type: null + entity_field: name + plugin_id: field + field_accreditation_date: + id: field_accreditation_date + table: oc_organisation__field_accreditation_date + field: field_accreditation_date + relationship: none + group_type: group + admin_label: '' + label: 'Accreditation 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: short + 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 + plugin_id: field + field_client_type: + id: field_client_type + table: oc_organisation__field_client_type + field: field_client_type + relationship: none + group_type: group + admin_label: '' + label: 'Client 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: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + field_client_subtype: + id: field_client_subtype + table: oc_organisation__field_client_subtype + field: field_client_subtype + relationship: none + group_type: group + admin_label: '' + label: 'Client subtype' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + field_client_status: + id: field_client_status + table: oc_organisation__field_client_status + field: field_client_status + relationship: none + group_type: group + admin_label: '' + label: 'Client Status' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + field_client_substatus: + id: field_client_substatus + table: oc_organisation__field_client_substatus + field: field_client_substatus + relationship: none + group_type: group + admin_label: '' + label: 'Client substatus' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + field_tags: + id: field_tags + table: oc_organisation__field_tags + field: field_tags + relationship: none + group_type: group + admin_label: '' + label: Tags + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + field_umbrella_client: + id: field_umbrella_client + table: oc_organisation__field_umbrella_client + field: field_umbrella_client + relationship: none + group_type: group + admin_label: '' + label: 'Umbrella client' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + field_type_of_umbrella_client: + id: field_type_of_umbrella_client + table: oc_organisation__field_type_of_umbrella_client + field: field_type_of_umbrella_client + relationship: field_umbrella_client + group_type: group + admin_label: '' + label: 'Type of umbrella client' + 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: list_default + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + filters: + status: + value: '1' + table: oc_organisation_field_data + field: status + plugin_id: boolean + entity_type: oc_organisation + entity_field: status + id: status + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + group: 1 + type: + id: type + table: oc_organisation_field_data + field: type + value: + client: client + entity_type: oc_organisation + entity_field: type + plugin_id: bundle + expose: + operator_limit_selection: false + operator_list: { } + sorts: { } + title: 'Client Report' + header: { } + footer: { } + empty: { } + relationships: + field_umbrella_client: + id: field_umbrella_client + table: oc_organisation__field_umbrella_client + field: field_umbrella_client + relationship: none + group_type: group + admin_label: 'field_umbrella_client: Organisation' + required: false + plugin_id: standard + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + tags: + - 'config:field.storage.oc_organisation.field_accreditation_date' + - 'config:field.storage.oc_organisation.field_client_status' + - 'config:field.storage.oc_organisation.field_client_substatus' + - 'config:field.storage.oc_organisation.field_client_subtype' + - 'config:field.storage.oc_organisation.field_client_type' + - 'config:field.storage.oc_organisation.field_tags' + - 'config:field.storage.oc_organisation.field_type_of_umbrella_client' + - 'config:field.storage.oc_organisation.field_umbrella_client' + page_1: + display_plugin: page + id: page_1 + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: client-report + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + tags: + - 'config:field.storage.oc_organisation.field_accreditation_date' + - 'config:field.storage.oc_organisation.field_client_status' + - 'config:field.storage.oc_organisation.field_client_substatus' + - 'config:field.storage.oc_organisation.field_client_subtype' + - 'config:field.storage.oc_organisation.field_client_type' + - 'config:field.storage.oc_organisation.field_tags' + - 'config:field.storage.oc_organisation.field_type_of_umbrella_client' + - 'config:field.storage.oc_organisation.field_umbrella_client'