Problem/Motivation

Hello, I have a problem when I use the Date/Time field type. I am building a Workflow type Webform where several actors will act on it.

For this I want to track certain actions using hidden Date/Time fields.
My problem is that when the Date/Time type field is disabled conditionally based on the role, the value of the field that is already populated resets.

Steps to reproduce

- The user with role A fills in the date/time field and sends the submission
- The user with role B where the date/time field is disabled (conditionally) updates the same submission.

Result: The date/time field is reset.

uuid: 314cf62b-648a-45ae-9574-bb593742d00e
langcode: fr
status: open
dependencies: {  }
weight: 0
open: null
close: null
uid: 1
template: false
archive: false
id: test
title: Test
description: ''
category: ''
elements: |-
  role:
    '#type': webform_computed_token
    '#title': Role
    '#template': '[current-user:roles:last]'
  date:
    '#type': datetime
    '#title': Date
    '#states':
      disabled:
        ':input[name="role"]':
          value:
            '!pattern': ^(gestionnaire_compta)
    '#states_clear': false
    '#date_date_format': ''
    '#date_time_format': ''
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: ''
  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: true
  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: {  }
CommentFileSizeAuthor
#4 3264349-4.patch1.69 KBjrockowitz
#3 3264349-2.patch1.2 KBjrockowitz

Comments

Monster971 created an issue. See original summary.

jrockowitz’s picture

Disabled inputs are not submitted via the submission.

@see https://stackoverflow.com/questions/1355728/values-of-disabled-inputs-wi...

A work-around would be use the readonly state, which is not currently supported via the UI.

role:
  '#type': computed_token
  '#title': Role
  '#template': '[current-user:roles:last]'
date:
  '#type': datetime
  '#title': Date
  '#states':
    readonly:
      ':input[name="role"]':
        value:
          '!pattern': ^(gestionnaire_compta)
  '#states_clear': false
  '#date_date_format': ''
  '#date_time_format': ''
jrockowitz’s picture

Status: Active » Needs review
StatusFileSize
new1.2 KB

The attached patch is a POC for adding support for the readonly condition to date-based elements.

jrockowitz’s picture

StatusFileSize
new1.69 KB
Monster971’s picture

Status: Needs review » Fixed

Thanks !!!!

Monster971’s picture

Is it possible to add read only to the Likert element please?

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.