mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-14 23:18:40 +00:00
refactor: parse native JSON request args in manufacturing/doctype/work_order/mapper.py
Use frappe.parse_json instead of json.loads so the whitelisted endpoints accept native JSON types (list/dict/bool) in addition to JSON strings.
This commit is contained in:
@@ -148,8 +148,7 @@ def _new_work_order(item, bom_no, company, item_details, use_multi_level_bom):
|
||||
|
||||
|
||||
def add_variant_item(variant_items, wo_doc, bom_no, table_name="items"):
|
||||
if isinstance(variant_items, str):
|
||||
variant_items = json.loads(variant_items)
|
||||
variant_items = frappe.parse_json(variant_items)
|
||||
|
||||
for item in variant_items:
|
||||
_add_variant_row(item, wo_doc, bom_no, table_name)
|
||||
@@ -289,8 +288,7 @@ def _set_stock_entry_warehouses(stock_entry, work_order, purpose, target_warehou
|
||||
def make_job_card(work_order: str, operations: str | list, parent_bom: str | None = None):
|
||||
frappe.has_permission("Job Card", "create", throw=True)
|
||||
|
||||
if isinstance(operations, str):
|
||||
operations = json.loads(operations)
|
||||
operations = frappe.parse_json(operations)
|
||||
|
||||
work_order = frappe.get_doc("Work Order", work_order)
|
||||
for row in operations:
|
||||
@@ -469,10 +467,10 @@ def get_work_order_operation_data(work_order, operation, workstation):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def create_pick_list(source_name: str, target_doc: str | None = None, for_qty: float | None = None):
|
||||
def create_pick_list(source_name: str, target_doc: str | dict | None = None, for_qty: float | None = None):
|
||||
frappe.has_permission("Pick List", "create", throw=True)
|
||||
|
||||
for_qty = for_qty or json.loads(target_doc).get("for_qty")
|
||||
for_qty = for_qty or frappe.parse_json(target_doc).get("for_qty")
|
||||
max_finished_goods_qty = frappe.db.get_value("Work Order", source_name, "qty")
|
||||
postprocess = partial(
|
||||
_set_pick_list_item_qty, for_qty=for_qty, max_finished_goods_qty=max_finished_goods_qty
|
||||
|
||||
Reference in New Issue
Block a user