I have a webform node display page that shows webform nodes that are available to individual users. Individual user accounts have a field called Project which has a Project name. This allows users to be segregated into projects. The webform nodes also have a taxonomy field that allows the project to which these webform nodes will be assigned to. I have setup a view which shows the list of webform nodes with a relationship to the Taxonomy Term on the Webform Node which is in turn related to the Taxonomy Term on the User Account. Then a contextual filter is setup which filters this display by the user ID of the logged in user. This far everything works fine and users are shown the Webforms nodes that are a part of the project they are a member of.
langcode: en
status: true
dependencies:
config:
- field.storage.node.body
- field.storage.node.field_project_name
- node.type.webform
- system.menu.main
- user.role.patient
module:
- node
- taxonomy
- text
- user
- webform
id: questionnaires_available_for_patients
label: 'Questionnaires available for Patients'
module: views
description: 'This is a view of questionnaires available for patients on the website. '
tag: ''
base_table: node_field_data
base_field: nid
display:
default:
id: default
display_title: Default
display_plugin: default
position: 0
display_options:
title: 'Available Questionnaires'
fields:
counter:
id: counter
table: views
field: counter
relationship: none
group_type: group
admin_label: ''
plugin_id: counter
label: ''
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: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
counter_start: 1
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: true
text: '{{ counter }}: {{ title }} '
make_link: true
path: '{{ title }}'
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: true
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: false
ellipsis: false
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: h3
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: 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_project_name:
id: field_project_name
table: node__field_project_name
field: field_project_name
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: Project
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: 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
body:
id: body
table: node__body
field: body
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: text_default
settings: { }
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
view_node:
id: view_node
table: node
field: view_node
relationship: none
group_type: group
admin_label: ''
entity_type: node
plugin_id: entity_link
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: strong
element_class: button
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
text: 'Answer Questions'
output_url_as_text: false
absolute: false
pager:
type: mini
options:
offset: 0
items_per_page: 10
total_pages: null
id: 0
tags:
next: ››
previous: ‹‹
expose:
items_per_page: false
items_per_page_label: 'Items per page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
access:
type: role
options:
role:
patient: patient
cache:
type: tag
options: { }
empty: { }
sorts:
field_sequence_number_value:
id: field_sequence_number_value
table: node__field_sequence_number
field: field_sequence_number_value
relationship: none
group_type: group
admin_label: ''
plugin_id: standard
order: ASC
expose:
label: ''
field_identifier: ''
exposed: false
arguments:
uid:
id: uid
table: users_field_data
field: uid
relationship: reverse__user__field_project
group_type: group
admin_label: ''
entity_type: user
entity_field: uid
plugin_id: user_uid
default_action: default
exception:
value: all
title_enable: false
title: All
title_enable: false
title: ''
default_argument_type: current_user
default_argument_options: { }
default_argument_skip_url: false
summary_options:
base_path: ''
count: true
override: false
items_per_page: 25
summary:
sort_order: asc
number_of_records: 0
format: default_summary
specify_validation: false
validate:
type: none
fail: 'not found'
validate_options: { }
break_phrase: false
not: false
filters:
status:
id: status
table: node_field_data
field: status
entity_type: node
entity_field: status
plugin_id: boolean
value: '1'
group: 1
expose:
operator: ''
type:
id: type
table: node_field_data
field: type
entity_type: node
entity_field: type
plugin_id: bundle
value:
webform: webform
style:
type: default
options:
grouping: { }
row_class: ''
default_row_class: true
row:
type: fields
options:
default_field_elements: true
inline: { }
separator: ': '
hide_empty: false
query:
type: views_query
options:
query_comment: ''
disable_sql_rewrite: false
distinct: true
replica: false
query_tags: { }
relationships:
field_project_name:
id: field_project_name
table: node__field_project_name
field: field_project_name
relationship: none
group_type: group
admin_label: 'field_project_name: Taxonomy term (Project Name on Webform Node)'
plugin_id: standard
required: false
reverse__user__field_project:
id: reverse__user__field_project
table: taxonomy_term_field_data
field: reverse__user__field_project
relationship: field_project_name
group_type: group
admin_label: 'field_project (On the User Account Page)'
entity_type: taxonomy_term
plugin_id: entity_reverse
required: false
header:
area:
id: area
table: views
field: area
relationship: none
group_type: group
admin_label: ''
plugin_id: text
empty: false
content:
value: '<h4>Dear {{ arguments.uid }} , as a member of the {{ field_project_name }} study the following questionnaires are available to you. Please answer them by clicking the Answer Question button. </h4>'
format: restricted_html
tokenize: true
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.roles
tags:
- 'config:field.storage.node.body'
- 'config:field.storage.node.field_project_name'
page_1:
id: page_1
display_title: Page
display_plugin: page
position: 1
display_options:
rendering_language: '***LANGUAGE_language_interface***'
display_extenders: { }
path: available-questionnaires
menu:
type: normal
title: Questionnaires
menu_name: main
parent: ''
cache_metadata:
max-age: -1
contexts:
- 'languages:language_interface'
- url
- url.query_args
- user
- 'user.node_grants:view'
- user.roles
tags:
- 'config:field.storage.node.body'
- 'config:field.storage.node.field_project_name'
Now I would like to ensure that the page shows the questionnaires only if they have not been answered by the user that day. That is if there are 3 forms available for the person, and they have filled in the first form, then after visiting the same page again that day the webform node that was filled before would not be displayed in the list.
Logically this would imply that I have a filter which filters the webform node by the date on which associated webform was submitted by the user.
When I try to add another relationship to the Webform submission done by the user however the webform nodes are no longer visible. I am not getting any error message that would help on this further also.