Доступ к рабочему процессу Drupal интегрирован с контролем доступа к таксономии? - PullRequest
1 голос
/ 15 марта 2010

Я создаю DMS для нашей интрасети и использую иерархию таксономии, потому что нам нужен контроль доступа таким образом. Все местоположения компании управляют (загружают, редактируют) своими собственными документами, но должны иметь доступ ко всем. Это унаследовано от дочерних терминов и отлично работает.

Дополнительно мы хотим простой трехэтапный рабочий процесс (черновик, опубликованный, заархивированный). Поэтому я представил роли редактора, издателя и docadmin и установил разрешения для переходов. Также запускает для эффективной (не) публикации документов.

Но (конечно) пользователь издателя ролей может выполнить переход для ВСЕХ документов. Но нам нужен издатель для каждой компании (верхний уровень таксономии, см. Выше).

Может ли это быть достигнуто? Нужно ли мне это настраивать самому (я полагаю, что для этого подходят «правила») или другой модуль помогает.

наследование ролей было предположением, но это только о ролях (естественно). "модуль предоставляет" я использую и проверил первый вариант. Таким образом, мои мысли идут. Я надеюсь, вы поняли мою идею соотв. проблема.

drupal 6.16 ток

редактирование: Я перечитал документы и нашел то есть. http://drupal.org/node/408018 Пересмотр категоризованного контента. Перечитаем это.

1 Ответ

0 голосов
/ 21 марта 2010

Кажется, вы столкнулись с известной проблемой в API доступа к узлам Drupal 6. Гранты работают только как одобрение, поэтому, если какой-либо модуль доступа говорит, что пользователь может выполнить действие, никакой другой модуль не может его отменить. Единственное другое решение, которое я могу придумать, - это объединение модулей для расчета на основе обоих критериев, что, очевидно, является потенциально сложной задачей.

Конечно, не рекомендуется, но вы можете применить собственную логику для сканирования таблиц грантов, чтобы удалить записи для пользователей, которые не соответствуют обоим критериям. Вам нужно будет найти правильный крюк, чтобы он выполнял свою работу после того, как оба других модуля вычислили свои значения и сохранили их в базе данных.

Хорошие новости: это исправлено в D7. Плохая новость: D7 будет какое-то время. Drupal 7 позволит модулям одобрять, отклонять или воздерживаться от решений о доступе к узлу. Таким образом, ваш модуль таксономии может сказать, что пользователи одобрены для этих условий, а для других - нет. Кроме того, рабочий процесс может одобрить для некоторых этапов и отклонить для других. Пользователю потребуется как минимум одно одобрение и никаких отказов.

...