2016-09-13 3 views
4

私はZope Managerで作成した2つのワークフローA_Workflow、B_Workflowをコンテンツタイプ「契約」に割り当てました。Plone/Zopeコンテンツタイプに2つのワークフローを使用すると、ステータスバーにユーザーの役割に関連する現在の状態/状態を表示できますか?

A_Workflowは、2つの状態があります承認及び(retract_a)を後退させるための遷移に遷移する(approve_a)を承認するための遷移がある 承認待ち(初期) 承認

保留Aに遷移A_Managerだけが必要な権限を使って承認することができます。

B_Workflowは、2つの状態があります承認Bに移行する(approve_b)を承認するための遷移及び(retract_b)を後退させるための遷移がある 保留B承認(初期) B承認

保留Bに遷移B_Managerだけが必要な権限を使って承認することができます。

コントリビュータがコントラクトを作成し、最初の状態が承認待ちです。 A_ManagerとしてログインしたときとB_Managerとしてログインしたときに、適切な遷移が利用できることがわかります。しかし、B_Managerは、B_Workflowの状態が変化しているにもかかわらず、A_Workflowの状態しか見ることができません(状態がB承認のときに承認Bが表示され、状態がB承認のときにBが表示されます)

私は謝罪しますこれは厄介な質問ですが、ステータスバーの正しい状態に表示することは可能ですか?もしそうなら、どうすればいいですか?

答えて

4

ワークフローチェーン(コンテンツタイプに2つ以上のワークフローが割り当てられている)が使用されているようです。

この機能は多かれ少なかれ隠されています(動作します)が、Plone UIはこれをサポートしていません。セキュリティのためには、「メイン」(チェーンの最初のもの)ワークフローはPlone UIで使用されます。

両方の状態を表示するには、Ploneワークフローメニューをカスタマイズする必要があります。 ちょうど推測:the ones in plone.app.contentmenuを上書きする新しいメニューを提供してください。

注:メニューをカスタマイズすることは複雑な作業ではありませんが、あなたがz3c.unconfigureまたはoverrides.zcml

を使用してのようないくつかの決まり文句はここに(メニュー「新しい項目を追加する」ための本)の例を参照してください必要があります:https://github.com/keul/collective.factorymenu/tree/master/src/collective/factorymenu

4

実際には、連鎖ワークフローをプロジェクトで定期的に使用しています。一般的な使用例の1つは、アイテムの「おすすめ」状態を制御する第2のワークフローを作成することです。このようにして、コンテンツ寄稿者は、アイテムが特色になることを要求することができるが、エディタ/レビュアがフィーチャを承認することができる。

私たちには、ワークフローのドロップダウンがすべての連鎖したワークフローとその遷移を表示できる製品があります。私はちょうどは、PyPIにこのリリースの公表:

https://pypi.python.org/pypi/sixfeetup.workflow.chained

をしかし、あなたはGitHubのレポに問題を報告することができます

https://github.com/sixfeetup/sixfeetup.workflow.chained

それはあなたのために動作するかどうか、私たちは知ってみましょう。

+2

素晴らしい!共有ありがとう! –

関連する問題