Может быть более простой способ приблизиться к этому.
Рабочие процессы Plone могут быть сложены;например, вы можете назначить более одного рабочего процесса для типа контента.
Это означает, что вы можете назначить рабочий процесс как медсестры, так и врача, каждый из которых предоставляет определенные разрешения.Если вы правильно настроили свои роли для рабочего процесса, ваш сценарий использования должен быть прост в реализации;просто разделите Роли на роли для медсестер и врачей.
Так, где рабочий процесс по умолчанию использует Reviewer, Editor, Contributor, Member и т. д., используйте DoctorReviewer, NurseReviewer, DoctorEditor, NurseEditor и т. д. Таким образом, эти два рабочих процесса будутобрабатывать два набора параллельных разрешений, переходов и состояний.
Я не знаю достаточно о ваших сценариях использования, если это вообще решит ваши проблемы, но я просто хотел убедиться, что вы знали об этом варианте, прежде чем исследоватьсложные пользовательские плагины.