I belong to a volunteer organization that uses a painful .NET site for signing up for shifts (for example, you can change registrations for anyone, not just yourself), so I'm looking to create a Drupal site that can handle this process much easier and also allow admins to make changes without having to pay someone to make changes when needed.

You can see the current site below. Current calendar to replace Each column is a day, the numbers (140, 148, etc.) are the stations, and the second column is the position. At one glance, you can see who is signed up on a given day and at which station. This is just one small part of the entire page, which is a calendar view of a whole month.

What I would like to do is create a "Register" button for each slot that uses ajax when clicked that would register the user for the shift and replace the button with the user's name (after doing some validation, such as making sure the user isn't signed up for another slot at the same time, they have permission for that slot, etc.).

The trickiest part is creating the custom form and then displaying it in the calendar. As with any Drupal site that needs a calendar, I'm looking at the Calendar and Full Calendar modules. Both seem to require nodes with date fields and Views displays to show a calendar, so I'm guessing I would need to create something like a Shift entity with a date field and then create the node via the ajax code. The bigger question is how to create the custom form and display it in the appropriate date in the calendar. Is it a matter of creating a custom Views display handler for the form, or is there a simpler way? Once I figure that part out, the rest will be pretty easy.


2 Answers 2


Creating the form should be as easy as simply as creating a content type and populate it with your needed fields. This content type will have the date, the stations, etc etc.

Then, using views will be as easy as list your nodes. If you need to display them in a calendar you can customize your view using third modules, calendars or customizing your own view.

Good luck :-)

  • Well, that would work to a certain extent, but this format changes from time to time, so if I use a content type, then I have to change the structure of it. For the sake of flexibility, it would be better to be able to modify the form w/o a hardcoded content type structure.
    – wonder95
    Oct 1, 2013 at 15:56

For the sake of answering this question, I spoke with Tim Plunkett (creator of the Full Calendar module), and after explaining my use case, he said there really wasn't anything to be gained by using Views, especially with all of the custom work I would need to do to get my signup links inside a calendar. I've decided to just go with a custom module that will give me the control I need, both over the node creation and the calendar display.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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