Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Editable timetable using Drupal

I'd like to manage a timetable using Drupal 6, there are several pieces of equipment on which an administrator distributes people who get to use the equipment.

Essentially I want a table of equipment versus day of the week. The plan shows the occupation of all equipment for the whole week.

What makes it more complicated is that the editing of the timetable should be very easy and quick. Usually people have the equipment for multiple days, so one should be able e.g. to drag an entry and fill out more days this way. I'd also like to have a selection of people visible that one could drag onto the timetable and fill it out that way. I assume one can do that with javascript, but I have no experience with that.

  • Is it possible to create something like that with the Drupal Forms API?

  • Any pointers/examples for the dragging javascript?

  • Or is there some existing software or Drupal module that can do that?

like image 254
Mad Scientist Avatar asked Aug 24 '10 08:08

Mad Scientist


2 Answers

I've found a nice javascript example for drag and drop in a timetable, it should be possible to adapt that for my case. I'll just have to figure out how to best integrate it with Drupal.

Edit:

The script I've mentioned at the top of the answer did not work inside my Drupal installation so I switched to Jquery UI.

I've implemented it now as a custom Drupal module that uses JQuery UI for Drag&Drop functionality. I've enabled Drag&Drop for a HTML table, to save the timetable the elements of the table are read out via Javascript and then sent to my custom Drupal module using ajax.

like image 55
Mad Scientist Avatar answered Nov 13 '22 01:11

Mad Scientist


A Fields drupal 7 module that creates a timetable field that can be display through an nice weekly grid. Can be use to display opening hours or working hours in a very neat way :

http://drupal.org/project/field_timetable

like image 2
targoo Avatar answered Nov 13 '22 01:11

targoo