Блокировка таблицы в form_validate и разблокировка на form_submit в Drupal 6 - PullRequest
0 голосов
/ 17 июля 2011

Я пишу форму для модуля Drupal 6, чтобы люди могли подписаться на некоторые действия, и хотел бы ограничить доступные подписки.

Я довольно новичок в Drupal API, но думал вблокировка таблицы (при проверке db_lock_table проверьте, есть ли у нас свободное место, затем при отправке формы вставьте все в базу данных и разблокируйте, чтобы предотвратить условия гонки.

Будет ли это работать?Есть ли лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 17 июля 2011

Вместо написания своей собственной системы управления событиями в drupal, почему бы не использовать существующие модули, взятые из http://beeznest.wordpress.com/2010/05/28/adding-events-management-to-drupal-6/

Установка управления событиями и подписками на события в Drupal 6 так же проста, как установка нескольких модулей и быстрая настройка.

  1. скачать и установить модуль событий
  2. скачать и установить модуль регистрации
  3. включить модуль событий и все его подмодули (не проверяйте средство выбора даты, если вы хотите работать быстро, так как для работы потребуется дополнительный CSS и JS)
  4. включить модуль регистрации (требуется при регистрации события)
  5. перейдите к разрешениям и включите события и функции регистрации (узлы и разделы регистрации) для ролей пользователей по мере необходимости (возможно, вы захотите разрешить анонимным людям подписываться на события…)
  6. перейти к администрированию контента -> тип контента -> событие -> редактировать
  7. в разделе Конфигурация регистрации, выберите любой из 2 последних вариантов (разрешено или включено), затем сохраните
  8. создать событие и «включить» опцию регистрации (отредактируйте соответствующие элементы в соответствии с вашими потребностями)

Модуль регистрации событий имеет функцию «Существуют настройки для ограничения регистрации для выбранных ролей и типов контента, а также для ограничения количества пользователей, которые могут зарегистрироваться для любого данного узла». - см http://drupal.org/project/signup

0 голосов
/ 19 июля 2011

Цель db_lock_table - избегать условий гонки. Я не вижу другого способа сделать это.

...