Account created on 22 September 2010, over 13 years ago
#

Recent comments

🇺🇸United States sassafrass

Applied the latest patch and it hides a single Display as expected. However, I was wondering if it also makes sense to hide the View selection if there is only one View as well? Or to give users the option to hide those fields?

🇺🇸United States sassafrass

Confirming that the latest patch fixed the issue for me.

🇺🇸United States sassafrass

This is working as expected using a the /print/pdf/webform_submission/... path rather than the /webform/webform_id/submissions/ path. This can be closed.

🇺🇸United States sassafrass

I can get to this to work using the access token from webform submission. This can be closed.

🇺🇸United States sassafrass

I also experience the error reported in #188. In addition, I am unable to create any new filter text formats because I am unable to select CKEditor5 as the text editor. I get an error indicating that I must select and configure it when I try to save. I removed the patch to create the new filter, but am now experiencing the original plugin error reported.

🇺🇸United States sassafrass

I applied the patch in MR!177 and am still getting the same error.

🇺🇸United States sassafrass

I first tried the patch: 2881776-packaged-45.patch to the latest stable version Field Permissions: 8.x-1.3 and it applied cleanly. However, I get the following error when trying to save a new field permission:

The website encountered an unexpected error. Try again later.

RuntimeException: Adding non-existent permissions to a role is not allowed. The incorrect permissions are "create field_sidebar_sections", "edit own field_sidebar_sections", "view own field_sidebar_sections". in Drupal\user\Entity\Role->calculateDependencies() (line 207 of core/modules/user/src/Entity/Role.php).
Drupal\Core\Config\Entity\ConfigEntityBase->preSave(Object) (Line: 179)
Drupal\user\Entity\Role->preSave(Object) (Line: 528)
Drupal\Core\Entity\EntityStorageBase->doPreSave(Object) (Line: 483)
Drupal\Core\Entity\EntityStorageBase->save(Object) (Line: 257)
Drupal\Core\Config\Entity\ConfigEntityStorage->save(Object) (Line: 352)
Drupal\Core\Entity\EntityBase->save() (Line: 609)
Drupal\Core\Config\Entity\ConfigEntityBase->save() (Line: 96)
Drupal\field_permissions\Plugin\FieldPermissionType\CustomAccess->submitAdminForm(Array, Object, Object) (Line: 154)
field_permission_field_config_edit_form_submit(Array, Object)
call_user_func_array('field_permission_field_config_edit_form_submit', Array) (Line: 129)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object) (Line: 67)
Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object) (Line: 597)
Drupal\Core\Form\FormBuilder->processForm('field_config_edit_form', Array, Object) (Line: 325)
Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 73)
Drupal\Core\Controller\FormController->getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 627)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 704)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

I then installed the 8.x-2.x-dev module version and tried to apply the patch: 2881776-packaged-45.patch. It couldn't apply.

🇺🇸United States sassafrass

I'm still experiencing this issue. Using Drupal 10.2

The website encountered an unexpected error. Try again later.

Symfony\Component\Routing\Exception\InvalidParameterException: Parameter "bundle" for route "content_entity_clone.bundle.field_settings" must match "[a-z0-9_-]+" ("~1" given) to generate a corresponding URL. in Drupal\Core\Routing\UrlGenerator->doGenerate() (line 209 of core/lib/Drupal/Core/Routing/UrlGenerator.php).

🇺🇸United States sassafrass

In the file: webform_clientside_validation.ife.js, if I comment this code out, this works as expected.

  /**
   * Fix date/time min, max, and step validation issues.
   *
   * @type {Drupal~behavior}
   *
   * @see https://github.com/jquery-validation/jquery-validation/pull/2119/commits
   */
  /*Drupal.behaviors.webformClientSideValidationDateTimeFix = {
    attach: function (context) {
      $(context).find(':input[type="date"], :input[type="time"], :input[type="datetime"]')
        .removeAttr('step')
        .removeAttr('min')
        .removeAttr('max');
    }
  };*/
