diff --git a/config/install/views.view.simplenews_subscribers.yml b/config/install/views.view.simplenews_subscribers.yml index 5025959..a057ac6 100644 --- a/config/install/views.view.simplenews_subscribers.yml +++ b/config/install/views.view.simplenews_subscribers.yml @@ -235,6 +235,67 @@ display: separator: ', ' field_api_classes: false plugin_id: field + subscriptions_1: + id: subscriptions_1 + table: simplenews_subscriber__subscriptions + field: subscriptions + relationship: none + group_type: group + admin_label: '' + label: 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: simplenews_status + group_column: '' + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field status: id: status table: simplenews_subscriber @@ -687,9 +748,11 @@ display: display_extenders: { } cache_metadata: contexts: - 0: user - 3: cache.context.url - 7: language + - 'languages:language_content' + - 'languages:language_interface' + - url + - 'url.query_args.pagers:0' + - user.permissions cacheable: false page_1: display_plugin: page @@ -709,7 +772,9 @@ display: menu_name: admin cache_metadata: contexts: - 0: user - 3: cache.context.url - 7: language + - 'languages:language_content' + - 'languages:language_interface' + - url + - 'url.query_args.pagers:0' + - user.permissions cacheable: false diff --git a/src/Plugin/Field/FieldFormatter/SimplenewsSubscriberStatusFormatter.php b/src/Plugin/Field/FieldFormatter/SimplenewsSubscriberStatusFormatter.php new file mode 100644 index 0000000..09c6b38 --- /dev/null +++ b/src/Plugin/Field/FieldFormatter/SimplenewsSubscriberStatusFormatter.php @@ -0,0 +1,56 @@ +isEmpty()) { + $elements[]['status'] = array( + '#markup' => 'Unsubscribed', + ); + } + else { + foreach ($items as $delta => $item) { + if ($item->status == SIMPLENEWS_SUBSCRIPTION_STATUS_SUBSCRIBED) { + $output = 'Subscribed'; + } + if ($item->status == SIMPLENEWS_SUBSCRIPTION_STATUS_UNCONFIRMED) { + $output = 'Unconfirmed'; + } + if ($item->status == SIMPLENEWS_SUBSCRIPTION_STATUS_UNSUBSCRIBED) { + $output = 'Unsubscribed'; + } + $elements[$delta]['status'] = array( + '#markup' => $output, + ); + } + } + + return $elements; + } + +}