Split list-view code (frappe.listview_settings) out of the form client
scripts into dedicated *_list.js files. The form files were registered
under both doctype_js and doctype_list_js, so frappe.ui.form.on handlers
were registered twice and form events (e.g. validate) fired twice,
duplicating msgprint messages.
- New: purchase_invoice_list.js, purchase_order_list.js,
sales_order_list.js, sales_invoice_list.js, employee_list.js
- doctype_list_js now points to the *_list.js files; journal_entry.js
(list-only) removed from doctype_js
- purchase_invoice.js: drop toggle_purchase_fields_visibility and the
grid hidden/visible_columns hacks; tax_type is always visible and its
mandatory state is driven by mandatory_depends_on. validate and tax
calc now also honor agricultural_goods (equal trigger to purchase_type)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>