Commit Graph

725 Commits

Author SHA1 Message Date
Nils Hamerlinck
febbf77f7a [IMP] stock_location_tray: remove dead code in the continuity of https://github.com/OCA/stock-logistics-warehouse/pull/987
There is change in odoo/odoo for both 13.0 and 14.0 at
b6ba6038ad (diff-0b83f13eeb39606e0cc2ebe1443b40c01c19bf49ec16ab100dbcb0d0f4c9e4b6R99-R106).
With the change, `UserError(_('You still have some product in locations
%s')` is always risen before the two `ValidationError(_("Tray locations
cannot be archived when they contain products.")` and
`UserError(_("Trays cannot be modified when they contain products.")` of
this module. Therefor, the #987 changes tests to meet that flow change.

To prove the dead code, we have two hacks: change context to bypass
odoo/odoo checking as
79fa70556a (diff-ce46c42b625b31fbfc9cd2646ccfe9d647a894001a331cd54d3ce0cf04b466a3R161-R163)
and
79fa70556a (diff-ce46c42b625b31fbfc9cd2646ccfe9d647a894001a331cd54d3ce0cf04b466a3R183-R187).
We believe that in daily use, there is no hack like that.
2021-08-17 16:45:26 +07:00
Hai Lang
79fa70556a [IMP] stock_location_tray: increase test coverage 2021-08-17 16:15:23 +07:00
Tran Thanh Phuc
d307c929c3 [MIG] stock_location_tray: Migration to 14.0 2021-08-17 16:15:20 +07:00
Tran Thanh Phuc
f5ecd878ff [IMP] stock_location_tray: black, isort, prettier 2021-08-17 16:14:19 +07:00
Héctor Villarreal Ortega
abad67be50 [13.0][FIX] stock_location_tray: Fix exceptions message in tests 2021-08-17 16:14:19 +07:00
Guewen Baconnier
b008f3bd58 stock_location_tray: Optimize creation of xmlids in batch
Use the multi creation on records to create all the xmlids at once.
2021-08-17 16:14:19 +07:00
Guewen Baconnier
41c0581390 run pre-commit -a with new prettiers 2021-08-17 16:14:19 +07:00
Guewen Baconnier
d1100c489d Fix javascript warnings 2021-08-17 11:54:33 +07:00
Guewen Baconnier
ab90eedbe2 Migrate stock_location_tray to 13.0 2021-08-17 11:54:33 +07:00
Guewen Baconnier
7e02249467 Add tray matrix on stock move lines 2021-08-17 11:54:33 +07:00
Guewen Baconnier
5b172758c8 Add methods to get the center position of a cell 2021-08-17 11:54:32 +07:00
Guewen Baconnier
251ab68ea8 Add width/depth/height and per-cell size 2021-08-17 11:54:32 +07:00
Guewen Baconnier
4ad48463c2 Add stock_location_tray
Extracted from stock_vertical_lift
(https://github.com/OCA/stock-logistics-warehouse/pull/633)

Add tray types to stock locations, automatically generates
sub-locations. Present them nicely with a custom widget.
2021-08-17 11:54:32 +07:00
OCA-git-bot
d7250dacd1 [UPD] addons table in README.md 2021-08-14 05:04:00 +00:00
OCA-git-bot
6c0a9b8714 [ADD] setup.py 2021-08-12 16:14:42 +00:00
OCA-git-bot
95bc7e54ac [UPD] README.rst 2021-08-12 16:14:41 +00:00
OCA-git-bot
ebc3d61d4d [UPD] addons table in README.md 2021-08-12 16:14:38 +00:00
oca-travis
96290e50d3 [UPD] Update stock_putaway_method.pot 2021-08-12 15:29:51 +00:00
OCA-git-bot
6f94c0062b Merge PR #1193 into 14.0
Signed-off-by max3903
2021-08-12 15:10:12 +00:00
OCA-git-bot
d86fe3b1be [ADD] setup.py 2021-08-12 06:25:29 +00:00
OCA-git-bot
853dca832e [UPD] README.rst 2021-08-12 06:25:29 +00:00
OCA-git-bot
7517b6bf7d [UPD] addons table in README.md 2021-08-12 06:25:26 +00:00
oca-travis
d1b2317f22 [UPD] Update stock_reserve_rule.pot 2021-08-12 06:10:40 +00:00
OCA-git-bot
af55c55c2c Merge PR #1212 into 14.0
Signed-off-by simahawk
2021-08-12 06:05:51 +00:00
Sébastien Alix
02ea087509 [MIG] stock_reserve_rule: Migration to 14.0 2021-08-11 16:13:01 +02:00
Sébastien Alix
46c12c8080 [IMP] stock_reserve_rule: black, isort, prettier 2021-08-11 11:56:51 +02:00
Juan Carreras
2ffe854dd5 [FIX]stock_reserve_rule: fix rule because multicompany scheme change 2021-08-11 11:55:48 +02:00
OCA-git-bot
2a1e2bc070 stock_reserve_rule 13.0.1.3.0 2021-08-11 11:55:48 +02:00
oca-travis
744164f9a9 [UPD] Update stock_reserve_rule.pot 2021-08-11 11:55:48 +02:00
Guewen Baconnier
630ebc609f stock_reserve_rule: add dependency on stock_helper
To remove the duplicate implementation of
StockLocation.is_sublocation_of()
2021-08-11 11:55:48 +02:00
OCA-git-bot
cc5d86da6d stock_reserve_rule 13.0.1.2.1 2021-08-11 11:55:48 +02:00
Guewen Baconnier
08d4273737 Modify packaging rule to always respect fifo, lifo, ...
The former implementation was to take as much as possible of the largest
packaging, to the smallest packacking, to have less to move.
Then, only, removal order (fifo, ...) was applied for equal quantities.
It is more important to respect removal order than limiting the
operations, so remove this "optimization".
2021-08-11 11:55:48 +02:00
Guewen Baconnier
d8274ce196 Modify empty bin rule to always respect fifo, lifo, ...
The former implementation was sorting the quants per location and trying
to take as much quantities as possible from the same locations, to limit
the number of operations to do. Then, only, removal order (fifo, ...)
was applied. It is more important to respect removal order than limiting
the operations, so remove this "optimization".
2021-08-11 11:55:48 +02:00
OCA-git-bot
9033d2b2dd stock_reserve_rule 13.0.1.2.0 2021-08-11 11:55:48 +02:00
oca-travis
b2246010c9 [UPD] Update stock_reserve_rule.pot 2021-08-11 11:55:48 +02:00
Guewen Baconnier
df56837fdd Change picking type to many2many in reserve rules 2021-08-11 11:55:48 +02:00
OCA-git-bot
0c2ebbaffd [UPD] README.rst 2021-08-11 11:55:48 +02:00
Guewen Baconnier
d962ccbf23 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.
2021-08-11 11:55:48 +02:00
OCA-git-bot
d1279f28bf [ADD] icon.png 2021-08-11 11:55:48 +02:00
OCA-git-bot
995b2490e7 [UPD] README.rst 2021-08-11 11:55:48 +02:00
oca-travis
747accc5d4 [UPD] Update stock_reserve_rule.pot 2021-08-11 11:55:48 +02:00
Guewen Baconnier
0e00a55177 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).
2021-08-11 11:55:48 +02:00
Guewen Baconnier
2b2194afd1 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"
2021-08-11 11:55:48 +02:00
Guewen Baconnier
fe203b87ba 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.
2021-08-11 11:55:48 +02:00
Guewen Baconnier
acd988189e Add explicit filter on picking type 2021-08-11 11:55:48 +02:00
Guewen Baconnier
f470fa47e3 Improve usability 2021-08-11 11:55:48 +02:00
Guewen Baconnier
12c1af97c8 Use optimized method to check if location is child 2021-08-11 11:55:48 +02:00
Guewen Baconnier
77d2c7fa0c 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
2021-08-11 11:55:48 +02:00
Guewen Baconnier
c837adc236 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.
2021-08-11 11:55:48 +02:00
Guewen Baconnier
4ae12c21ce 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.
2021-08-11 11:55:48 +02:00