Account created on 7 February 2013, almost 12 years ago
#

Merge Requests

Recent comments

🇵🇹Portugal rfmarcelino

Thank you @laysiv and @zimny.
Just removed the verification for the slot.

@zimny, moving the slot into a new field would have backward compatilities issues (we would need to change how we're quering existing bookings).
If we would reconsider the way date is stores, we would probably consider using Datetime range allong with a couple more:
- Quantity (seats)
- Transaction data (paypal integration)

This kind of change would likelly should be a 2.x branch.

🇵🇹Portugal rfmarcelino

Hey,
Just made an attempt to fix the issue for US users.
Try the latest dev version
composer require 'drupal/webform_booking:1.1.x-dev@dev'
and set your default country on the settings page to US (/admin/config/services/webform_booking)

🇵🇹Portugal rfmarcelino

Hi @laysiv
This should work in all environments.
The calendar and slots are generated with JavaScript based on your element configuration.
If it's not appearing, try to install the latest version (or even dev version) and check your browser console for errors.

🇵🇹Portugal rfmarcelino

Hi @drupgirl,
Yes, I'm aware that the issue was not fixed.
The module was developed considering the format the whole world uses except the US (dd-mm-yyyy).
I'm exploring options to support the US format mm-dd-yyyy, but it's not a trivial fix that will take some time and I need to manage the contribution hours between different projects and priorities. Contributions are always welcome 🙂
Until then, a section 'Limitations' was added to the project description and suggested by @duckydan

🇵🇹Portugal rfmarcelino

Hi @zimmy
Just sent a fix to dev. Please test it out and lete me know if it's also working for you.

🇵🇹Portugal rfmarcelino

I'm aware that this is closed now, but I found some issues with changes made by one of the commits.

This might be related to using chosen instead of the regular dropdown, so I won't reopen this.
I was just wondering if changing to overflow-y: scroll; would create issues elsewhere since it solves my issue:

🇵🇹Portugal rfmarcelino

@duckydan

Why does the picker enter the wrong data? It won't let me enter the date manually either. Is there some date/time format setting?

That is part of your browser using your regional settings. Since I'm in Europe, I used our usual date format. We could eventually have something to detect the user's settings and account for it, but for now, it's working as designed.

@robbienlive some of the warnings you're getting are from webform (a separate project) and 500 is a server error that can be caused by multiple things (resources, stack version or modules,...)

Not much info in your message can point to an issue /solution.

---
If you encounter an issue that you think might be related to this project, try to replicate it in a clean install.
If the problem persists, share your webform element configuration so I can recreate it and fix it.

🇵🇹Portugal rfmarcelino

The problem seems to be the start and end date that should be like this:

The module expects the format day-month-year and on your config the end date is invalid

🇵🇹Portugal rfmarcelino

Hey @robbienlive and @duckydan
Thank you for your feedback.

To debug your issue, make sure you're using the latest version and if you have any errors on the browser console.
The calendar widget is created with JavaScript. If it's not appearing, it might be a conflict with something else.

The warning:
Warning: Undefined array key "#default_price"
should not appear in the latest version, but it's just a warning and shouldn't have any impact.

🇵🇹Portugal rfmarcelino

Hi @aaldayel,
Thank you for your feedback.
Yes, I noticed it a few weeks ago and it's fixed on the dev version:
"drupal/core": ">=9.1"

🇵🇹Portugal rfmarcelino

Hi @goldenpeps,
There are several proprieties in your config that are not part of this version element.
I tried with the ones that exist, on a blank installation, and worked as designed:

date_du_rdv:
'#type': webform_booking
'#title': 'Sélectionnez une date pour le RDV'
'#required': true
'#start_date': '2024-09-30'
'#end_date': '2024-10-31'
'#days_advance': 1
'#excluded_weekdays':
Sun: Sun
Mon: 0
Tue: 0
Wed: 0
Thu: 0
Fri: 0
Sat: 0
'#time_interval': '08:00|12:00'
'#slot_duration': '30'
If you have any patches or changes to your code, try removing them.
For now, I'm unable to replicate your issue.

🇵🇹Portugal rfmarcelino

@cicciobat thank you for your feedback.
Sent to the 1x branch.
You can try it using composer require 'drupal/webform_booking:1.0.x-dev@dev'

🇵🇹Portugal rfmarcelino

Released as part of 1.0.13

🇵🇹Portugal rfmarcelino

Released as part of 1.0.13

🇵🇹Portugal rfmarcelino

@zimny, thank you for your feedback.
Now available on dev:
composer require 'drupal/webform_booking:1.0.x-dev@dev'

🇵🇹Portugal rfmarcelino

The problem seems to be related to how javascript processes dates which was also mentioned in another issue.
I just sent a commit to fix it. Install the dev version and let me know if it solves it for you too.
composer require 'drupal/webform_booking:1.0.x-dev@dev'

🇵🇹Portugal rfmarcelino

@pameeela Thank you for your feedback.
I just sent a commit to change how the date is processed.
Install the dev version:
composer require 'drupal/webform_booking:1.0.x-dev@dev'
and let me know if it solved your issue

🇵🇹Portugal rfmarcelino

Hi @mylocaltrades,
Can you please provide a screenshot of your webform booking settings so I can try to replicate it?

🇵🇹Portugal rfmarcelino

On the site I was working on, the width is working but I'm not seeing the clear button.
I tried on a blank install using simpletest.me and when adding the node with that field, I get a WSOD:

🇵🇹Portugal rfmarcelino

Hi @lazzyvn
Thank you for your work.

Yes, you're right. I didn't notice that the toolbox also had it.
Maybe the help text could be adjusted to make ite clearer:
"Show toolbox to modify dot size, color pen or clear the canvas."

I think the reset should be a separate option than the toolbox. The reset/clear should be useful to most users, but not necessarly the line width or color.

Regarding the CKEditor, to be honest I only tested the field widget.
Since you consider this useless, go ahead and close as designed. No point of further development.

BTW, I added a new commit anyway to the MR to revert code added in the last release that caused an error:
'Drupal\Core\File\Exception\DirectoryNotReadyException'

It's not related to this issue, but since it's necessary for it to work...

🇵🇹Portugal rfmarcelino

@aaron.ferris the issue should be solved in the latest version.

🇵🇹Portugal rfmarcelino

@21kPiyush, the new release has a new validation.
I wasn't abale to replicate your issue, but should no happen in the latest version.

🇵🇹Portugal rfmarcelino

The commit was released allong with the new form validation.
Thank you for your contribution.

🇵🇹Portugal rfmarcelino

@Corn696, thank you!
I sent your code with some adjustments to 1x branch.

🇵🇹Portugal rfmarcelino

I'm unsure if this will help, but let me share my experience.
for context, I have a node type using a workflow and I'm using the 'Workflow transition form' widget and a field with Entity Browser.

While creating a new node, and running Ajax (opening entity Browser) I get:
Error: content has no workflow attached. The data is not saved.

I tried to install the dev version but started getting this error even without touching the form:

TypeError: Drupal\Core\Field\WidgetBase::errorElement(): Argument #1 ($element) must be of type array, null given, called in /var/www/html/web/core/lib/Drupal/Core/Field/WidgetBase.php on line 580 in Drupal\Core\Field\WidgetBase->errorElement() (line 646 of /var/www/html/web/core/lib/Drupal/Core/Field/WidgetBase.php)

For now, I locked it to 1.7 in composer.json
"drupal/workflow": "1.7",
and it works well.

In 1.7 and prior $form["field_wf_status"]["widget"][0]["workflow_transition"]["#value"]) was set and in 1.8 is NULL