🇺🇸United States sassafrass

Hi. Thanks for creating the patch. I applied the patch successfully and although the Image to select is now at the top of the pane and scrolling is no longer needed, I now can no longer see the SELECT button to Select the image.

🇺🇸United States sassafrass

I believe this might be related: https://www.drupal.org/project/webform/issues/3419954 💬 'Attachment URL' element with tokens gives 'Connection refused for URI' error Active

🇺🇸United States sassafrass

Using:

"drupal/core-recommended": "^10.2"
"drupal/ckeditor_liststyle": "1.x-dev@dev"

Also getting the error in #14:

Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException: The "ckeditor5_list" CKEditor 5 plugin definition is configurable, but its default configuration does not match its config schema. The following errors were found: [properties] missing schema, [multiBlock] missing schema. in Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition->validateDrupalAspects() (line 190 of core/modules/ckeditor5/src/Plugin/CKEditor5PluginDefinition.php).
🇺🇸United States sassafrass

Thanks for such a thoughtful and thorough explanation!!

🇺🇸United States sassafrass

sassafrass created an issue.

🇺🇸United States sassafrass

Although patch: " https://www.drupal.org/files/issues/2022-11-28/3308143-date-range-offset... " applies correctly, it looks like the default timezone is being changed to UTC, despite it being set as New York in my Drupal setup.

🇺🇸United States sassafrass

I can see that when I inspect the webform submission using Xdebug and by looking in Drupal's file system that what you say is true for any files uploaded to the webform by the submitter. However, fields of type attachment that generate a pdf of the submitted form (please see the example form and screenshot), are generated AFTER the form is submitted and does not seem to be available in the file system. I can only access them via the url generated by Webform after the file is generated.

🇺🇸United States sassafrass

I have a client requirement to upload that attachment to their BOX client via an API.

🇺🇸United States sassafrass

Actually this is because of how I've configured the date formats. That being said I've configured it this way to get around the issue reported here: https://www.drupal.org/project/smart_date/issues/3389649 🐛 Can't get rid of space between Date and Date/time join character Active which is still happening on 4.1.x-dev@dev.

🇺🇸United States sassafrass

Thank-you for your patience. :-)

I want to programmatically download a Webform attachment without having to open up the permissions to access the Webform attachment to anonymous users.

🇺🇸United States sassafrass

I am writing a custom module with a custom Web Handler on a Drupal site.

🇺🇸United States sassafrass

Actually I just tried curl again, and for some reason that worked this time. I don't know what's different.

🇺🇸United States sassafrass

The "programatically" aspect of this ticket is key to me. :-) I have tried the following to access the attachment link from a custom Webform Handler:

$account = User::load(1);
$this->accountSwitcher->switchTo($account);

// Save and get the submission results.  This is all successful except when trying to download the attachment with:

file_put_contents($destination, file_get_contents($attachment_url));  // Works if Anonymous users have "Administer webforms" permission.  Doesn't work otherwise.

$this->httpClient->get($source, $this->configuration['guzzle_options']); // Denied access unless Anonymous users have "Administer webforms" permission.

curl url/to/attachment/path  // Administrator has access to download but the file is malformed (the file has been damaged (for example, it was sent as an email attachment and wasn't correctly decoded).

$this->fileSystem->saveData($attachment_url, $destination, FileSystemInterface::EXISTS_REPLACE);  // Administrator has access to download but the file is malformed (the file has been damaged (for example, it was sent as an email attachment and wasn't correctly decoded).
🇺🇸United States sassafrass

I have updated my environment to the following:
Drupal core 10.1.6
Webform 6.2.0

I have imported the attached webform and tested a submission. Submission works as expected. Attachment is generated as expected and can be accessed via the submission ui. However, it is not automatically downloaded as expected according to the config (see screenshot).

🇺🇸United States sassafrass

