fix: incorrect material request quantity in production plan (#37785)
(cherry picked from commit 25718d9f1b7cda3b87263c2cf885958cbd283947)
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
fix: make changes that enable gantt view for job cards (#37661)
* fix: make changes that enable gantt view for job cards
* fix: add fields on listview and remove from json file
* fix: undo modified date
---------
Co-authored-by: Dietmar Fischer <fischer@kk-software.de>
(cherry picked from commit 500435b856a028bdab7fdbe12647ec0f11287eab)
Co-authored-by: Didiman1998 <118364772+Didiman1998@users.noreply.github.com>
* refactor: rename field `Over Order Allowance` to `Blanket Order Allowance`
(cherry picked from commit 8ffa2bfe25d8fae317d77705aec82a92dc269874)
* chore: patch to rename field `over_order_allowance`
(cherry picked from commit fcfcf6957e07ad5afc281e5f43154ca1170e14c4)
---------
Co-authored-by: s-aga-r <sagarsharma.s312@gmail.com>
fix: do not consider submitted Work Orders in the Production Plan Res… (#37343)
fix: do not consider submitted Work Orders in the Production Plan Reserve qty
(cherry picked from commit c3aeb2dec58190d16a18e2609fd57054bda54e43)
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
fix: incorrect qty for material request in Production Plan (#37270)
(cherry picked from commit 8fe4a4d3aa7857e5e241bcb7145065753ab8b4cb)
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
fix: reserved qty for production plan (#37251)
(cherry picked from commit 0a0d5b3e6612be1b6e1c9febd4a86a772a02511d)
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
fix: don't set from warehouse for purchase material request (#37132)
(cherry picked from commit e62b783f340844783352030de422c6be14b3ddfc)
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
feat: provision to set required by from Production Plan (#37039)
* feat: provision to set the Required By date from production plan
* test: added test case for validate schedule_date
(cherry picked from commit d278b116030df0f272c3c101b75fe3b66a344c04)
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
* feat: new DocType `Service Item and Finished Good Map`
* fix(ux): filters for Service Item and Finished Good
* fix: validations for Service Item and Finished Good
* feat: set FG Item on Service Item selection in PO
* refactor: one-to-many mapping between service item and finished goods
* feat: auto set Service Item for finished good in PO created from PP
* feat: auto set Service Item on Finished Good selection in PO
* test: add test case for service item and finished goods map
* feat: `BOM` field in `Finished Good Detail`
* feat: new DocType `Subcontracting BOM`
* fix: filters and validations for Subcontracting BOM
* feat: auto select Service Item in PO created from PP
* test: add test case for PO service item auto pick
* feat: pick BOM from Subcontracting BOM in SCO
* feat: auto pick `Service Item` on FG select
* refactor: remove DocType `Service Item and Finished Goods Map` and `Finished Good Detail`
* feat: fetch FG for Service Item
* chore: `linter`
* refactor: update `Auto Name` expression for Subcontracting BOM
* feat: Multi-level BOM Creator
* fix: renamed BOM Configurator to BOM Creator
* fix: added Cost in the tree
* fix: finished good cost
* fix: valuation rate in tree ui
* chore: conflicts and removed unnecessary files
* test: test cases for BOM Creator
* fix: added shortcut for the BOM Creator
* fix: added validation for Final Product
ifnull isn't really required when doing `!= 'anything'` because if it's null then value will be falsy.
ifnull is only required when checking `= ''` if you treat `null = ''`
Actuall better fix would be make things explcitly non-nullable, then we won't ever have to add this on such fields.
ref: https://github.com/frappe/frappe/pull/21822
I just applied semgrep autofix. Untested completed, review before merging.
```yaml
- id: frappe-set-value-semantics
patterns:
- pattern-either:
- pattern: frappe.db.set_value($DOCTYPE, None, $...AFTER)
- pattern: frappe.db.set_value($DOCTYPE, $DOCTYPE, $...AFTER)
fix: frappe.db.set_single_value($DOCTYPE, $...AFTER)
message: |
If $DOCTYPE is a single doctype then using `frappe.db.set_value` is discouraged for setting values in DB. Use db.set_single_value for single doctype instead.
languages: [python]
severity: ERROR
```