2012-04-04 4 views
3

Мы пытаемся реализовать пользовательскую политику проверки для системы управления документами Plone. В этом случае мы хотели бы иметь возможность иметь рабочие копии опубликованных документов через определенный промежуток времени.Разрешения и рабочий процесс рабочих копий (Iterate)

Iterate кажется идеальным для этого.

Однако мы хотим, чтобы выписка была доступна только для опубликованных документов. Итак, вот аргументация ... Поскольку рабочий процесс контролирует несколько разрешений, мы добавили как «итерацию: проверка содержимого», так и «итерация: проверка содержимого» на вкладку «Разрешения» в инструменте portal_workflow. Затем мы отметили флажки на вкладках разрешений отдельных состояний рабочего процесса для тех людей, у которых есть права на выезд. Тем не менее, в интерфейсе у каждого есть возможность проверить документы независимо от состояния, в котором находится документ.

Что нам не хватает?

PS: Мы уже проверили документ на "Working Copy Workflow Customization" и по нашему мнению, это связано с изменением рабочего процесса для проверяемых из документов, которые не то, что предназначено здесь является ...

ответ

4

Проблема здесь я думаю, что это checkout_allowed метод в plone.app.iterate/browser/control: Control.

Он не проверяет какие-либо разрешения перед тем, как разрешить проверку для пользователя (он предполагает, может ли пользователь просмотреть его, им должно быть разрешено проверить его в домашней папке и т. Д. - я думаю, это разумный вариант использования).

Затем, в portal_actions/object_buttons/iterate_checkout, он просто использует разрешение «Вид», чтобы разрешить размещение кнопки.

Чтобы это было совершенно правильно, вам нужно будет настроить метод checkout_allowed и разрешение, используемое в действии.

Чтобы сделать это быстро и просто, чтобы пользователь просто не видел кнопку, измените разрешение кнопки на «итерация: содержимое выгрузки».

+0

Хорошее решение. Благодарю. +1 от меня. – Speediro

Смежные вопросы