Home›Forums›Feature Requests›Volunteer Sign-Up Sheets – Feature Requests›Provide a Way to Edit the Start and End Dates›Reply To: Provide a Way to Edit the Start and End Dates
Believe me, I have thought about this many times, and am actually working through some of this now on a new (as yet unannounced) replacement for the free plugin… rebuilding it from scratch with a much better database structure, and true classes for each object (events, tasks, fields, signups, etc.) with proper methods. One big reason is to also allow true repeating events, using an rRule type system used by iCal and Google and others, and integrating the much better Full Calendar ( https://fullcalendar.io/ ). It will also allow custom fields, signup templates, and much more all built into what will most likely be the new free base plugin.
Those SQL queries would certainly work, but that’s a brute force method that simply changes every date it finds in every table to a new date, without regards for which sheet or task it’s coming from (and you still need to provide an admin interface to specify which dates to change, and the date to change it to, and what to do with Multi-Day and Recurring events). There is a LOT more to consider and code (I’m going through it all now, and it’s very complex, especially for events that are Repeating or Multi-Day).
What happens if you only want to reschedule a specific event?
What happens if you only want to reschedule one day of a repeating/recurring event? Or you need to reschedule all of the days of a repeating/recurring or Multi-Day event?
Do we move the signups as well and just assume that everyone who signed up for the first date can also make it to the new date? Or do we delete those signups and have people signup again?
Do we send out email notices to everyone who signed up letting them know the dates have changed? Do we reset their email reminders (reminder 1 and reminder 2) so that they will get sent again?
The list goes on, and most of these things would need to be options for the admin to choose how to handle each case.
For now, you’ve already figured out the best way if you want to brute force change every date in the database to another date, just do it in your server’s database admin program.