It was on 6.1, but I'll update to 6.2 and re-test.

🇺🇸United States sassafrass

I still have not been able to resolve this. Could someone perhaps guide me on how I could fix this? I am willing to try to write a patch or a custom module, but I'm not sure where to begin.

🇺🇸United States sassafrass

Patch: 3308143-date-range-offset-3.patch worked for me. Thanks!

🇺🇸United States sassafrass

Thanks for the patch. I found it very confusing to not have the value 1 save. It wasn't intuitive to me that it was the default; I thought it was broken.

🇺🇸United States sassafrass

@Carlitus - This is fantastic! Is it possible to get a re-roll of your patch for 8.x-2.0?

🇺🇸United States sassafrass

I have applied the patch #11 , working as expected now the required(*) symbol in showing on the radio field . Thanks!

🇺🇸United States sassafrass

Okay. Thanks. I was looking for a way to reset the time or select the --:--:--. I didn't realize you selected the time and clicked delete. Closing and marking as works as expected.

🇺🇸United States sassafrass

I agree that this is functioning as expected and it's just the asterisk that is not displaying. I've changed the issue title to reflect that. The asterisk does display as expected for field types other than radio buttons so I think it's specific to that field type. That being said, this patch un-does important functionality in that it removes the required functionality from hidden fields that are required, if they remain hidden (not used) when the form is submitted. I don't think we want to remove that functionality. We just want the asterisk to display on the radio buttons like it does for the other fields.

🇺🇸United States sassafrass

Awesome! That worked! Thank-you so much!

🇺🇸United States sassafrass

Successfully using latest merge request in production. Thanks!

🇺🇸United States sassafrass

Also trying to figure out how to migrate a reusable, paragraph_library_item.

🇺🇸United States sassafrass

I agree - In my use case only the Administrator Role can use this feature but it appears in the modal for other roles as well when selecting Media from the Media Library in the modal.

🇺🇸United States sassafrass

I am testing using the latest patch. In my yaml, I am using the paginator type because the urls provided in the JSON endpoints are not valid for my use case.

  urls:
    - http://services.baltimorecountymd.gov/api/hub/pets/pets?status=Adoptable
    - http://services.baltimorecountymd.gov/api/hub/pets/pets?status=Lost
  pager:
    type: paginator
    selector: /metaData/
    paginator_type: page_number
    default_num_items: 10
    page_key: page
    size_key: recordsPerPage

The paginated urls are generated as expected. However, it never stops generating urls. Urls being generated are valid but have no records. For example see: https://services.baltimorecountymd.gov/api/hub/pets/pets?status=Adoptabl....

My particular use case has non-scalar $selector_data but the JSON is not in format expected by this segment of code, which always evaluates to true.

     else {
            // If we have an array of rows
            if (count($selector_data) > 0) {
              $next_urls[] = Url::fromUri($path['path'], [
                'query' => $path['query'],
                'fragment' => $path['fragment'],
              ])->toString();
            }
          }
        }
🇺🇸United States sassafrass

I would like to use this feature and was wondering what the latest status was?

🇺🇸United States sassafrass

So this was due to the fact that I had a space after my url in my environment variable. Removing the space resolved the issue.

🇺🇸United States sassafrass

So this came down to an edge case where our custom theme is trying to load fonts into a WYSWIG, which fails when that WYSIWYG is in a modal. Closing - Works as designed. Thanks!

🇺🇸United States sassafrass

Thanks for the quick response. I think you are right and this may be due to a core issue given your comment and the fact that I see the following issues in the console:

webform:1 Refused to execute script from 'https://fonts.googleapis.com/css?family=Crimson+Text:400,400i,600,600i%7CMontserrat:300,400,600,700&display=swap' because its MIME type ('text/css') is not executable, and strict MIME type checking is enabled.