🇵🇹Portugal rfmarcelino

Thank you for your work!
I committed the plain js version with some changes.
From my tests it worked but I didn't made a release tag yet since I want to do some more testing and eventualy also send the webform settings validation in plain js.
Meanwile, feel free to play around with it and give your feedback.

🇵🇹Portugal rfmarcelino

Dear @Sajara,
Apparently those browsers do not support CSS grid.
Grid is supported by most browsers:
https://caniuse.com/css-grid
Since CSS is used by 97% of the users, right now, there's no near term plans to change the widget styling to support legacy browsers, however, it's only CSS.
If you want, you can add the styling you want to your theme (layout, colors, font size, etc) or using a module like CSS injector

🇵🇹Portugal rfmarcelino

Thank you @hewi1345
Yes, I also considered using plain js.
From my tests, the code in both branches seem to need some work:

🇵🇹Portugal rfmarcelino

Dear @hewi1345 @Sajara
Thank you for your feedback.
There are several implications to consider.
The email content usually needs to be customised and a generic solution may not work well for most use cases.
The simplest approach, since Webform already allows to configure emails, would be to provide a token for the cancellation URL.
That would allow to embed inside a custom confirmation email.
A controller would get that cancellation request and remove the value from the submission.
Currently, the cancellation is deleting the field content. In terms of auditing, it's not great. It would be probably better to have a hidden 'Canceled' status.

