Computed tokens not respected in submissions view and downloads

Created on 13 December 2023, 11 months ago
Updated 6 April 2024, 7 months ago

Problem/Motivation

I have a small form with a number of computed tokens, like the current user email address and the current user name. The computed tokens are stored in the database. User are required to login before filling out the form. When I (logged in as admin) go to the form submissions view I see 'admin' where the username should be, and the admin email address where the users email address should be. I checked the database and the correct values are there. When I download the submissions I also see the incorrect values.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

🐛 Bug report
Status

Closed: won't fix

Version

6.2

Component

Code

Created by

🇳🇱Netherlands pahles

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @pahles
  • 🇨🇦Canada Liam Morland Ontario, CA 🇨🇦

    Bug reports are always against the development branch.

  • Status changed to Postponed: needs info 11 months ago
  • 🇺🇸United States jrockowitz Brooklyn, NY

    Please provide a simplified example webform that can be used to replicate the issue.

  • 🇳🇱Netherlands pahles

    I have two users: admin (email admin@example.com) and test-user (test_user@example.com).

    In the attached file is a screenshot of the results page of the form.

    Here is the example webform:

    uuid: 42ae5f6e-d438-4e10-b6fb-3fe98463b4db
    langcode: en
    status: open
    dependencies: {  }
    weight: 0
    open: null
    close: null
    uid: 1
    template: false
    archive: false
    id: test
    title: test
    description: ''
    categories: {  }
    elements: |-
      email_address:
        '#type': webform_computed_token
        '#title': 'Email address'
        '#template': '[current-user:mail]'
        '#store': true
      account_name:
        '#type': webform_computed_token
        '#title': 'Account name'
        '#template': '[current-user:account-name]'
        '#store': true
    css: ''
    javascript: ''
    settings:
      ajax: false
      ajax_scroll_top: form
      ajax_progress_type: ''
      ajax_effect: ''
      ajax_speed: null
      page: true
      page_submit_path: ''
      page_confirm_path: ''
      page_theme_name: ''
      form_title: both
      form_submit_once: false
      form_open_message: ''
      form_close_message: ''
      form_exception_message: ''
      form_previous_submissions: true
      form_confidential: false
      form_confidential_message: ''
      form_disable_remote_addr: false
      form_convert_anonymous: false
      form_prepopulate: false
      form_prepopulate_source_entity: false
      form_prepopulate_source_entity_required: false
      form_prepopulate_source_entity_type: ''
      form_unsaved: false
      form_disable_back: false
      form_submit_back: false
      form_disable_autocomplete: false
      form_novalidate: false
      form_disable_inline_errors: false
      form_required: false
      form_autofocus: false
      form_details_toggle: false
      form_reset: false
      form_access_denied: default
      form_access_denied_title: ''
      form_access_denied_message: ''
      form_access_denied_attributes: {  }
      form_file_limit: ''
      form_attributes: {  }
      form_method: ''
      form_action: ''
      share: false
      share_node: false
      share_theme_name: ''
      share_title: true
      share_page_body_attributes: {  }
      submission_label: ''
      submission_exception_message: ''
      submission_locked_message: ''
      submission_log: false
      submission_excluded_elements: {  }
      submission_exclude_empty: false
      submission_exclude_empty_checkbox: false
      submission_views: {  }
      submission_views_replace: {  }
      submission_user_columns: {  }
      submission_user_duplicate: false
      submission_access_denied: default
      submission_access_denied_title: ''
      submission_access_denied_message: ''
      submission_access_denied_attributes: {  }
      previous_submission_message: ''
      previous_submissions_message: ''
      autofill: false
      autofill_message: ''
      autofill_excluded_elements: {  }
      wizard_progress_bar: true
      wizard_progress_pages: false
      wizard_progress_percentage: false
      wizard_progress_link: false
      wizard_progress_states: false
      wizard_start_label: ''
      wizard_preview_link: false
      wizard_confirmation: true
      wizard_confirmation_label: ''
      wizard_auto_forward: true
      wizard_auto_forward_hide_next_button: false
      wizard_keyboard: true
      wizard_track: ''
      wizard_prev_button_label: ''
      wizard_next_button_label: ''
      wizard_toggle: false
      wizard_toggle_show_label: ''
      wizard_toggle_hide_label: ''
      wizard_page_type: container
      wizard_page_title_tag: h2
      preview: 0
      preview_label: ''
      preview_title: ''
      preview_message: ''
      preview_attributes: {  }
      preview_excluded_elements: {  }
      preview_exclude_empty: true
      preview_exclude_empty_checkbox: false
      draft: none
      draft_multiple: false
      draft_auto_save: false
      draft_saved_message: ''
      draft_loaded_message: ''
      draft_pending_single_message: ''
      draft_pending_multiple_message: ''
      confirmation_type: page
      confirmation_url: ''
      confirmation_title: ''
      confirmation_message: ''
      confirmation_attributes: {  }
      confirmation_back: true
      confirmation_back_label: ''
      confirmation_back_attributes: {  }
      confirmation_exclude_query: false
      confirmation_exclude_token: false
      confirmation_update: false
      limit_total: null
      limit_total_interval: null
      limit_total_message: ''
      limit_total_unique: false
      limit_user: null
      limit_user_interval: null
      limit_user_message: ''
      limit_user_unique: false
      entity_limit_total: null
      entity_limit_total_interval: null
      entity_limit_user: null
      entity_limit_user_interval: null
      purge: none
      purge_days: null
      results_disabled: false
      results_disabled_ignore: false
      results_customize: false
      token_view: false
      token_update: false
      token_delete: false
      serial_disabled: false
    access:
      create:
        roles:
          - anonymous
          - authenticated
        users: {  }
        permissions: {  }
      view_any:
        roles: {  }
        users: {  }
        permissions: {  }
      update_any:
        roles: {  }
        users: {  }
        permissions: {  }
      delete_any:
        roles: {  }
        users: {  }
        permissions: {  }
      purge_any:
        roles: {  }
        users: {  }
        permissions: {  }
      view_own:
        roles: {  }
        users: {  }
        permissions: {  }
      update_own:
        roles: {  }
        users: {  }
        permissions: {  }
      delete_own:
        roles: {  }
        users: {  }
        permissions: {  }
      administer:
        roles: {  }
        users: {  }
        permissions: {  }
      test:
        roles: {  }
        users: {  }
        permissions: {  }
      configuration:
        roles: {  }
        users: {  }
        permissions: {  }
    handlers: {  }
    variants: {  }
  • Status changed to Active 11 months ago
  • 🇮🇳India rajneeshb New Delhi

    Checked the webform tokens working fine (e.g. [webform_submission:values:user:entity:mail:clear]) but global tokens not working e.g [current-user:mail], [current-user:account-name] etc. This issue comes because during display the value of element data coming from token not form DB so if we used user token in computed token field then the data will display as per logged in user .

    I have created a patch to fix this issue. This patch will work only if the element have Store value in the database enabled.

  • Open on Drupal.org →
    Core: 10.1.x + Environment: PHP 8.1 & MySQL 8
    last update 11 months ago
    Waiting for branch to pass
  • Status changed to Needs review 11 months ago
  • 🇳🇱Netherlands pahles

    #7 is working for me!

  • Status changed to RTBC 10 months ago
  • Status changed to Closed: won't fix 7 months ago
  • 🇺🇸United States jrockowitz Brooklyn, NY

    I am unsure if the suggested change will cause regressions and it has no test coverage.

    Using the [webform_submission:user]token is more accurate, reliable, and stable and will return the same information.

    [webform_submission:user:account-name]
    [webform_submission:user:mail]
    
Production build 0.71.5 2024