[FIX] procurement: magic bypass transition was incomplete and preventing pulled flows from working

The procurement workflow has a magic `bypass` transition
that acts as a fallback for MTO procurements in case the
necessary modules are not (yet) installed. For example
it will consider a MTO+Buy procurement directly satisfied
if the Purchase module is not yet installed.
However this bypass transition did not properly take
"internal pulled flows" into account, which are added
by the `stock_location` module as a third kind of procurement
type. In this case the bypass would match and never
give stock_location the chance to run.
In order to be consistent with the other procurement
methods, the bypass transition needs to be adapted.

Also updated the check_move() method to make it more
explicit rather than a side-effect.

bzr revid: odo@openerp.com-20131112151747-da67h4yavhz3k29c
This commit is contained in:
Olivier Dony
2013-11-12 16:17:47 +01:00
parent fe2fd41d7d
commit a382e0cc2e
2 changed files with 9 additions and 5 deletions
+3 -1
View File
@@ -147,9 +147,11 @@
<record id="trans_confirm_mto_make_done" model="workflow.transition">
<!-- This transition is there to unblock products that would be in MTO with a supply method that would be
produce or buy without MRP or purchase module installed. These modules overwrite the check_produce()
produce or buy, and without MRP or Purchase modules installed. These modules overwrite the check_produce()
and check_buy() methods -so that it invalidates their part of this 'bypass transition'-, and define
their own workflow paths.
The stock_location module also introduces a check_move() alternative, for pulled flows that are
satisfied with an internal product move. This yields a threefold test for the bypass transition.
-->
<field name="act_from" ref="act_confirm_mto"/>
<field name="act_to" ref="act_make_done"/>