2010-08-24 6 views
6

J'aimerais gérer un emploi du temps avec Drupal 6, il y a plusieurs équipements sur lesquels un administrateur distribue les personnes qui utilisent l'équipement. Essentiellement, je veux une table d'équipement par rapport au jour de la semaine. Le plan montre l'occupation de tout l'équipement pour toute la semaine. Ce qui le rend plus compliqué, c'est que l'édition de l'emploi du temps devrait être très facile et rapide. Habituellement, les gens ont l'équipement pour plusieurs jours, donc on devrait pouvoir, par exemple, pour faire glisser une entrée et remplir plus de jours de cette façon. J'aimerais aussi avoir une sélection de personnes visibles que l'on pourrait faire glisser sur l'emploi du temps et remplir de cette façon. Je suppose que l'on peut le faire avec javascript, mais je n'ai aucune expérience avec ça.Horaire modifiable avec Drupal

  • Est-il possible de créer quelque chose comme ça avec Drupal Forms API?

  • Des pointeurs/exemples pour le faisant glisser javascript?

  • Ou existe-t-il un logiciel existant ou un module Drupal qui peut faire cela?

Répondre

3

J'ai trouvé un joli javascript example for drag and drop in a timetable, il devrait être possible de l'adapter pour mon cas. Je vais juste devoir trouver comment l'intégrer au mieux avec Drupal.

Edit:

Le script que je l'ai mentionné en haut de la réponse ne fonctionne pas dans mon installation de Drupal donc je suis passé à l'interface utilisateur JQuery.

Je l'ai implémenté maintenant comme un module Drupal personnalisé qui utilise l'interface utilisateur JQuery pour Drag & Drop fonctionnalité. J'ai activé Drag & Drop pour un tableau HTML, pour enregistrer le calendrier, les éléments de la table sont lus via Javascript, puis envoyés à mon module Drupal personnalisé en utilisant ajax.

+0

Vous pouvez utiliser ahah pour obtenir dynamiquement des sous-formulaires, avec 3 champs (date, équipement, utilisateur), puis associer un élément déplaçable à chaque sous-formulaire. Chaque élément déplaçable pourrait avoir un bouton qui ouvre une div "pop-up" contenant les widgets de terrain pour vous permettre de modifier les valeurs de l'équipement/utilisateur. La date doit être masquée et définie par javascript drag-n-drop. Assurez-vous simplement d'utiliser #default_value à la place de #value. – redShadow

0

L'équipement ne pouvait-il pas être un type de contenu et posséder des propriétés différentes selon ce que vous décrivez? Ensuite, vous pouvez entrer chaque pièce d'équipement en tant que noeud. Cela vous épargnerait une tonne de temps contre l'API Form.

CCK

TableField CCK

0

Pourquoi utilisez-vous pas le module Event? Fondamentalement, il vous donne un type de noeud Event. Une vue peut ensuite générer la page de calendrier de tous les nœuds.

+0

Le problème ne montre pas la table, mais l'édition facilement. On devrait être capable de modifier chaque jour d'une semaine pour chaque pièce d'équipement à la fois dans une page. –

0

Je ne suis pas exactement sûr si le module MERCI a toutes les fonctionnalités que vous voulez. J'ai fait quelques tests et ça a l'air plutôt bien, ça fonctionne encore mieux. Il est cependant disponible uniquement dans la version préliminaire aplpha 5 mais il devrait faire son travail.

Pour faire glisser et déposer. Il ne devrait pas être si difficile d'améliorer les formulaires en utilisant certains JQuery comme suggéré par @Fabian.

2

Un module Drupal 7 de Fields qui crée un champ horaire qui peut être affiché à travers une belle grille hebdomadaire.Peut être utiliser pour afficher les heures d'ouverture ou les heures de travail d'une façon très nette:

http://drupal.org/project/field_timetable