Files
Odoo-Modules/graphify-out/cache/84ec88eb378eef365eabe24bec3717346144e4eb653cb733823181207fcba9c8.json
gsinghpal 41d0908ade changes
2026-04-24 21:04:38 -04:00

1 line
31 KiB
JSON

{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "label": "product_template.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L1"}, {"id": "product_template_producttemplate", "label": "ProductTemplate", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L19"}, {"id": "product_template_compute_remote_stock", "label": "_compute_remote_stock()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L94"}, {"id": "product_template_compute_profit", "label": "_compute_profit()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L102"}, {"id": "product_template_compute_expected_cost", "label": "_compute_expected_cost()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L116"}, {"id": "product_template_producttemplate_compute_purchase_history", "label": "._compute_purchase_history()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L125"}, {"id": "product_template_compute_margin_pct", "label": "_compute_margin_pct()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L145"}, {"id": "product_template_producttemplate_inverse_margin_pct", "label": "._inverse_margin_pct()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L153"}, {"id": "product_template_onchange_price_to_margin", "label": "_onchange_price_to_margin()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L160"}, {"id": "product_template_onchange_margin_to_price", "label": "_onchange_margin_to_price()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L172"}, {"id": "product_template_producttemplate_propagate_margin_to_variants", "label": "._propagate_margin_to_variants()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L183"}, {"id": "product_template_producttemplate_propagate_shipping_to_variants", "label": "._propagate_shipping_to_variants()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L195"}, {"id": "product_template_producttemplate_action_apply_margin_to_all_variants", "label": ".action_apply_margin_to_all_variants()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L202"}, {"id": "product_template_apply_case_conversion", "label": "_apply_case_conversion()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L232"}, {"id": "product_template_producttemplate_get_effective_case_mode", "label": "._get_effective_case_mode()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L245"}, {"id": "product_template_onchange_case_conversion", "label": "_onchange_case_conversion()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L257"}, {"id": "product_template_create", "label": "create()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L264"}, {"id": "product_template_producttemplate_write", "label": ".write()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L278"}, {"id": "product_template_producttemplate_action_view_purchase_history", "label": ".action_view_purchase_history()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L295"}, {"id": "product_template_producttemplate_action_refresh_cost_from_bills", "label": ".action_refresh_cost_from_bills()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L313"}, {"id": "product_template_producttemplate_sync_cost_from_latest_bill", "label": "._sync_cost_from_latest_bill()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L327"}, {"id": "product_template_cron_sync_all_costs_from_bills", "label": "_cron_sync_all_costs_from_bills()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L348"}, {"id": "product_template_rationale_161", "label": "Real-time margin recalculation when user changes price or cost.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L161"}, {"id": "product_template_rationale_173", "label": "Real-time sale price recalculation when user changes margin.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L173"}, {"id": "product_template_rationale_184", "label": "Apply the template margin to variant price offsets (skip overrides).", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L184"}, {"id": "product_template_rationale_196", "label": "Copy the template's shipping cost to all variants.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L196"}, {"id": "product_template_rationale_203", "label": "Button: apply template margin to every non-overridden variant.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L203"}, {"id": "product_template_rationale_314", "label": "Pull the latest non-zero vendor bill price into product cost.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L314"}, {"id": "product_template_rationale_328", "label": "For each variant, find the most recent posted vendor bill line with a no", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L328"}, {"id": "product_template_rationale_349", "label": "Batch job: update every product's cost from latest vendor bill.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L349"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L6", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_producttemplate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L19", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_compute_remote_stock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L94", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_compute_profit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L102", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_compute_expected_cost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L116", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_compute_purchase_history", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L125", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_compute_margin_pct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L145", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_inverse_margin_pct", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L153", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_onchange_price_to_margin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L160", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_onchange_margin_to_price", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L172", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_propagate_margin_to_variants", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L183", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_propagate_shipping_to_variants", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L195", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_action_apply_margin_to_all_variants", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L202", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_apply_case_conversion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L232", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_get_effective_case_mode", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L245", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_onchange_case_conversion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L257", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_create", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L264", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_write", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L278", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_action_view_purchase_history", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L295", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_action_refresh_cost_from_bills", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L313", "weight": 1.0}, {"source": "product_template_producttemplate", "target": "product_template_producttemplate_sync_cost_from_latest_bill", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L327", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_inventory_models_product_template_py", "target": "product_template_cron_sync_all_costs_from_bills", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L348", "weight": 1.0}, {"source": "product_template_onchange_case_conversion", "target": "product_template_producttemplate_get_effective_case_mode", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L259", "weight": 1.0}, {"source": "product_template_onchange_case_conversion", "target": "product_template_apply_case_conversion", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L261", "weight": 1.0}, {"source": "product_template_create", "target": "product_template_apply_case_conversion", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L272", "weight": 1.0}, {"source": "product_template_producttemplate_write", "target": "product_template_producttemplate_get_effective_case_mode", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L282", "weight": 1.0}, {"source": "product_template_producttemplate_write", "target": "product_template_apply_case_conversion", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L284", "weight": 1.0}, {"source": "product_template_producttemplate_write", "target": "product_template_producttemplate_propagate_margin_to_variants", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L288", "weight": 1.0}, {"source": "product_template_producttemplate_write", "target": "product_template_producttemplate_propagate_shipping_to_variants", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L290", "weight": 1.0}, {"source": "product_template_producttemplate_action_refresh_cost_from_bills", "target": "product_template_producttemplate_sync_cost_from_latest_bill", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L315", "weight": 1.0}, {"source": "product_template_cron_sync_all_costs_from_bills", "target": "product_template_producttemplate_sync_cost_from_latest_bill", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L355", "weight": 1.0}, {"source": "product_template_rationale_161", "target": "product_template_producttemplate_onchange_price_to_margin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L161", "weight": 1.0}, {"source": "product_template_rationale_173", "target": "product_template_producttemplate_onchange_margin_to_price", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L173", "weight": 1.0}, {"source": "product_template_rationale_184", "target": "product_template_producttemplate_propagate_margin_to_variants", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L184", "weight": 1.0}, {"source": "product_template_rationale_196", "target": "product_template_producttemplate_propagate_shipping_to_variants", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L196", "weight": 1.0}, {"source": "product_template_rationale_203", "target": "product_template_producttemplate_action_apply_margin_to_all_variants", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L203", "weight": 1.0}, {"source": "product_template_rationale_314", "target": "product_template_producttemplate_action_refresh_cost_from_bills", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L314", "weight": 1.0}, {"source": "product_template_rationale_328", "target": "product_template_producttemplate_sync_cost_from_latest_bill", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L328", "weight": 1.0}, {"source": "product_template_rationale_349", "target": "product_template_producttemplate_cron_sync_all_costs_from_bills", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L349", "weight": 1.0}], "raw_calls": [{"caller_nid": "product_template_compute_remote_stock", "callee": "sum", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L97"}, {"caller_nid": "product_template_compute_remote_stock", "callee": "mapped", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L97"}, {"caller_nid": "product_template_compute_remote_stock", "callee": "sum", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L98"}, {"caller_nid": "product_template_compute_remote_stock", "callee": "mapped", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L98"}, {"caller_nid": "product_template_compute_remote_stock", "callee": "bool", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L99"}, {"caller_nid": "product_template_compute_expected_cost", "callee": "calculate_cost_from_msrp", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L120"}, {"caller_nid": "product_template_producttemplate_compute_purchase_history", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L130"}, {"caller_nid": "product_template_producttemplate_compute_purchase_history", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L137"}, {"caller_nid": "product_template_compute_margin_pct", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L148"}, {"caller_nid": "product_template_producttemplate_inverse_margin_pct", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L156"}, {"caller_nid": "product_template_onchange_price_to_margin", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L164"}, {"caller_nid": "product_template_onchange_price_to_margin", "callee": "abs", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L166"}, {"caller_nid": "product_template_onchange_margin_to_price", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L176"}, {"caller_nid": "product_template_onchange_margin_to_price", "callee": "abs", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L178"}, {"caller_nid": "product_template_producttemplate_propagate_margin_to_variants", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L189"}, {"caller_nid": "product_template_producttemplate_propagate_margin_to_variants", "callee": "_apply_margin_to_variant", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L193"}, {"caller_nid": "product_template_producttemplate_propagate_shipping_to_variants", "callee": "abs", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L199"}, {"caller_nid": "product_template_producttemplate_action_apply_margin_to_all_variants", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L204"}, {"caller_nid": "product_template_producttemplate_action_apply_margin_to_all_variants", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L208"}, {"caller_nid": "product_template_producttemplate_action_apply_margin_to_all_variants", "callee": "_apply_margin_to_variant", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L212"}, {"caller_nid": "product_template_producttemplate_action_apply_margin_to_all_variants", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L213"}, {"caller_nid": "product_template_producttemplate_action_apply_margin_to_all_variants", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L213"}, {"caller_nid": "product_template_producttemplate_action_apply_margin_to_all_variants", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L215"}, {"caller_nid": "product_template_apply_case_conversion", "callee": "upper", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L236"}, {"caller_nid": "product_template_apply_case_conversion", "callee": "lower", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L238"}, {"caller_nid": "product_template_apply_case_conversion", "callee": "upper", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L240"}, {"caller_nid": "product_template_apply_case_conversion", "callee": "lower", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L240"}, {"caller_nid": "product_template_apply_case_conversion", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L240"}, {"caller_nid": "product_template_apply_case_conversion", "callee": "upper", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L240"}, {"caller_nid": "product_template_apply_case_conversion", "callee": "title", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L242"}, {"caller_nid": "product_template_producttemplate_get_effective_case_mode", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L246"}, {"caller_nid": "product_template_producttemplate_get_effective_case_mode", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L246"}, {"caller_nid": "product_template_producttemplate_get_effective_case_mode", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L250"}, {"caller_nid": "product_template_create", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L265"}, {"caller_nid": "product_template_create", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L265"}, {"caller_nid": "product_template_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L268"}, {"caller_nid": "product_template_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L270"}, {"caller_nid": "product_template_create", "callee": "setdefault", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L274"}, {"caller_nid": "product_template_create", "callee": "super", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L276"}, {"caller_nid": "product_template_producttemplate_write", "callee": "super", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L279"}, {"caller_nid": "product_template_producttemplate_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L280"}, {"caller_nid": "product_template_producttemplate_write", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L286"}, {"caller_nid": "product_template_producttemplate_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L287"}, {"caller_nid": "product_template_producttemplate_write", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L288"}, {"caller_nid": "product_template_producttemplate_action_view_purchase_history", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L296"}, {"caller_nid": "product_template_producttemplate_sync_cost_from_latest_bill", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L333"}, {"caller_nid": "product_template_producttemplate_sync_cost_from_latest_bill", "callee": "abs", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L339"}, {"caller_nid": "product_template_producttemplate_sync_cost_from_latest_bill", "callee": "info", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L342"}, {"caller_nid": "product_template_cron_sync_all_costs_from_bills", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L350"}, {"caller_nid": "product_template_cron_sync_all_costs_from_bills", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L350"}, {"caller_nid": "product_template_cron_sync_all_costs_from_bills", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L354"}, {"caller_nid": "product_template_cron_sync_all_costs_from_bills", "callee": "info", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L356"}, {"caller_nid": "product_template_cron_sync_all_costs_from_bills", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_inventory/models/product_template.py", "source_location": "L356"}]}