2

I've added a Venti fieldtype to an entry and when I try to save it as an all-day event it says Couldn't save entry

Start Date and time must be set.
End Date and time must be set.

Help appreciated!

3
  • 1
    Hey Cole, please report this directly to the plugin developer. You can get in touch with them from the “Give Feedback/Get Help” link at the top-right of venti.helpdocs.com. Thanks! Commented May 13, 2016 at 12:12
  • Per your solution (below), it looks like this was a bug in the plugin. Please report the bug to the plugin developers through their proper channels. Thanks.
    – Lindsey D
    Commented May 13, 2016 at 15:53
  • Thanks - have done. Posted answer here in case anybody else was experiencing a similar issue Commented May 13, 2016 at 15:55

1 Answer 1

1

Have managed to resolve by updating the _convertTimes function in venti/fieldtypes/Venti_EventFieldType.php.

Change (line 141):

if ((is_string($value['startDate']) && $value['startDate']) || (is_array($value['startDate']) && $value['startDate']['time']))

To:

if ((is_string($value['startDate']) && $value['startDate']) || (is_array($value['startDate']) && $value['startDate']['time']) || (is_array($value['startDate']) && $value['allDay'] == 1 && $value['startDate']['date']))`

And (line 150):

if ((is_string($value['endDate']) && $value['endDate']) || (is_array($value['endDate']) && $value['endDate']['time']))

To:

if ((is_string($value['endDate']) && $value['endDate']) || (is_array($value['endDate']) && $value['endDate']['time']) || (is_array($value['endDate']) && $value['allDay'] == 1 && $value['endDate']['date']))

This will remove the need to add a time if an all day event is specified.

Not the answer you're looking for? Browse other questions tagged or ask your own question.