Commit Graph

19 Commits

Author SHA1 Message Date
OCA-git-bot
de20e9f151 [UPD] README.rst 2020-09-29 15:50:32 +00:00
Guewen Baconnier
912a3e9239 Fix test incompatibility with stock_reserve_rule
The rules created in demo data of stock_reserve_rule make the tests of
stock_vertical_lift (and possibly other modules) fail because the
transfers can't be made available.

Deactivate the rule in stock_reserve_rule and activate it only in its
tests. Users can still activate the rule manually to test.
2020-08-27 11:50:34 +02:00
OCA-git-bot
ee87c819ff [ADD] icon.png 2020-05-29 13:52:41 +00:00
OCA-git-bot
307ab1328b [UPD] README.rst 2020-05-29 13:52:41 +00:00
oca-travis
f89c880b32 [UPD] Update stock_reserve_rule.pot 2020-05-29 13:28:01 +00:00
Guewen Baconnier
bf3e5867dc Remove implicit fallback when rules are used
When rules are configured and have been applied, we should not
have an implicit fallback on the base location, as it would kind
of cancel the benefits of the rules (as it would then take whatever
it wants anywhere in all the locations).
2020-05-28 07:59:43 +02:00
Guewen Baconnier
ffef9da690 Revert "Optimize SQL queries when searching a rule"
This reverts commit 768f186fd2.

Which is not more optimized, the optimization based on parent_path
doesn't make sense here as the ORM will read parent_path in the location
and get the parent ids by splitting the ids, it doesn't need more than
one query on stock_location which is done based on its id and can reuse
the cache, there is no lookup on parent path for parent_of.

>>> env["stock.reserve.rule"].search([("location_id", "parent_of", 3125)])
2020-05-27 05:36:59,938 1 DEBUG log_p odoo.sql_db: query: SELECT "stock_location"."id" as "id","stock_location"."name" as "name","stock_location"."complete_name" as "complete_name","stock_location"."active" as "active","stock_location"."usage" as "usage","stock_location"."location_id" as "location_id","stock_location"."comment" as "comment","stock_location"."parent_path" as "parent_path", <stripped>,"stock_location"."create_uid" as "create_uid","stock_location"."create_date" as "create_date","stock_location"."write_uid" as "write_uid","stock_location"."write_date" as "write_date" FROM "stock_location" WHERE "stock_location".id IN (3125)
2020-05-27 05:36:59,942 1 DEBUG log_p odoo.sql_db: query: SELECT "stock_reserve_rule".id FROM "stock_reserve_rule" WHERE (("stock_reserve_rule"."active" = true)  AND  ("stock_reserve_rule"."location_id" in (1,7,8,133,134,135,144,207,3125))) ORDER BY "stock_reserve_rule"."sequence" ,"stock_reserve_rule"."id"
2020-05-27 07:42:37 +02:00
Guewen Baconnier
0e1487aa49 Remove logger that makes the tests failing
As the logger outputs an error log during tests, travis counts it as a
failure of a test.
2020-05-26 08:52:11 +02:00
Guewen Baconnier
3d977e92e2 Add explicit filter on picking type 2020-05-25 08:30:02 +02:00
Guewen Baconnier
6c8c6c9fd9 Improve usability 2020-05-25 08:28:40 +02:00
Guewen Baconnier
2e5daf1130 Use optimized method to check if location is child 2020-05-20 15:31:18 +02:00
Guewen Baconnier
55bbc44a62 Remove fallback location
It could not work properly here as we need the "fallback" to apply
even if there is no quantity at all in the stock. As we hook the
reservation rules in StockMove._update_reserved_quantity(), and
this method is called only if we have at least 1 product in qty,
the fallback was not applied with zero qty.

A new module will handle this concept: https://github.com/OCA/wms/pull/28
2020-05-20 15:31:18 +02:00
Guewen Baconnier
768f186fd2 Optimize SQL queries when searching a rule
Searching all rules then filtering in python the parent path is
more efficient than finding all the parent locations and finding
the matching rules.
2020-05-15 12:16:32 +02:00
Guewen Baconnier
89e4ea230f Fix application of removal rules too broad
Example of configuration:

Rule location: Stock
Removal rule 1: Stock/Zone1
Removal rule 2: Stock/Zone2

Reservation of a stock move with Stock/Zone2 as source location.

Previously, it would reserve in Stock/Zone1.
Now, it will never be allowed to reserve in Stock/Zone1.

A warning message was added previously to warn the user about potential
issues, which is now obsolete so I removed it.
2020-05-15 08:03:12 +02:00
Guewen Baconnier
c99c97ffa4 Fix bug in fallback when no quantity could be reserved
Before the change, the implementation of the fallback goes like this:

If I reserve a move of 3000 and it finds 600 units, it splits the move
to create a new move of 2400 and pretend to the caller that 3000 was
reserved so the initial move is changed to 'assigned'.

Now, if we have a move of 2400 and finds zero, it still splits the move,
and pretend to the caller that 2400 was reserved → the initial move has
no move line but is assigned. In this case, we should not split the move
but only update the source location of the move.
2020-05-14 16:08:21 +02:00
sebalix
4e4d2d7130 [IMP] stock_reserve_rule: add constraints on fallback locations 2020-04-30 10:18:45 +02:00
Guewen Baconnier
13a274e8f0 Run pre-commit with xml prettier 2020-03-23 11:36:31 +01:00
Guewen Baconnier
7a43a1c67d Migrate stock_reserve_rule to 13.0 2020-03-17 10:39:10 +01:00
Guewen Baconnier
3494c2671d Add stock_reserve_rule 2020-03-17 10:39:10 +01:00