As @ressa just mentioned, we are volunteering our time. We have a set of weekly contribution hours. If you need a specific feature within a specific timeframe, feel free to reach us.

🇵🇹Portugal rfmarcelino

Dear @abonadad1985
I'll have a look when I have some time available.
A warning is not a critical error. A critical error is something that breaks the module functionality or the website or has any security implications.
Moving to 'Normal'.

🇵🇹Portugal rfmarcelino

Thank you jbfelix for your feedback,
Possible, yes. It will require changing the getDays endpoint to call the getSlots for each day.
We'll need to check the impact of those up to 31 (days) extra queries.

🇵🇹Portugal rfmarcelino

Thank you @dr gubó
Yes, this would require some changes.
To be considered in an upcoming development cycle.

🇵🇹Portugal rfmarcelino

Thank you @mchamps for your feedback.
Your request is similar to the issue Allow booking of whole days Active .
I'm considering a 2.0.x that includes some of the new requests.

🇵🇹Portugal rfmarcelino

Thank you @eiclu for your feedback.
Yes, this is something that would be useful.
To be considered in an upcoming dev sprint.

🇵🇹Portugal rfmarcelino

Thank you @eiclu for your feedback.
Yes, this is something that would be useful.
To be considered in an upcoming dev sprint.

🇵🇹Portugal rfmarcelino

Thank you for your contributions.
Merged.

🇵🇹Portugal rfmarcelino

Thank you @DavidAndersonENCSD for your feedback.
Yes, you're right. Right now we're only storing a string.
It may make sense to change it to a DateTime field, but it's also less flexible and would also constrain what we can do in the future (allow multiple slots or a range of slots, etc.)
We'll also need to consider the impact on projects already using the module. Eventually, there needs to be a '2.x'.

🇵🇹Portugal rfmarcelino

New contrib module for the webform ecosystem

🇵🇹Portugal rfmarcelino

Thank you @Kostiantyn for your contribution.
Merged and will be part of the next release.

🇵🇹Portugal rfmarcelino

Thank you @saurabhpandit26,
Commited to master. Will be part of the next release.

🇵🇹Portugal rfmarcelino

@Diksha@lnwebworks,
Thank you, butyou're probably using an old version.
The most recent version is already:
package: Webform

🇵🇹Portugal rfmarcelino

The previous fix only covered validation if the field was always required.
The latest release 1.0.8 now allows to use required as conditional

🇵🇹Portugal rfmarcelino

@hewi1345, thank you for you feedback.
I wasn't able to get the same error as you did, but since the validation error was in a field that only manager can see, the form was blocked without any user feedback.
The new release adds user feedback in case the field is required an no slot is selected.

🇵🇹Portugal rfmarcelino

The date format is still not right.
If you want, export your configuration, edit the element part of the webform.webform.booking.yml and import it again:
elements: |-
book1:
'#type': webform_booking
'#title': appointment
'#start_date': '2024-03-04'
'#end_date': '2024-03-22'
'#excluded_weekdays':
Mon: 0
Tue: 0
Wed: 0
Thu: 0
Fri: 0
Sat: 0
Sun: 0
'#time_interval': '7:00|18:00'
'#slot_duration': '15'
'#seats_slot': 2

You shoud be able to just select the dates in the calendar, but there might be a setting altering the default date format

🇵🇹Portugal rfmarcelino

It worked on a clean install:

The difference I'm seing is in the date formats. Should be DD MM YYYY and you're using MM DD YYYY

🇵🇹Portugal rfmarcelino

@alex20001111 you should be also seing the calendar as in the project description.

The text field will also be displayed to users able to edit swebform submissions, but not for visitors.
Please make sure your settings are in the correct format as explained in the tooltips.

If it's still now working, please add a screenshot of your settings so I can try to replicate it.

Production build 0.71.5 2024