この場合、ワークフローを再マップするコードにパッチを適用するのがおそらく最も簡単です。
plone.app.workflow
卵を開き (そのパスはスクリプトにリストされます) bin/instance
、plone/app/workflow/remap.py
ファイルを見つけて編集します。
半分ほど下に、次の行があります (私のコピーでは 79 行目)。
for brain in portal_catalog(portal_type=type_ids):
それに追加Language='all'
します:
for brain in portal_catalog(portal_type=type_ids, Language='all'):
別の方法は、そのファイル全体を自分のプロジェクトにコピーし、その変更をローカルで行ってから、次のように呼び出すことです。
statemap = {
'oldstate1_id': 'newstate1_id',
'oldstate2_id': 'newstate2_id'
}
chain_name = ('workflow_id',) # tuple of wf ids (can be empty), or the string '(Default)'
portal_types = ('sequence', 'of', 'portal_types')
copiedremap.remap_workflow(portal, portal_types, chain_name, state_map)
次に、remap_workflow
スクリプトはオブジェクトの現在の状態を使用して、新しいターゲット ワークフローで必要な新しい状態を見つけます (新しいワークフローごとにこれを行います)。古い状態がマップにリストされていない場合は、ターゲット ワークフローの初期状態が使用されます。