tree 02ea4ae0acceb65353efefeeb072d34a3f37f217
parent 58797481f0cbc08e082406fb0e041316ec9be477
author Nabin Hait <nabinhait@gmail.com> 1520844132 +0530
committer GitHub <noreply@github.com> 1520844132 +0530
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJapj1kCRBK7hj4Ov3rIwAAdHIIAEQVRgUjwcRTdH2nd2duMjGu
 o4ZC/Kje4/rMxHPCp8oojzu3EdHbO3Pp3QPGdFCbyVt1340VHnYKgK0B03hPyoQE
 68SFQV9nQnDm2daxVkVjZt8bXpIsZ7UtM1r166l14JromKO7HEHTgpFxr8F/b8gb
 /Ow431oWRe8m1CZGGD4UqiHxQx9jNjgBP8kunVrspPaRhLHVKVQbvL6KCckdZ09V
 nCv1Pt3ClGmTOmAG83VHMqNvBxjZ2Pl8pTJpITxJOB5JRoW2V0q0szvf/5S0Sd5l
 RV+vWbTB9z7bRrkk72Ruv/2focqKRSsnMYHh1c6AxmFbplLaAjSouQSrDriL8CQ=
 =1LGS
 -----END PGP SIGNATURE-----
 

Reserve for subcontracting (#13195)

* [fix] #8427

* review comments changes

* Validation for reserved warhouse

* code improvements

* alignment

* test case

* message changes

* default warehouse / remove validation / change sql

* fix

* patch

* Fixed merge conflict

* Fixes and cleanups of reserve qty for subcontracting

* set from_warehouse only if purchase_order and purpose found (#12398)

* [HotFix] Validation issue for subcontract stock entry (#12127)

* [Fix] Validation issue for subcontract stock entry

* Update stock_entry.py

* Fixes and cleanups of reserve qty for subcontracting

* patch fixed

* Reload bin in patch

* [fix] set source warehouse in stock entry for manufacture

* [fix] #8540

* code alignment

* code alignment

* Move target warehouse validation to submit

* validation code improvement

* code changes for single stock entry

* validation fix

* call make_rm_stock_entry

* remove old stock entry method/rewrite test case

* Don't set bom_no against raw materials while trasferring items for sub-contracting

* minor fix
