1

Web インターフェースを介して器用さオブジェクトの状態を変更するとトリガーされるコンテンツ ルールをセットアップしましたが、プログラムで状態を変更すると、コンテンツ ルールはトリガーされません。

review_state の変更には、典型的な workflow_tool.doActionFor を使用します。カタログ/オブジェクトの review_state が新しい状態に変更されたように見えます。

手がかりはありますか??

私は plone 4.2.5 と dexterity 1.2.1 を使用しています。

これは、状態を変更するために使用するコードです。

cart = brains[0].getObject()
wftool = getToolByName(self.context, 'portal_workflow')
wftool.doActionFor(cart, 'charge')
wftool.doActionFor(cart, 'pay')
modified(cart)
4

1 に答える 1

0

最後に、一度に 1 つのトランジションのみをトリガーすると、 plone が期待どおりにコンテンツ ルールを起動することがわかりました。

したがって、私の場合、次の方法で回避策を設定します。

状態は次のとおりです:作成->請求済み->支払い済み状態が支払い済みに変わると、コンテンツ ルールが起動します。1 回のトランザクションで状態を作成済みから支払い済みに変更する必要がある場合があります。中間の状態をバイパスして、作成された状態からの有料遷移を有効にしまし。したがって、作成されたオブジェクトを支払うために 1 つのトランジションをトリガーするだけで済み、コンテンツ ルールは機能します。

于 2013-05-08T18:04:55.273 に答える