ajax.js?v=10.1.0:1118 An error occurred during the execution of the Ajax response: The following files could not be loaded: //fonts.googleapis.com/css?family=Crimson+Text:400,400i,600,600i|Montserrat:300,400,600,700&display=swap1
(anonymous) @ ajax.js?v=10.1.0:1118
🇺🇸United States sassafrass

This doesn't work for me either in D10. In D9, I used file_import rather than image_import and that worked.

🇺🇸United States sassafrass

I think this is working as intended. If I understand correctly, the Group roles are only selectable if they are not set to synchronize with the Global roles...they are only selectable if they are configured for Individual scope. Please close.

🇺🇸United States sassafrass

This is my error. Additional Group Roles don't show up unless their are Global Drupal roles other than Anonymous, Authenticated, and Admin. Close.

🇺🇸United States sassafrass

Nevermind. I see it. Looking in the wrong place.

🇺🇸United States sassafrass

If I insert a file uploaded via IMCE into a WYSIWYG field, it doesn't indicate that it is "Used". Is that related to this issue? Is this issue still being worked on, or should I open a new ticket?

🇺🇸United States sassafrass

Thank-you, joekers for your code contribution: #11 Use IMCE with Media Library Widget Needs work . I have yet again, encountered this requirement with another client.

🇺🇸United States sassafrass

Perfect! Thanks for the clarification!

🇺🇸United States sassafrass

This is working as expected. My configuration for the mail_system module was incorrect.

🇺🇸United States sassafrass

Yeah, sorry. That's overkill.

I've created a simple form with two fields: an email address and a file upload. In the email handler for my form, I have checked the file upload field to be included in the submission values. "Include files as attachments" is enabled. New config export is below.

The email gets sent, but the email still contains links to the files rather than the files as an attachment. I am using the https://www.drupal.org/project/mailsystem module. I thought that my issue may have to do with the integration of Webform and the Mail System module or Sendgrid Integration, but I disabled both of those on my local and still get the link.

I wouldn't be surprised if it's user error, I just don't know what I'm doing wrong.

uuid: d7454793-f917-4567-b2ce-cd92aa2a5764
langcode: en
status: open
dependencies:
  enforced:
    module:
      - webform
_core:
  default_config_hash: CJr5U2B4if_Ff1SZfnNp_csPKwXIynmbUlBC-SmSOAE
weight: 0
open: null
close: null
uid: null
template: false
archive: false
id: contact
title: Contact
description: 'Basic email contact webform.'
category: ''
elements: |-
  email:
    '#title': 'Your Email'
    '#type': email
    '#required': true
    '#default_value': '[current-user:mail]'
  pdf_example:
    '#type': webform_document_file
    '#title': 'PDF Example'
  actions:
    '#type': webform_actions
    '#title': 'Submit button(s)'
    '#submit__label': 'Send message'
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: source_entity_webform
  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: url_message
  confirmation_url: '<front>'
  confirmation_title: ''
  confirmation_message: 'Your message has been sent.'
  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:
  email_notification:
    id: email
    handler_id: email_notification
    label: 'Email notification'
    notes: ''
    status: true
    conditions: {  }
    weight: 2
    settings:
      states:
        - completed
      to_mail: _default
      to_options: {  }
      bcc_mail: ''
      bcc_options: {  }
      cc_mail: ''
      cc_options: {  }
      from_mail: '[webform_submission:values:email:raw]'
      from_options: {  }
      from_name: _default
      reply_to: ''
      return_path: ''
      sender_mail: ''
      sender_name: ''
      subject: _default
      body: _default
      excluded_elements: {  }
      ignore_access: false
      exclude_empty: true
      exclude_empty_checkbox: false
      exclude_attachments: false
      html: true
      attachments: true
      twig: false
      theme_name: ''
      parameters: {  }
      debug: false
variants: {  }
🇺🇸United States sassafrass

I was unable to apply the latest patch using:
Drupal core 9.4.10
Entity Print 8.x-2.11

Production build 0.69.0 2024