diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.js b/erpnext/accounts/doctype/journal_entry/journal_entry.js index 37b03f3f0e0..2f8d3e31d95 100644 --- a/erpnext/accounts/doctype/journal_entry/journal_entry.js +++ b/erpnext/accounts/doctype/journal_entry/journal_entry.js @@ -194,19 +194,19 @@ var update_jv_details = function(doc, r) { refresh_field("accounts"); } -erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({ - onload: function() { +erpnext.accounts.JournalEntry = class JournalEntry extends frappe.ui.form.Controller { + onload() { this.load_defaults(); this.setup_queries(); this.setup_balance_formatter(); erpnext.accounts.dimensions.setup_dimension_filters(this.frm, this.frm.doctype); - }, + } - onload_post_render: function() { + onload_post_render() { cur_frm.get_field("accounts").grid.set_multiple_add("account"); - }, + } - load_defaults: function() { + load_defaults() { //this.frm.show_print_first = true; if(this.frm.doc.__islocal && this.frm.doc.company) { frappe.model.set_default_values(this.frm.doc); @@ -216,9 +216,9 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({ var posting_date = this.frm.doc.posting_date; if(!this.frm.doc.amended_from) this.frm.set_value('posting_date', posting_date || frappe.datetime.get_today()); } - }, + } - setup_queries: function() { + setup_queries() { var me = this; me.frm.set_query("account", "accounts", function(doc, cdt, cdn) { @@ -324,9 +324,9 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({ }); - }, + } - setup_balance_formatter: function() { + setup_balance_formatter() { var me = this; $.each(["balance", "party_balance"], function(i, field) { var df = frappe.meta.get_docfield("Journal Entry Account", field, me.frm.doc.name); @@ -339,9 +339,9 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({ + ""; } }) - }, + } - reference_name: function(doc, cdt, cdn) { + reference_name(doc, cdt, cdn) { var d = frappe.get_doc(cdt, cdn); if(d.reference_name) { @@ -353,9 +353,9 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({ this.get_outstanding('Journal Entry', d.reference_name, doc.company, d); } } - }, + } - get_outstanding: function(doctype, docname, company, child, due_date) { + get_outstanding(doctype, docname, company, child, due_date) { var me = this; var args = { "doctype": doctype, @@ -377,9 +377,9 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({ } } }); - }, + } - accounts_add: function(doc, cdt, cdn) { + accounts_add(doc, cdt, cdn) { var row = frappe.get_doc(cdt, cdn); $.each(doc.accounts, function(i, d) { if(d.account && d.party && d.party_type) { @@ -402,9 +402,9 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({ cur_frm.cscript.update_totals(doc); erpnext.accounts.dimensions.copy_dimension_from_first_row(this.frm, cdt, cdn, 'accounts'); - }, + } -}); +}; cur_frm.script_manager.make(erpnext.accounts.JournalEntry); diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js index 6b07197ec10..dd91fec3c17 100644 --- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js +++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js @@ -34,8 +34,8 @@ frappe.ui.form.on("Payment Reconciliation Payment", { } }); -erpnext.accounts.PaymentReconciliationController = frappe.ui.form.Controller.extend({ - onload: function() { +erpnext.accounts.PaymentReconciliationController = class PaymentReconciliationController extends frappe.ui.form.Controller { + onload() { var me = this; this.frm.set_query("party", function() { @@ -84,18 +84,18 @@ erpnext.accounts.PaymentReconciliationController = frappe.ui.form.Controller.ext frappe.throw({message: __("Please Select Both Company and Party Type First"), title: title}); } }; - }, + } - refresh: function() { + refresh() { this.frm.disable_save(); this.toggle_primary_action(); - }, + } - onload_post_render: function() { + onload_post_render() { this.toggle_primary_action(); - }, + } - party: function() { + party() { var me = this if (!me.frm.doc.receivable_payable_account && me.frm.doc.party_type && me.frm.doc.party) { return frappe.call({ @@ -112,9 +112,9 @@ erpnext.accounts.PaymentReconciliationController = frappe.ui.form.Controller.ext } }); } - }, + } - get_unreconciled_entries: function() { + get_unreconciled_entries() { var me = this; return this.frm.call({ doc: me.frm.doc, @@ -125,9 +125,9 @@ erpnext.accounts.PaymentReconciliationController = frappe.ui.form.Controller.ext } }); - }, + } - reconcile: function() { + reconcile() { var me = this; var show_dialog = me.frm.doc.payments.filter(d => d.difference_amount && !d.difference_account); @@ -209,9 +209,9 @@ erpnext.accounts.PaymentReconciliationController = frappe.ui.form.Controller.ext } else { this.reconcile_payment_entries(); } - }, + } - reconcile_payment_entries: function() { + reconcile_payment_entries() { var me = this; return this.frm.call({ @@ -222,9 +222,9 @@ erpnext.accounts.PaymentReconciliationController = frappe.ui.form.Controller.ext me.toggle_primary_action(); } }); - }, + } - set_invoice_options: function() { + set_invoice_options() { var me = this; var invoices = []; @@ -243,9 +243,9 @@ erpnext.accounts.PaymentReconciliationController = frappe.ui.form.Controller.ext } refresh_field("payments"); - }, + } - toggle_primary_action: function() { + toggle_primary_action() { if ((this.frm.doc.payments || []).length) { this.frm.fields_dict.reconcile.$input && this.frm.fields_dict.reconcile.$input.addClass("btn-primary"); @@ -259,6 +259,6 @@ erpnext.accounts.PaymentReconciliationController = frappe.ui.form.Controller.ext } } -}); +}; $.extend(cur_frm.cscript, new erpnext.accounts.PaymentReconciliationController({frm: cur_frm})); diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.js b/erpnext/accounts/doctype/pos_invoice/pos_invoice.js index 493bd448024..72d587afb5f 100644 --- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.js +++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.js @@ -4,18 +4,18 @@ {% include 'erpnext/selling/sales_common.js' %}; frappe.provide("erpnext.accounts"); -erpnext.selling.POSInvoiceController = erpnext.selling.SellingController.extend({ +erpnext.selling.POSInvoiceController = class POSInvoiceController extends erpnext.selling.SellingController { setup(doc) { this.setup_posting_date_time_check(); - this._super(doc); - }, + super.setup(doc); + } - company: function() { + company() { erpnext.accounts.dimensions.update_dimension(this.frm, this.frm.doctype); - }, + } onload(doc) { - this._super(); + super.onload(); this.frm.ignore_doctypes_on_cancel_all = ['POS Invoice Merge Log']; if(doc.__islocal && doc.is_pos && frappe.get_route_str() !== 'point-of-sale') { this.frm.script_manager.trigger("is_pos"); @@ -23,10 +23,10 @@ erpnext.selling.POSInvoiceController = erpnext.selling.SellingController.extend( } erpnext.accounts.dimensions.setup_dimension_filters(this.frm, this.frm.doctype); - }, + } refresh(doc) { - this._super(); + super.refresh(); if (doc.docstatus == 1 && !doc.is_return) { this.frm.add_custom_button(__('Return'), this.make_sales_return, __('Create')); this.frm.page.set_inner_btn_group_as_primary(__('Create')); @@ -36,13 +36,13 @@ erpnext.selling.POSInvoiceController = erpnext.selling.SellingController.extend( this.frm.return_print_format = "Sales Invoice Return"; this.frm.set_value('consolidated_invoice', ''); } - }, + } - is_pos: function() { + is_pos() { this.set_pos_data(); - }, + } - set_pos_data: async function() { + async set_pos_data() { if(this.frm.doc.is_pos) { this.frm.set_value("allocate_advances_automatically", 0); if(!this.frm.doc.company) { @@ -69,7 +69,7 @@ erpnext.selling.POSInvoiceController = erpnext.selling.SellingController.extend( } } } - }, + } customer() { if (!this.frm.doc.customer) return @@ -86,13 +86,13 @@ erpnext.selling.POSInvoiceController = erpnext.selling.SellingController.extend( }, () => { this.apply_pricing_rule(); }); - }, + } - amount: function(){ + amount(){ this.write_off_outstanding_amount_automatically() - }, + } - change_amount: function(){ + change_amount(){ if(this.frm.doc.paid_amount > this.frm.doc.grand_total){ this.calculate_write_off_amount(); }else { @@ -101,16 +101,16 @@ erpnext.selling.POSInvoiceController = erpnext.selling.SellingController.extend( } this.frm.refresh_fields(); - }, + } - loyalty_amount: function(){ + loyalty_amount(){ this.calculate_outstanding_amount(); this.frm.refresh_field("outstanding_amount"); this.frm.refresh_field("paid_amount"); this.frm.refresh_field("base_paid_amount"); - }, + } - write_off_outstanding_amount_automatically: function() { + write_off_outstanding_amount_automatically() { if(cint(this.frm.doc.write_off_outstanding_amount_automatically)) { frappe.model.round_floats_in(this.frm.doc, ["grand_total", "paid_amount"]); // this will make outstanding amount 0 @@ -125,15 +125,15 @@ erpnext.selling.POSInvoiceController = erpnext.selling.SellingController.extend( this.calculate_outstanding_amount(false); this.frm.refresh_fields(); - }, + } - make_sales_return: function() { + make_sales_return() { frappe.model.open_mapped_doc({ method: "erpnext.accounts.doctype.pos_invoice.pos_invoice.make_sales_return", frm: cur_frm }) - }, -}) + } +} $.extend(cur_frm.cscript, new erpnext.selling.POSInvoiceController({ frm: cur_frm })) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index 06aa20bfc5a..b31cdce0b2f 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -4,10 +4,10 @@ frappe.provide("erpnext.accounts"); {% include 'erpnext/public/js/controllers/buying.js' %}; -erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ - setup: function(doc) { +erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.BuyingController { + setup(doc) { this.setup_posting_date_time_check(); - this._super(doc); + super.setup(doc); // formatter for purchase invoice item if(this.frm.doc.update_stock) { @@ -25,14 +25,14 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ } }; }); - }, + } - company: function() { + company() { erpnext.accounts.dimensions.update_dimension(this.frm, this.frm.doctype); - }, + } - onload: function() { - this._super(); + onload() { + super.onload(); if(!this.frm.doc.__islocal) { // show credit_to in print format @@ -48,11 +48,11 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ } erpnext.accounts.dimensions.setup_dimension_filters(this.frm, this.frm.doctype); - }, + } - refresh: function(doc) { + refresh(doc) { const me = this; - this._super(); + super.refresh(); hide_fields(this.frm.doc); // Show / Hide button @@ -161,26 +161,26 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ } this.frm.set_df_property("tax_withholding_category", "hidden", doc.apply_tds ? 0 : 1); - }, + } - unblock_invoice: function() { + unblock_invoice() { const me = this; frappe.call({ 'method': 'erpnext.accounts.doctype.purchase_invoice.purchase_invoice.unblock_invoice', 'args': {'name': me.frm.doc.name}, 'callback': (r) => me.frm.reload_doc() }); - }, + } - block_invoice: function() { + block_invoice() { this.make_comment_dialog_and_block_invoice(); - }, + } - change_release_date: function() { + change_release_date() { this.make_dialog_and_set_release_date(); - }, + } - can_change_release_date: function(date) { + can_change_release_date(date) { const diff = frappe.datetime.get_diff(date, frappe.datetime.nowdate()); if (diff < 0) { frappe.throw(__('New release date should be in the future')); @@ -188,9 +188,9 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ } else { return true; } - }, + } - make_comment_dialog_and_block_invoice: function(){ + make_comment_dialog_and_block_invoice(){ const me = this; const title = __('Block Invoice'); @@ -232,9 +232,9 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ }); this.dialog.show(); - }, + } - make_dialog_and_set_release_date: function() { + make_dialog_and_set_release_date() { const me = this; const title = __('Set New Release Date'); @@ -263,17 +263,17 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ }); this.dialog.show(); - }, + } - set_release_date: function(data) { + set_release_date(data) { return frappe.call({ 'method': 'erpnext.accounts.doctype.purchase_invoice.purchase_invoice.change_release_date', 'args': data, 'callback': (r) => this.frm.reload_doc() }); - }, + } - supplier: function() { + supplier() { var me = this; // Do not update if inter company reference is there as the details will already be updated @@ -295,9 +295,9 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ me.frm.set_df_property("apply_tds", "read_only", me.frm.supplier_tds ? 0 : 1); me.frm.set_df_property("tax_withholding_category", "hidden", me.frm.supplier_tds ? 0 : 1); }) - }, + } - apply_tds: function(frm) { + apply_tds(frm) { var me = this; if (!me.frm.doc.apply_tds) { @@ -307,9 +307,9 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ me.frm.set_value("tax_withholding_category", me.frm.supplier_tds); me.frm.set_df_property("tax_withholding_category", "hidden", 0); } - }, + } - credit_to: function() { + credit_to() { var me = this; if(this.frm.doc.credit_to) { me.frm.call({ @@ -327,16 +327,16 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ } }); } - }, + } - make_inter_company_invoice: function(frm) { + make_inter_company_invoice(frm) { frappe.model.open_mapped_doc({ method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_inter_company_sales_invoice", frm: frm }); - }, + } - is_paid: function() { + is_paid() { hide_fields(this.frm.doc); if(cint(this.frm.doc.is_paid)) { this.frm.set_value("allocate_advances_automatically", 0); @@ -347,44 +347,44 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ } this.calculate_outstanding_amount(); this.frm.refresh_fields(); - }, + } - write_off_amount: function() { + write_off_amount() { this.set_in_company_currency(this.frm.doc, ["write_off_amount"]); this.calculate_outstanding_amount(); this.frm.refresh_fields(); - }, + } - paid_amount: function() { + paid_amount() { this.set_in_company_currency(this.frm.doc, ["paid_amount"]); this.write_off_amount(); this.frm.refresh_fields(); - }, + } - allocated_amount: function() { + allocated_amount() { this.calculate_total_advance(); this.frm.refresh_fields(); - }, + } - items_add: function(doc, cdt, cdn) { + items_add(doc, cdt, cdn) { var row = frappe.get_doc(cdt, cdn); this.frm.script_manager.copy_from_first_row("items", row, ["expense_account", "cost_center", "project"]); - }, + } - on_submit: function() { + on_submit() { $.each(this.frm.doc["items"] || [], function(i, row) { if(row.purchase_receipt) frappe.model.clear_doc("Purchase Receipt", row.purchase_receipt) }) - }, + } - make_debit_note: function() { + make_debit_note() { frappe.model.open_mapped_doc({ method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_debit_note", frm: cur_frm }) - }, -}); + } +}; cur_frm.script_manager.make(erpnext.accounts.PurchaseInvoice); diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index b361c0c3457..8e8f85a3e48 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -2,23 +2,24 @@ // License: GNU General Public License v3. See license.txt // print heading +frappe.provide('cur_frm.pformat') cur_frm.pformat.print_heading = 'Invoice'; {% include 'erpnext/selling/sales_common.js' %}; frappe.provide("erpnext.accounts"); -erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.extend({ - setup: function(doc) { +erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends erpnext.selling.SellingController { + setup(doc) { this.setup_posting_date_time_check(); - this._super(doc); - }, - company: function() { + super.setup(doc); + } + company() { erpnext.accounts.dimensions.update_dimension(this.frm, this.frm.doctype); - }, - onload: function() { + } + onload() { var me = this; - this._super(); + super.onload(); this.frm.ignore_doctypes_on_cancel_all = ['POS Invoice']; if(!this.frm.doc.__islocal && !this.frm.doc.customer && this.frm.doc.debit_to) { @@ -38,11 +39,11 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } erpnext.queries.setup_warehouse_query(this.frm); erpnext.accounts.dimensions.setup_dimension_filters(this.frm, this.frm.doctype); - }, + } - refresh: function(doc, dt, dn) { + refresh(doc, dt, dn) { const me = this; - this._super(); + super.refresh(); if(cur_frm.msgbox && cur_frm.msgbox.$wrapper.is(":visible")) { // hide new msgbox cur_frm.msgbox.hide(); @@ -141,16 +142,16 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte }, __('Create')); } } - }, + } - make_maintenance_schedule: function() { + make_maintenance_schedule() { frappe.model.open_mapped_doc({ method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_maintenance_schedule", frm: cur_frm }) - }, + } - on_submit: function(doc, dt, dn) { + on_submit(doc, dt, dn) { var me = this; if (frappe.get_route()[0] != 'Form') { @@ -160,9 +161,9 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte $.each(doc["items"], function(i, row) { if(row.delivery_note) frappe.model.clear_doc("Delivery Note", row.delivery_note) }) - }, + } - set_default_print_format: function() { + set_default_print_format() { // set default print format to POS type or Credit Note if(cur_frm.doc.is_pos) { if(cur_frm.pos_print_format) { @@ -183,9 +184,9 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte cur_frm.meta._default_print_format = null; } } - }, + } - sales_order_btn: function() { + sales_order_btn() { var me = this; this.$sales_order_btn = this.frm.add_custom_button(__('Sales Order'), function() { @@ -204,9 +205,9 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } }) }, __("Get Items From")); - }, + } - quotation_btn: function() { + quotation_btn() { var me = this; this.$quotation_btn = this.frm.add_custom_button(__('Quotation'), function() { @@ -228,9 +229,9 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } }) }, __("Get Items From")); - }, + } - delivery_note_btn: function() { + delivery_note_btn() { var me = this; this.$delivery_note_btn = this.frm.add_custom_button(__('Delivery Note'), function() { @@ -256,12 +257,12 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } }); }, __("Get Items From")); - }, + } - tc_name: function() { + tc_name() { this.get_terms(); - }, - customer: function() { + } + customer() { if (this.frm.doc.is_pos){ var pos_profile = this.frm.doc.pos_profile; } @@ -292,16 +293,16 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } }); } - }, + } - make_inter_company_invoice: function() { + make_inter_company_invoice() { frappe.model.open_mapped_doc({ method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_inter_company_purchase_invoice", frm: me.frm }); - }, + } - debit_to: function() { + debit_to() { var me = this; if(this.frm.doc.debit_to) { me.frm.call({ @@ -319,14 +320,14 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } }); } - }, + } - allocated_amount: function() { + allocated_amount() { this.calculate_total_advance(); this.frm.refresh_fields(); - }, + } - write_off_outstanding_amount_automatically: function() { + write_off_outstanding_amount_automatically() { if(cint(this.frm.doc.write_off_outstanding_amount_automatically)) { frappe.model.round_floats_in(this.frm.doc, ["grand_total", "paid_amount"]); // this will make outstanding amount 0 @@ -341,39 +342,39 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte this.calculate_outstanding_amount(false); this.frm.refresh_fields(); - }, + } - write_off_amount: function() { + write_off_amount() { this.set_in_company_currency(this.frm.doc, ["write_off_amount"]); this.write_off_outstanding_amount_automatically(); - }, + } - items_add: function(doc, cdt, cdn) { + items_add(doc, cdt, cdn) { var row = frappe.get_doc(cdt, cdn); this.frm.script_manager.copy_from_first_row("items", row, ["income_account", "cost_center"]); - }, + } - set_dynamic_labels: function() { - this._super(); + set_dynamic_labels() { + super.set_dynamic_labels(); this.frm.events.hide_fields(this.frm) - }, + } - items_on_form_rendered: function() { + items_on_form_rendered() { erpnext.setup_serial_no(); - }, + } - packed_items_on_form_rendered: function(doc, grid_row) { + packed_items_on_form_rendered(doc, grid_row) { erpnext.setup_serial_no(); - }, + } - make_sales_return: function() { + make_sales_return() { frappe.model.open_mapped_doc({ method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_sales_return", frm: cur_frm }) - }, + } - asset: function(frm, cdt, cdn) { + asset(frm, cdt, cdn) { var row = locals[cdt][cdn]; if(row.asset) { frappe.call({ @@ -387,18 +388,18 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } }) } - }, + } - is_pos: function(frm){ + is_pos(frm){ this.set_pos_data(); - }, + } - pos_profile: function() { + pos_profile() { this.frm.doc.taxes = [] this.set_pos_data(); - }, + } - set_pos_data: function() { + set_pos_data() { if(this.frm.doc.is_pos) { this.frm.set_value("allocate_advances_automatically", 0); if(!this.frm.doc.company) { @@ -428,13 +429,13 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } } else this.frm.trigger("refresh"); - }, + } - amount: function(){ + amount(){ this.write_off_outstanding_amount_automatically() - }, + } - change_amount: function(){ + change_amount(){ if(this.frm.doc.paid_amount > this.frm.doc.grand_total){ this.calculate_write_off_amount(); }else { @@ -443,15 +444,15 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte } this.frm.refresh_fields(); - }, + } - loyalty_amount: function(){ + loyalty_amount(){ this.calculate_outstanding_amount(); this.frm.refresh_field("outstanding_amount"); this.frm.refresh_field("paid_amount"); this.frm.refresh_field("base_paid_amount"); } -}); +}; // for backward compatibility: combine new and previous states $.extend(cur_frm.cscript, new erpnext.accounts.SalesInvoiceController({frm: cur_frm})); diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js index dd0f0658485..c0e19e9c3d0 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -61,8 +61,8 @@ frappe.ui.form.on("Purchase Order Item", { } }); -erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend({ - setup: function() { +erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends erpnext.buying.BuyingController { + setup() { this.frm.custom_make_buttons = { 'Purchase Receipt': 'Purchase Receipt', 'Purchase Invoice': 'Purchase Invoice', @@ -70,13 +70,13 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( 'Payment Entry': 'Payment', } - this._super(); + super.setup(); - }, + } - refresh: function(doc, cdt, cdn) { + refresh(doc, cdt, cdn) { var me = this; - this._super(); + super.refresh(); var allow_receipt = false; var is_drop_ship = false; @@ -182,9 +182,9 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( } else if(doc.docstatus===0) { cur_frm.cscript.add_from_mappers(); } - }, + } - get_items_from_open_material_requests: function() { + get_items_from_open_material_requests() { erpnext.utils.map_current_doc({ method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order_based_on_supplier", args: { @@ -202,17 +202,17 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( }, get_query_method: "erpnext.stock.doctype.material_request.material_request.get_material_requests_based_on_supplier" }); - }, + } - validate: function() { + validate() { set_schedule_date(this.frm); - }, + } - has_unsupplied_items: function() { + has_unsupplied_items() { return this.frm.doc['supplied_items'].some(item => item.required_qty != item.supplied_qty) - }, + } - make_stock_entry: function() { + make_stock_entry() { var items = $.map(cur_frm.doc.items, function(d) { return d.bom ? d.item_code : false; }); var me = this; @@ -326,9 +326,9 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( me.dialog.hide(); }); - }, + } - _make_rm_stock_entry: function(rm_items) { + _make_rm_stock_entry(rm_items) { frappe.call({ method:"erpnext.buying.doctype.purchase_order.purchase_order.make_rm_stock_entry", args: { @@ -341,31 +341,31 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( frappe.set_route("Form", doclist[0].doctype, doclist[0].name); } }); - }, + } - make_inter_company_order: function(frm) { + make_inter_company_order(frm) { frappe.model.open_mapped_doc({ method: "erpnext.buying.doctype.purchase_order.purchase_order.make_inter_company_sales_order", frm: frm }); - }, + } - make_purchase_receipt: function() { + make_purchase_receipt() { frappe.model.open_mapped_doc({ method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt", frm: cur_frm, freeze_message: __("Creating Purchase Receipt ...") }) - }, + } - make_purchase_invoice: function() { + make_purchase_invoice() { frappe.model.open_mapped_doc({ method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice", frm: cur_frm }) - }, + } - add_from_mappers: function() { + add_from_mappers() { var me = this; this.frm.add_custom_button(__('Material Request'), function() { @@ -471,13 +471,13 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( } }); }, __("Tools")); - }, + } - tc_name: function() { + tc_name() { this.get_terms(); - }, + } - items_add: function(doc, cdt, cdn) { + items_add(doc, cdt, cdn) { var row = frappe.get_doc(cdt, cdn); if(doc.schedule_date) { row.schedule_date = doc.schedule_date; @@ -485,13 +485,13 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( } else { this.frm.script_manager.copy_from_first_row("items", row, ["schedule_date"]); } - }, + } - unhold_purchase_order: function(){ + unhold_purchase_order(){ cur_frm.cscript.update_status("Resume", "Draft") - }, + } - hold_purchase_order: function(){ + hold_purchase_order(){ var me = this; var d = new frappe.ui.Dialog({ title: __('Reason for Hold'), @@ -523,28 +523,28 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( } }); d.show(); - }, + } - unclose_purchase_order: function(){ + unclose_purchase_order(){ cur_frm.cscript.update_status('Re-open', 'Submitted') - }, + } - close_purchase_order: function(){ + close_purchase_order(){ cur_frm.cscript.update_status('Close', 'Closed') - }, + } - delivered_by_supplier: function(){ + delivered_by_supplier(){ cur_frm.cscript.update_status('Deliver', 'Delivered') - }, + } - items_on_form_rendered: function() { - set_schedule_date(this.frm); - }, - - schedule_date: function() { + items_on_form_rendered() { set_schedule_date(this.frm); } -}); + + schedule_date() { + set_schedule_date(this.frm); + } +}; // for backward compatibility: combine new and previous states $.extend(cur_frm.cscript, new erpnext.buying.PurchaseOrderController({frm: cur_frm})); diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js index b76c3784a47..ee0e1ef576c 100644 --- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js +++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js @@ -205,10 +205,10 @@ frappe.ui.form.on("Request for Quotation Supplier",{ }) -erpnext.buying.RequestforQuotationController = erpnext.buying.BuyingController.extend({ - refresh: function() { +erpnext.buying.RequestforQuotationController = class RequestforQuotationController extends erpnext.buying.BuyingController { + refresh() { var me = this; - this._super(); + super.refresh(); if (this.frm.doc.docstatus===0) { this.frm.add_custom_button(__('Material Request'), function() { @@ -302,17 +302,17 @@ erpnext.buying.RequestforQuotationController = erpnext.buying.BuyingController.e me.get_suppliers_button(me.frm); }, __("Tools")); } - }, + } - calculate_taxes_and_totals: function() { + calculate_taxes_and_totals() { return; - }, + } - tc_name: function() { + tc_name() { this.get_terms(); - }, + } - get_suppliers_button: function (frm) { + get_suppliers_button (frm) { var doc = frm.doc; var dialog = new frappe.ui.Dialog({ title: __("Get Suppliers"), @@ -410,8 +410,8 @@ erpnext.buying.RequestforQuotationController = erpnext.buying.BuyingController.e }); dialog.show(); - }, -}); + } +}; // for backward compatibility: combine new and previous states $.extend(cur_frm.cscript, new erpnext.buying.RequestforQuotationController({frm: cur_frm})); diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js index a0187b0a824..a3ba52e67b2 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js @@ -4,19 +4,19 @@ // attach required files {% include 'erpnext/public/js/controllers/buying.js' %}; -erpnext.buying.SupplierQuotationController = erpnext.buying.BuyingController.extend({ - setup: function() { +erpnext.buying.SupplierQuotationController = class SupplierQuotationController extends erpnext.buying.BuyingController { + setup() { this.frm.custom_make_buttons = { 'Purchase Order': 'Purchase Order', 'Quotation': 'Quotation' } - this._super(); - }, + super.setup(); + } - refresh: function() { + refresh() { var me = this; - this._super(); + super.refresh(); if (this.frm.doc.__islocal && !this.frm.doc.valid_till) { this.frm.set_value('valid_till', frappe.datetime.add_months(this.frm.doc.transaction_date, 1)); @@ -77,22 +77,22 @@ erpnext.buying.SupplierQuotationController = erpnext.buying.BuyingController.ext }) }, __("Get Items From")); } - }, + } - make_purchase_order: function() { + make_purchase_order() { frappe.model.open_mapped_doc({ method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order", frm: cur_frm }) - }, - make_quotation: function() { + } + make_quotation() { frappe.model.open_mapped_doc({ method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_quotation", frm: cur_frm }) } -}); +}; // for backward compatibility: combine new and previous states $.extend(cur_frm.cscript, new erpnext.buying.SupplierQuotationController({frm: cur_frm})); diff --git a/erpnext/crm/doctype/lead/lead.js b/erpnext/crm/doctype/lead/lead.js index 0c88d2826f7..8dfee1d6c72 100644 --- a/erpnext/crm/doctype/lead/lead.js +++ b/erpnext/crm/doctype/lead/lead.js @@ -4,8 +4,8 @@ frappe.provide("erpnext"); cur_frm.email_field = "email_id"; -erpnext.LeadController = frappe.ui.form.Controller.extend({ - setup: function () { +erpnext.LeadController = class LeadController extends frappe.ui.form.Controller { + setup () { this.frm.make_methods = { 'Customer': this.make_customer, 'Quotation': this.make_quotation, @@ -13,9 +13,9 @@ erpnext.LeadController = frappe.ui.form.Controller.extend({ }; this.frm.toggle_reqd("lead_name", !this.frm.doc.organization_lead); - }, + } - onload: function () { + onload () { this.frm.set_query("customer", function (doc, cdt, cdn) { return { query: "erpnext.controllers.queries.customer_query" } }); @@ -27,9 +27,9 @@ erpnext.LeadController = frappe.ui.form.Controller.extend({ this.frm.set_query("contact_by", function (doc, cdt, cdn) { return { query: "frappe.core.doctype.user.user.user_query" } }); - }, + } - refresh: function () { + refresh () { let doc = this.frm.doc; erpnext.toggle_naming_series(); frappe.dynamic_link = { doc: doc, fieldname: 'name', doctype: 'Lead' } @@ -45,47 +45,47 @@ erpnext.LeadController = frappe.ui.form.Controller.extend({ } else { frappe.contacts.clear_address_and_contact(this.frm); } - }, + } - make_customer: function () { + make_customer () { frappe.model.open_mapped_doc({ method: "erpnext.crm.doctype.lead.lead.make_customer", frm: cur_frm }) - }, + } - make_opportunity: function () { + make_opportunity () { frappe.model.open_mapped_doc({ method: "erpnext.crm.doctype.lead.lead.make_opportunity", frm: cur_frm }) - }, + } - make_quotation: function () { + make_quotation () { frappe.model.open_mapped_doc({ method: "erpnext.crm.doctype.lead.lead.make_quotation", frm: cur_frm }) - }, + } - organization_lead: function () { + organization_lead () { this.frm.toggle_reqd("lead_name", !this.frm.doc.organization_lead); this.frm.toggle_reqd("company_name", this.frm.doc.organization_lead); - }, + } - company_name: function () { + company_name () { if (this.frm.doc.organization_lead && !this.frm.doc.lead_name) { this.frm.set_value("lead_name", this.frm.doc.company_name); } - }, + } - contact_date: function () { + contact_date () { if (this.frm.doc.contact_date) { let d = moment(this.frm.doc.contact_date); d.add(1, "day"); this.frm.set_value("ends_on", d.format(frappe.defaultDatetimeFormat)); } } -}); +}; $.extend(cur_frm.cscript, new erpnext.LeadController({ frm: cur_frm })); diff --git a/erpnext/crm/doctype/opportunity/opportunity.js b/erpnext/crm/doctype/opportunity/opportunity.js index ac374a95f4e..925c30b4516 100644 --- a/erpnext/crm/doctype/opportunity/opportunity.js +++ b/erpnext/crm/doctype/opportunity/opportunity.js @@ -145,8 +145,8 @@ frappe.ui.form.on("Opportunity", { }) // TODO commonify this code -erpnext.crm.Opportunity = frappe.ui.form.Controller.extend({ - onload: function() { +erpnext.crm.Opportunity = class Opportunity extends frappe.ui.form.Controller { + onload() { if(!this.frm.doc.status) { frm.set_value('status', 'Open'); @@ -159,9 +159,9 @@ erpnext.crm.Opportunity = frappe.ui.form.Controller.extend({ } this.setup_queries(); - }, + } - setup_queries: function() { + setup_queries() { var me = this; if(this.frm.fields_dict.contact_by.df.options.match(/^User/)) { @@ -185,15 +185,15 @@ erpnext.crm.Opportunity = frappe.ui.form.Controller.extend({ else if (me.frm.doc.opportunity_from == "Customer") { me.frm.set_query('party_name', erpnext.queries['customer']); } - }, + } - create_quotation: function() { + create_quotation() { frappe.model.open_mapped_doc({ method: "erpnext.crm.doctype.opportunity.opportunity.make_quotation", frm: cur_frm }) } -}); +}; $.extend(cur_frm.cscript, new erpnext.crm.Opportunity({frm: cur_frm})); diff --git a/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.js b/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.js index b59d8488285..68e7780039b 100644 --- a/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.js +++ b/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.js @@ -72,8 +72,8 @@ frappe.ui.form.on('Student Attendance Tool', { }); -education.StudentsEditor = Class.extend({ - init: function(frm, wrapper, students) { +education.StudentsEditor = class StudentsEditor { + constructor(frm, wrapper, students) { this.wrapper = wrapper; this.frm = frm; if(students.length > 0) { @@ -81,8 +81,8 @@ education.StudentsEditor = Class.extend({ } else { this.show_empty_state(); } - }, - make: function(frm, students) { + } + make(frm, students) { var me = this; $(this.wrapper).empty(); @@ -173,13 +173,13 @@ education.StudentsEditor = Class.extend({ }); $(htmls.join("")).appendTo(me.wrapper); - }, + } - show_empty_state: function() { + show_empty_state() { $(this.wrapper).html( `
\
@@ -38,9 +38,9 @@ erpnext.ExerciseEditor = Class.extend({
this.make_cards(frm);
this.make_buttons(frm);
}
- },
+ }
- make_cards: function(frm) {
+ make_cards(frm) {
var me = this;
$(me.exercise_cards).empty();
@@ -60,9 +60,9 @@ erpnext.ExerciseEditor = Class.extend({
`, {image_src: step.image, title: step.title, description: step.description, col_id: "col-"+i, card_id: "card-"+i, id: i})).appendTo(me.row);
});
- },
+ }
- make_buttons: function(frm) {
+ make_buttons(frm) {
let me = this;
$('.btn-edit').on('click', function() {
let id = $(this).attr('data-id');
@@ -82,9 +82,9 @@ erpnext.ExerciseEditor = Class.extend({
frm.dirty();
}, 300);
});
- },
+ }
- show_add_card_dialog: function(frm) {
+ show_add_card_dialog(frm) {
let me = this;
let d = new frappe.ui.Dialog({
title: __('Add Exercise Step'),
@@ -137,9 +137,9 @@ erpnext.ExerciseEditor = Class.extend({
primary_action_label: __('Add')
});
d.show();
- },
+ }
- show_edit_card_dialog: function(frm, id) {
+ show_edit_card_dialog(frm, id) {
let new_dialog = new frappe.ui.Dialog({
title: __("Edit Exercise Step"),
fields: [
@@ -183,4 +183,4 @@ erpnext.ExerciseEditor = Class.extend({
});
new_dialog.show();
}
-});
+};
diff --git a/erpnext/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js
index c21d4b893cc..5639cc9ea46 100755
--- a/erpnext/hr/doctype/employee/employee.js
+++ b/erpnext/hr/doctype/employee/employee.js
@@ -2,8 +2,8 @@
// License: GNU General Public License v3. See license.txt
frappe.provide("erpnext.hr");
-erpnext.hr.EmployeeController = frappe.ui.form.Controller.extend({
- setup: function() {
+erpnext.hr.EmployeeController = class EmployeeController extends frappe.ui.form.Controller {
+ setup() {
this.frm.fields_dict.user_id.get_query = function(doc, cdt, cdn) {
return {
query: "frappe.core.doctype.user.user.user_query",
@@ -12,30 +12,30 @@ erpnext.hr.EmployeeController = frappe.ui.form.Controller.extend({
}
this.frm.fields_dict.reports_to.get_query = function(doc, cdt, cdn) {
return { query: "erpnext.controllers.queries.employee_query"} }
- },
+ }
- refresh: function() {
+ refresh() {
var me = this;
erpnext.toggle_naming_series();
- },
+ }
- date_of_birth: function() {
+ date_of_birth() {
return cur_frm.call({
method: "get_retirement_date",
args: {date_of_birth: this.frm.doc.date_of_birth}
});
- },
+ }
- salutation: function() {
+ salutation() {
if(this.frm.doc.salutation) {
this.frm.set_value("gender", {
"Mr": "Male",
"Ms": "Female"
}[this.frm.doc.salutation]);
}
- },
+ }
-});
+};
frappe.ui.form.on('Employee',{
setup: function(frm) {
frm.set_query("leave_policy", function() {
diff --git a/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.js b/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.js
index 3205a92b1b6..ab965d54e3b 100644
--- a/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.js
+++ b/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.js
@@ -68,13 +68,13 @@ erpnext.employee_attendance_tool = {
}
}
-erpnext.MarkedEmployee = Class.extend({
- init: function(frm, wrapper, employee) {
+erpnext.MarkedEmployee = class MarkedEmployee {
+ constructor(frm, wrapper, employee) {
this.wrapper = wrapper;
this.frm = frm;
this.make(frm, employee);
- },
- make: function(frm, employee) {
+ }
+ make(frm, employee) {
var me = this;
$(this.wrapper).empty();
@@ -104,16 +104,16 @@ erpnext.MarkedEmployee = Class.extend({
})).appendTo(row);
});
}
-});
+};
-erpnext.EmployeeSelector = Class.extend({
- init: function(frm, wrapper, employee) {
+erpnext.EmployeeSelector = class EmployeeSelector {
+ constructor(frm, wrapper, employee) {
this.wrapper = wrapper;
this.frm = frm;
this.make(frm, employee);
- },
- make: function(frm, employee) {
+ }
+ make(frm, employee) {
var me = this;
$(this.wrapper).empty();
@@ -266,6 +266,6 @@ erpnext.EmployeeSelector = Class.extend({
mark_employee_toolbar.appendTo($(this.wrapper));
}
-});
+};
diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.js b/erpnext/hr/doctype/upload_attendance/upload_attendance.js
index 29aa85484a8..bbafc820764 100644
--- a/erpnext/hr/doctype/upload_attendance/upload_attendance.js
+++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.js
@@ -5,19 +5,19 @@
frappe.provide("erpnext.hr");
-erpnext.hr.AttendanceControlPanel = frappe.ui.form.Controller.extend({
- onload: function() {
+erpnext.hr.AttendanceControlPanel = class AttendanceControlPanel extends frappe.ui.form.Controller {
+ onload() {
this.frm.set_value("att_fr_date", frappe.datetime.get_today());
this.frm.set_value("att_to_date", frappe.datetime.get_today());
- },
+ }
- refresh: function() {
+ refresh() {
this.frm.disable_save();
this.show_upload();
this.setup_import_progress();
- },
+ }
- get_template:function() {
+ get_template() {
if(!this.frm.doc.att_fr_date || !this.frm.doc.att_to_date) {
frappe.msgprint(__("Attendance From Date and Attendance To Date is mandatory"));
return;
@@ -28,7 +28,7 @@ erpnext.hr.AttendanceControlPanel = frappe.ui.form.Controller.extend({
from_date: this.frm.doc.att_fr_date,
to_date: this.frm.doc.att_to_date,
});
- },
+ }
show_upload() {
var $wrapper = $(cur_frm.fields_dict.upload_html.wrapper).empty();
@@ -36,7 +36,7 @@ erpnext.hr.AttendanceControlPanel = frappe.ui.form.Controller.extend({
wrapper: $wrapper,
method: 'erpnext.hr.doctype.upload_attendance.upload_attendance.upload'
});
- },
+ }
setup_import_progress() {
var $log_wrapper = $(this.frm.fields_dict.import_log.wrapper).empty();
@@ -64,6 +64,6 @@ erpnext.hr.AttendanceControlPanel = frappe.ui.form.Controller.extend({
}
});
}
-})
+}
cur_frm.cscript = new erpnext.hr.AttendanceControlPanel({frm: cur_frm});
diff --git a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
index ddbcdfde57e..2adfaf45ef1 100644
--- a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
@@ -45,8 +45,8 @@ frappe.ui.form.on('Maintenance Schedule', {
})
// TODO commonify this code
-erpnext.maintenance.MaintenanceSchedule = frappe.ui.form.Controller.extend({
- refresh: function() {
+erpnext.maintenance.MaintenanceSchedule = class MaintenanceSchedule extends frappe.ui.form.Controller {
+ refresh() {
frappe.dynamic_link = {doc: this.frm.doc, fieldname: 'customer', doctype: 'Customer'}
var me = this;
@@ -76,21 +76,21 @@ erpnext.maintenance.MaintenanceSchedule = frappe.ui.form.Controller.extend({
});
}, __('Create'));
}
- },
+ }
- start_date: function(doc, cdt, cdn) {
+ start_date(doc, cdt, cdn) {
this.set_no_of_visits(doc, cdt, cdn);
- },
+ }
- end_date: function(doc, cdt, cdn) {
+ end_date(doc, cdt, cdn) {
this.set_no_of_visits(doc, cdt, cdn);
- },
+ }
- periodicity: function(doc, cdt, cdn) {
+ periodicity(doc, cdt, cdn) {
this.set_no_of_visits(doc, cdt, cdn);
- },
+ }
- set_no_of_visits: function(doc, cdt, cdn) {
+ set_no_of_visits(doc, cdt, cdn) {
var item = frappe.get_doc(cdt, cdn);
if (item.start_date && item.end_date && item.periodicity) {
@@ -112,8 +112,8 @@ erpnext.maintenance.MaintenanceSchedule = frappe.ui.form.Controller.extend({
var no_of_visits = cint(date_diff / days_in_period[item.periodicity]);
frappe.model.set_value(item.doctype, item.name, "no_of_visits", no_of_visits);
}
- },
-});
+ }
+};
$.extend(cur_frm.cscript, new erpnext.maintenance.MaintenanceSchedule({frm: cur_frm}));
diff --git a/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js b/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
index 4cbb02a5b3f..12dc59ccfce 100644
--- a/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
+++ b/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
@@ -41,8 +41,8 @@ frappe.ui.form.on('Maintenance Visit', {
})
// TODO commonify this code
-erpnext.maintenance.MaintenanceVisit = frappe.ui.form.Controller.extend({
- refresh: function() {
+erpnext.maintenance.MaintenanceVisit = class MaintenanceVisit extends frappe.ui.form.Controller {
+ refresh() {
frappe.dynamic_link = {doc: this.frm.doc, fieldname: 'customer', doctype: 'Customer'}
var me = this;
@@ -96,7 +96,7 @@ erpnext.maintenance.MaintenanceVisit = frappe.ui.form.Controller.extend({
})
}, __("Get Items From"));
}
- },
-});
+ }
+};
-$.extend(cur_frm.cscript, new erpnext.maintenance.MaintenanceVisit({frm: cur_frm}));
\ No newline at end of file
+$.extend(cur_frm.cscript, new erpnext.maintenance.MaintenanceVisit({frm: cur_frm}));
diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js
index fbfd801a114..2b329448fba 100644
--- a/erpnext/manufacturing/doctype/bom/bom.js
+++ b/erpnext/manufacturing/doctype/bom/bom.js
@@ -357,16 +357,16 @@ frappe.ui.form.on("BOM", {
}
});
-erpnext.bom.BomController = erpnext.TransactionController.extend({
- conversion_rate: function(doc) {
+erpnext.bom.BomController = class BomController extends erpnext.TransactionController {
+ conversion_rate(doc) {
if(this.frm.doc.currency === this.get_company_currency()) {
this.frm.set_value("conversion_rate", 1.0);
} else {
erpnext.bom.update_cost(doc);
}
- },
+ }
- item_code: function(doc, cdt, cdn){
+ item_code(doc, cdt, cdn){
var scrap_items = false;
var child = locals[cdt][cdn];
if (child.doctype == 'BOM Scrap Item') {
@@ -378,19 +378,19 @@ erpnext.bom.BomController = erpnext.TransactionController.extend({
}
get_bom_material_detail(doc, cdt, cdn, scrap_items);
- },
+ }
- buying_price_list: function(doc) {
+ buying_price_list(doc) {
this.apply_price_list();
- },
+ }
- plc_conversion_rate: function(doc) {
+ plc_conversion_rate(doc) {
if (!this.in_apply_price_list) {
this.apply_price_list(null, true);
}
- },
+ }
- conversion_factor: function(doc, cdt, cdn) {
+ conversion_factor(doc, cdt, cdn) {
if (frappe.meta.get_docfield(cdt, "stock_qty", cdn)) {
var item = frappe.get_doc(cdt, cdn);
frappe.model.round_floats_in(item, ["qty", "conversion_factor"]);
@@ -399,8 +399,8 @@ erpnext.bom.BomController = erpnext.TransactionController.extend({
this.toggle_conversion_factor(item);
this.frm.events.update_cost(this.frm);
}
- },
-});
+ }
+};
$.extend(cur_frm.cscript, new erpnext.bom.BomController({frm: cur_frm}));
diff --git a/erpnext/public/js/account_tree_grid.js b/erpnext/public/js/account_tree_grid.js
index 757f33eecce..413a5ee9719 100644
--- a/erpnext/public/js/account_tree_grid.js
+++ b/erpnext/public/js/account_tree_grid.js
@@ -14,9 +14,9 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
No payment mode selected in pos profile
").appendTo(multimode_payments) } - }, + } - set_outstanding_amount: function(){ + set_outstanding_amount(){ this.selected_mode = $(this.$body).find(repl("input[idx='%(idx)s']",{'idx': this.idx})); this.highlight_selected_row() this.payment_val = 0.0 @@ -99,47 +99,47 @@ erpnext.payments = erpnext.stock.StockController.extend({ } this.selected_mode.select() this.bind_amount_change_event(); - }, - - bind_keyboard_event: function(){ + } + + bind_keyboard_event(){ var me = this; this.payment_val = ''; this.bind_form_control_event(); this.bind_numeric_keys_event(); - }, + } - bind_form_control_event: function(){ + bind_form_control_event(){ var me = this; $(this.$body).find('.pos-payment-row').click(function(){ me.idx = $(this).attr("idx"); me.set_outstanding_amount() }) - + $(this.$body).find('.form-control').click(function(){ me.idx = $(this).attr("idx"); me.set_outstanding_amount(); me.update_paid_amount(true); }) - + $(this.$body).find('.write_off_amount').change(function(){ me.write_off_amount(flt($(this).val()), precision("write_off_amount")); }) - + $(this.$body).find('.change_amount').change(function(){ me.change_amount(flt($(this).val()), precision("change_amount")); }) - }, + } - highlight_selected_row: function(){ + highlight_selected_row(){ var me = this; var selected_row = $(this.$body).find(repl(".pos-payment-row[idx='%(idx)s']",{'idx': this.idx})); $(this.$body).find('.pos-payment-row').removeClass('selected-payment-mode') selected_row.addClass('selected-payment-mode') $(this.$body).find('.amount').attr('disabled', true); this.selected_mode.attr('disabled', false); - }, - - bind_numeric_keys_event: function(){ + } + + bind_numeric_keys_event(){ var me = this; $(this.$body).find('.pos-keyboard-key').click(function(){ me.payment_val += $(this).text(); @@ -147,7 +147,7 @@ erpnext.payments = erpnext.stock.StockController.extend({ me.idx = me.selected_mode.attr("idx") me.update_paid_amount() }) - + $(this.$body).find('.delete-btn').click(function(){ me.payment_val = cstr(flt(me.selected_mode.val())).slice(0, -1); me.selected_mode.val(format_currency(me.payment_val, me.frm.doc.currency)); @@ -155,9 +155,9 @@ erpnext.payments = erpnext.stock.StockController.extend({ me.update_paid_amount(); }) - }, - - bind_amount_change_event: function(){ + } + + bind_amount_change_event(){ var me = this; this.selected_mode.change(function(){ me.payment_val = flt($(this).val()) || 0.0; @@ -165,9 +165,9 @@ erpnext.payments = erpnext.stock.StockController.extend({ me.idx = me.selected_mode.attr("idx") me.update_payment_amount() }) - }, + } - clear_amount: function() { + clear_amount() { var me = this; $(this.$body).find('.clr').click(function(e){ e.stopPropagation(); @@ -178,9 +178,9 @@ erpnext.payments = erpnext.stock.StockController.extend({ me.highlight_selected_row(); me.update_payment_amount(); }) - }, + } - write_off_amount: function(write_off_amount) { + write_off_amount(write_off_amount) { var me = this; this.frm.doc.write_off_amount = flt(write_off_amount, precision("write_off_amount")); @@ -188,17 +188,17 @@ erpnext.payments = erpnext.stock.StockController.extend({ precision("base_write_off_amount")); this.calculate_outstanding_amount(false) this.show_amounts() - }, + } - change_amount: function(change_amount) { + change_amount(change_amount) { var me = this; this.frm.doc.change_amount = flt(change_amount, precision("change_amount")); this.calculate_write_off_amount() this.show_amounts() - }, + } - update_paid_amount: function(update_write_off) { + update_paid_amount(update_write_off) { var me = this; if(in_list(['change_amount', 'write_off_amount'], this.idx)){ var value = me.selected_mode.val(); @@ -213,9 +213,9 @@ erpnext.payments = erpnext.stock.StockController.extend({ }else{ this.update_payment_amount() } - }, + } - update_payment_amount: function(){ + update_payment_amount(){ var me = this; $.each(this.frm.doc.payments, function(index, data){ @@ -226,9 +226,9 @@ erpnext.payments = erpnext.stock.StockController.extend({ this.calculate_outstanding_amount(false); this.show_amounts(); - }, + } - show_amounts: function(){ + show_amounts(){ var me = this; $(this.$body).find(".write_off_amount").val(format_currency(this.frm.doc.write_off_amount, this.frm.doc.currency)); $(this.$body).find('.paid_amount').text(format_currency(this.frm.doc.paid_amount, this.frm.doc.currency)); @@ -236,4 +236,4 @@ erpnext.payments = erpnext.stock.StockController.extend({ $(this.$body).find('.outstanding_amount').text(format_currency(this.frm.doc.outstanding_amount, frappe.get_doc(":Company", this.frm.doc.company).default_currency)) this.update_invoice(); } -}) \ No newline at end of file +} diff --git a/erpnext/public/js/stock_analytics.js b/erpnext/public/js/stock_analytics.js index 140c9dc90b6..c74b45e6db6 100644 --- a/erpnext/public/js/stock_analytics.js +++ b/erpnext/public/js/stock_analytics.js @@ -2,8 +2,8 @@ // License: GNU General Public License v3. See license.txt -erpnext.StockAnalytics = erpnext.StockGridReport.extend({ - init: function(wrapper, opts) { +erpnext.StockAnalytics = class StockAnalytics extends erpnext.StockGridReport { + constructor(wrapper, opts) { var args = { title: __("Stock Analytics"), parent: $(wrapper).find('.layout-main'), @@ -30,9 +30,9 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ if(opts) $.extend(args, opts); - this._super(args); - }, - setup_columns: function() { + super(args); + } + setup_columns() { var std_columns = [ {id: "name", name: __("Item"), field: "name", width: 300}, {id: "brand", name: __("Brand"), field: "brand", width: 100}, @@ -43,8 +43,9 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ this.make_date_range_columns(); this.columns = std_columns.concat(this.columns); - }, - filters: [ + } + + filters = [ {fieldtype:"Select", label: __("Value or Qty"), fieldname: "value_or_qty", options:[{label:__("Value"), value:"Value"}, {label:__("Quantity"), value:"Quantity"}], filter: function(val, item, opts, me) { @@ -66,20 +67,21 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ {label:__("Quarterly"), value:"Quarterly"}, {label:__("Yearly"), value:"Yearly"}, ]} - ], - setup_filters: function() { + ] + + setup_filters() { var me = this; - this._super(); + super.setup_filters(); this.trigger_refresh_on_change(["value_or_qty", "brand", "warehouse", "range"]); this.show_zero_check(); - }, - init_filter_values: function() { - this._super(); + } + init_filter_values() { + super.init_filter_values(); this.filter_inputs.range && this.filter_inputs.range.val('Monthly'); - }, - prepare_data: function() { + } + prepare_data() { var me = this; if(!this.data) { @@ -112,8 +114,8 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ this.prepare_balances(); this.update_groups(); - }, - prepare_balances: function() { + } + prepare_balances() { var me = this; var from_date = frappe.datetime.str_to_obj(this.from_date); var to_date = frappe.datetime.str_to_obj(this.to_date); @@ -164,8 +166,8 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ item.closing_qty_value += diff; } } - }, - update_groups: function() { + } + update_groups() { var me = this; $.each(this.data, function(i, item) { // update groups @@ -192,8 +194,8 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ } } }); - }, - show_stock_ledger: function(item_code) { + } + show_stock_ledger(item_code) { frappe.route_options = { item_code: item_code, from_date: this.from_date, @@ -201,5 +203,5 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ }; frappe.set_route("query-report", "Stock Ledger"); } -}); +}; diff --git a/erpnext/public/js/stock_grid_report.js b/erpnext/public/js/stock_grid_report.js index 832fd3eccf6..752fafdb971 100644 --- a/erpnext/public/js/stock_grid_report.js +++ b/erpnext/public/js/stock_grid_report.js @@ -1,16 +1,16 @@ // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors // License: GNU General Public License v3. See license.txt -erpnext.StockGridReport = frappe.views.TreeGridReport.extend({ - get_item_warehouse: function(warehouse, item) { +erpnext.StockGridReport = class StockGridReport extends frappe.views.TreeGridReport { + get_item_warehouse(warehouse, item) { if(!this.item_warehouse[item]) this.item_warehouse[item] = {}; if(!this.item_warehouse[item][warehouse]) this.item_warehouse[item][warehouse] = { balance_qty: 0.0, balance_value: 0.0, fifo_stack: [] }; return this.item_warehouse[item][warehouse]; - }, + } - get_value_diff: function(wh, sl, is_fifo) { + get_value_diff(wh, sl, is_fifo) { // value if(sl.qty > 0) { // incoming - rate is given @@ -59,8 +59,8 @@ erpnext.StockGridReport = frappe.views.TreeGridReport.extend({ wh.balance_qty += sl.qty; wh.balance_value += value_diff; return value_diff; - }, - get_fifo_value_diff: function(wh, sl) { + } + get_fifo_value_diff(wh, sl) { // get exact rate from fifo stack var fifo_stack = (wh.fifo_stack || []).reverse(); var fifo_value_diff = 0.0; @@ -89,9 +89,9 @@ erpnext.StockGridReport = frappe.views.TreeGridReport.extend({ // reset the updated stack wh.fifo_stack = fifo_stack.reverse(); return -fifo_value_diff; - }, + } - get_serialized_value_diff: function(sl) { + get_serialized_value_diff(sl) { var me = this; var value_diff = 0.0; @@ -103,9 +103,9 @@ erpnext.StockGridReport = frappe.views.TreeGridReport.extend({ }); return value_diff; - }, + } - get_serialized_buying_rates: function() { + get_serialized_buying_rates() { var serialized_buying_rates = {}; if (frappe.report_dump.data["Serial No"]) { @@ -115,5 +115,5 @@ erpnext.StockGridReport = frappe.views.TreeGridReport.extend({ } return serialized_buying_rates; - }, -}); + } +}; diff --git a/erpnext/public/js/telephony.js b/erpnext/public/js/telephony.js index 9548d6c5f36..1c3e3147976 100644 --- a/erpnext/public/js/telephony.js +++ b/erpnext/public/js/telephony.js @@ -1,19 +1,19 @@ -frappe.ui.form.ControlData = frappe.ui.form.ControlData.extend( { +frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlData { make_input() { - this._super(); + super.make_input(); if (this.df.options == 'Phone') { this.setup_phone(); } if (this.frm && this.frm.fields_dict) { Object.values(this.frm.fields_dict).forEach(function(field) { - if (field.df.read_only === 1 && field.df.options === 'Phone' + if (field.df.read_only === 1 && field.df.options === 'Phone' && field.disp_area.style[0] != 'display' && !field.has_icon) { field.setup_phone(); field.has_icon = true; } }); } - }, + } setup_phone() { if (frappe.phone_call.handler) { let control = this.df.read_only ? '.control-value' : '.control-input'; @@ -30,4 +30,4 @@ frappe.ui.form.ControlData = frappe.ui.form.ControlData.extend( { }); } } -}); +}; diff --git a/erpnext/public/js/utils/customer_quick_entry.js b/erpnext/public/js/utils/customer_quick_entry.js index ebe6cd98f81..efb8dd9d5ca 100644 --- a/erpnext/public/js/utils/customer_quick_entry.js +++ b/erpnext/public/js/utils/customer_quick_entry.js @@ -1,17 +1,17 @@ frappe.provide('frappe.ui.form'); -frappe.ui.form.CustomerQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ - init: function(doctype, after_insert) { +frappe.ui.form.CustomerQuickEntryForm = class CustomerQuickEntryForm extends frappe.ui.form.QuickEntryForm { + constructor(doctype, after_insert) { + super(doctype, after_insert); this.skip_redirect_on_error = true; - this._super(doctype, after_insert); - }, + } - render_dialog: function() { + render_dialog() { this.mandatory = this.mandatory.concat(this.get_variant_fields()); - this._super(); - }, + super.render_dialog(); + } - get_variant_fields: function() { + get_variant_fields() { var variant_fields = [{ fieldtype: "Section Break", label: __("Primary Contact Details"), @@ -77,5 +77,5 @@ frappe.ui.form.CustomerQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ }]; return variant_fields; - }, -}) \ No newline at end of file + } +} diff --git a/erpnext/public/js/utils/item_quick_entry.js b/erpnext/public/js/utils/item_quick_entry.js index 27ef107acef..7e0198d33b3 100644 --- a/erpnext/public/js/utils/item_quick_entry.js +++ b/erpnext/public/js/utils/item_quick_entry.js @@ -1,27 +1,27 @@ frappe.provide('frappe.ui.form'); -frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ - init: function(doctype, after_insert) { - this._super(doctype, after_insert); - }, +frappe.ui.form.ItemQuickEntryForm = class ItemQuickEntryForm extends frappe.ui.form.QuickEntryForm { + constructor(doctype, after_insert) { + super(doctype, after_insert); + } - render_dialog: function() { + render_dialog() { this.mandatory = this.get_variant_fields().concat(this.mandatory); this.mandatory = this.mandatory.concat(this.get_attributes_fields()); this.check_naming_series_based_on(); - this._super(); + super.render_dialog(); this.init_post_render_dialog_operations(); this.preset_fields_for_template(); this.dialog.$wrapper.find('.edit-full').text(__('Edit in full page for more options like assets, serial nos, batches etc.')) - }, + } - check_naming_series_based_on: function() { + check_naming_series_based_on() { if (frappe.defaults.get_default("item_naming_by") === "Naming Series") { this.mandatory = this.mandatory.filter(d => d.fieldname !== "item_code"); } - }, + } - init_post_render_dialog_operations: function() { + init_post_render_dialog_operations() { this.dialog.fields_dict.attribute_html.$wrapper.append(frappe.render_template("item_quick_entry")); this.init_for_create_variant_trigger(); this.init_for_item_template_trigger(); @@ -29,9 +29,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ this.toggle_manufacturer_fields(); this.dialog.get_field("item_template").df.hidden = 1; this.dialog.get_field("item_template").refresh(); - }, + } - register_primary_action: function() { + register_primary_action() { var me = this; this.dialog.set_primary_action(__('Save'), function() { if (me.dialog.working) return; @@ -59,9 +59,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ me.insert(variant_values); } }); - }, + } - insert: function(variant_values) { + insert(variant_values) { let me = this; return new Promise(resolve => { frappe.call({ @@ -94,9 +94,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ freeze: true }); }); - }, + } - open_doc: function() { + open_doc() { this.dialog.hide(); this.update_doc(); if (this.dialog.fields_dict.create_variant.$input.prop("checked")) { @@ -106,9 +106,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ } else { frappe.set_route('Form', this.doctype, this.doc.name); } - }, + } - get_variant_fields: function() { + get_variant_fields() { var variant_fields = [{ fieldname: "create_variant", fieldtype: "Check", @@ -130,9 +130,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ }]; return variant_fields; - }, + } - get_manufacturing_fields: function() { + get_manufacturing_fields() { this.manufacturer_fields = [{ fieldtype: 'Link', options: 'Manufacturer', @@ -148,9 +148,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ reqd: 0 }]; return this.manufacturer_fields; - }, + } - get_attributes_fields: function() { + get_attributes_fields() { var attribute_fields = [{ fieldname: 'attribute_html', fieldtype: 'HTML' @@ -158,18 +158,18 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ attribute_fields = attribute_fields.concat(this.get_manufacturing_fields()); return attribute_fields; - }, + } - init_for_create_variant_trigger: function() { + init_for_create_variant_trigger() { var me = this; this.dialog.fields_dict.create_variant.$input.on("click", function() { me.preset_fields_for_template(); me.init_post_template_trigger_operations(false, [], true); }); - }, + } - preset_fields_for_template: function() { + preset_fields_for_template() { var for_variant = this.dialog.get_value('create_variant'); // setup template field, seen and mandatory if variant @@ -195,9 +195,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ f.refresh(); }); - }, + } - init_for_item_template_trigger: function() { + init_for_item_template_trigger() { var me = this; me.dialog.fields_dict["item_template"].df.onchange = () => { @@ -228,9 +228,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ me.init_post_template_trigger_operations(false, [], true); } } - }, + } - init_post_template_trigger_operations: function(is_manufacturer, attributes, attributes_flag) { + init_post_template_trigger_operations(is_manufacturer, attributes, attributes_flag) { this.attributes = attributes; this.attribute_values = {}; this.attributes_count = attributes.length; @@ -240,23 +240,23 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ this.toggle_manufacturer_fields(); this.dialog.fields_dict.attribute_html.$wrapper.find(".attributes").toggleClass("hide-control", attributes_flag); this.dialog.fields_dict.attribute_html.$wrapper.find(".attributes-header").toggleClass("hide-control", attributes_flag); - }, + } - toggle_manufacturer_fields: function() { + toggle_manufacturer_fields() { var me = this; $.each(this.manufacturer_fields, function(i, dialog_field) { me.dialog.get_field(dialog_field.fieldname).df.hidden = !me.is_manufacturer; me.dialog.get_field(dialog_field.fieldname).df.reqd = dialog_field.fieldname == 'manufacturer' ? me.is_manufacturer : false; me.dialog.get_field(dialog_field.fieldname).refresh(); }); - }, + } - initiate_render_attributes: function() { + initiate_render_attributes() { this.dialog.fields_dict.attribute_html.$wrapper.find(".attributes").empty(); this.render_attributes(this.attributes); - }, + } - render_attributes: function(attributes) { + render_attributes(attributes) { var me = this; this.dialog.get_field('attribute_html').toggle(true); @@ -291,9 +291,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ }); } }); - }, + } - init_make_control: function(fieldtype, row) { + init_make_control(fieldtype, row) { this[row.attribute] = frappe.ui.form.make_control({ df: { "fieldtype": fieldtype, @@ -305,9 +305,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ only_input: false }); this[row.attribute].make_input(); - }, + } - init_awesomplete_for_attribute: function(row) { + init_awesomplete_for_attribute(row) { var me = this; this[row.attribute].input.awesomplete = new Awesomplete(this[row.attribute].input, { @@ -343,9 +343,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ me.attribute_values[$(e.target).attr("data-fieldname")] = e.target.value; $(e.target).closest(".frappe-control").toggleClass("has-error", e.target.value ? false : true); }); - }, + } - get_variant_doc: function() { + get_variant_doc() { var me = this; var variant_doc = {}; var attribute = this.validate_mandatory_attributes(); @@ -381,9 +381,9 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ }) } return variant_doc; - }, + } - validate_mandatory_attributes: function() { + validate_mandatory_attributes() { var me = this; var attribute = {}; var mandatory = []; @@ -404,4 +404,4 @@ frappe.ui.form.ItemQuickEntryForm = frappe.ui.form.QuickEntryForm.extend({ } return attribute; } -}); \ No newline at end of file +}; diff --git a/erpnext/public/js/utils/item_selector.js b/erpnext/public/js/utils/item_selector.js index d04c488a59d..9fc264086a3 100644 --- a/erpnext/public/js/utils/item_selector.js +++ b/erpnext/public/js/utils/item_selector.js @@ -1,5 +1,5 @@ -erpnext.ItemSelector = Class.extend({ - init: function(opts) { +erpnext.ItemSelector = class ItemSelector { + constructor(opts) { $.extend(this, opts); if (!this.item_field) { @@ -12,9 +12,9 @@ erpnext.ItemSelector = Class.extend({ this.grid = this.frm.get_field("items").grid; this.setup(); - }, + } - setup: function() { + setup() { var me = this; if(!this.grid.add_items_button) { this.grid.add_items_button = this.grid.add_custom_button(__('Add Items'), function() { @@ -26,9 +26,9 @@ erpnext.ItemSelector = Class.extend({ setTimeout(function() { me.dialog.input.focus(); }, 1000); }); } - }, + } - make_dialog: function() { + make_dialog() { this.dialog = new frappe.ui.Dialog({ title: __('Add Items') }); @@ -53,9 +53,9 @@ erpnext.ItemSelector = Class.extend({ me.timeout_id = undefined; }, 500); }); - }, + } - add_item: function(item_code) { + add_item(item_code) { // add row or update qty var added = false; @@ -82,9 +82,9 @@ erpnext.ItemSelector = Class.extend({ ]); } - }, + } - render_items: function() { + render_items() { let args = { query: this.item_query, filters: {} @@ -107,4 +107,4 @@ erpnext.ItemSelector = Class.extend({ me.dialog.results.html(frappe.render_template('item_selector', {'data':r.values})); }); } -}); \ No newline at end of file +}; diff --git a/erpnext/public/js/utils/serial_no_batch_selector.js b/erpnext/public/js/utils/serial_no_batch_selector.js index d49a8138fb5..d44c7083563 100644 --- a/erpnext/public/js/utils/serial_no_batch_selector.js +++ b/erpnext/public/js/utils/serial_no_batch_selector.js @@ -1,6 +1,6 @@ -erpnext.SerialNoBatchSelector = Class.extend({ - init: function(opts, show_dialog) { +erpnext.SerialNoBatchSelector = class SerialNoBatchSelector { + constructor(opts, show_dialog) { $.extend(this, opts); this.show_dialog = show_dialog; // frm, item, warehouse_details, has_batch, oldest @@ -12,16 +12,16 @@ erpnext.SerialNoBatchSelector = Class.extend({ if(d && d.has_serial_no && !(this.show_dialog == false)) this.has_serial_no = 1; this.setup(); - }, + } - setup: function() { + setup() { this.item_code = this.item.item_code; this.qty = this.item.qty; this.make_dialog(); this.on_close_dialog(); - }, + } - make_dialog: function() { + make_dialog() { var me = this; this.data = this.oldest ? this.oldest : []; @@ -176,15 +176,15 @@ erpnext.SerialNoBatchSelector = Class.extend({ } this.dialog.show(); - }, + } - on_close_dialog: function() { + on_close_dialog() { this.dialog.get_close_btn().on('click', () => { this.on_close && this.on_close(this.item); }); - }, + } - validate: function() { + validate() { let values = this.values; if(!values.warehouse) { frappe.throw(__("Please select a warehouse")); @@ -210,7 +210,7 @@ erpnext.SerialNoBatchSelector = Class.extend({ } return true; } - }, + } update_batch_items() { // clones an items if muliple batches are selected. @@ -233,14 +233,14 @@ erpnext.SerialNoBatchSelector = Class.extend({ 'selected_qty', this.values.warehouse); }); } - }, + } update_serial_no_item() { // just updates serial no for the item if(this.has_serial_no && !this.has_batch) { this.map_row_values(this.item, this.values, 'serial_no', 'qty'); } - }, + } update_batch_serial_no_items() { // if serial no selected is from different batches, adds new rows for each batch. @@ -281,14 +281,14 @@ erpnext.SerialNoBatchSelector = Class.extend({ }); }) } - }, + } - batch_exists: function(batch) { + batch_exists(batch) { const batches = this.frm.doc.items.map(data => data.batch_no); return (batches && in_list(batches, batch)) ? true : false; - }, + } - map_row_values: function(row, values, number, qty_field, warehouse) { + map_row_values(row, values, number, qty_field, warehouse) { row.qty = values[qty_field]; row.transfer_qty = flt(values[qty_field]) * flt(row.conversion_factor); row[number] = values[number]; @@ -301,9 +301,9 @@ erpnext.SerialNoBatchSelector = Class.extend({ } this.frm.dirty(); - }, + } - update_total_qty: function() { + update_total_qty() { let qty_field = this.dialog.fields_dict.qty; let total_qty = 0; @@ -312,9 +312,9 @@ erpnext.SerialNoBatchSelector = Class.extend({ }); qty_field.set_input(total_qty); - }, + } - get_batch_fields: function() { + get_batch_fields() { var me = this; return [ @@ -425,9 +425,9 @@ erpnext.SerialNoBatchSelector = Class.extend({ }, } ]; - }, + } - get_serial_no_fields: function() { + get_serial_no_fields() { var me = this; this.serial_list = []; @@ -510,4 +510,4 @@ erpnext.SerialNoBatchSelector = Class.extend({ } ]; } -}); +}; diff --git a/erpnext/selling/doctype/installation_note/installation_note.js b/erpnext/selling/doctype/installation_note/installation_note.js index 7fd0877d11a..ffa185baf6d 100644 --- a/erpnext/selling/doctype/installation_note/installation_note.js +++ b/erpnext/selling/doctype/installation_note/installation_note.js @@ -30,8 +30,8 @@ frappe.ui.form.on('Installation Note', { frappe.provide("erpnext.selling"); // TODO commonify this code -erpnext.selling.InstallationNote = frappe.ui.form.Controller.extend({ - refresh: function() { +erpnext.selling.InstallationNote = class InstallationNote extends frappe.ui.form.Controller { + refresh() { var me = this; if (this.frm.doc.docstatus===0) { this.frm.add_custom_button(__('From Delivery Note'), @@ -54,7 +54,7 @@ erpnext.selling.InstallationNote = frappe.ui.form.Controller.extend({ }, "fa fa-download", "btn-default" ); } - }, -}); + } +}; $.extend(cur_frm.cscript, new erpnext.selling.InstallationNote({frm: cur_frm})); \ No newline at end of file diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js index 5a0d9c90655..10606bf81e1 100644 --- a/erpnext/selling/doctype/quotation/quotation.js +++ b/erpnext/selling/doctype/quotation/quotation.js @@ -36,13 +36,13 @@ frappe.ui.form.on('Quotation', { } }); -erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({ - onload: function(doc, dt, dn) { +erpnext.selling.QuotationController = class QuotationController extends erpnext.selling.SellingController { + onload(doc, dt, dn) { var me = this; - this._super(doc, dt, dn); + super.(doc, dt, dn); - }, - party_name: function() { + } + party_name() { var me = this; erpnext.utils.get_party_details(this.frm, null, null, function() { me.apply_price_list(); @@ -51,9 +51,9 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({ if(me.frm.doc.quotation_to=="Lead" && me.frm.doc.party_name) { me.frm.trigger("get_lead_details"); } - }, - refresh: function(doc, dt, dn) { - this._super(doc, dt, dn); + } + refresh(doc, dt, dn) { + super.refresh(doc, dt, dn); doctype = doc.quotation_to == 'Customer' ? 'Customer':'Lead'; frappe.dynamic_link = {doc: this.frm.doc, fieldname: 'party_name', doctype: doctype} @@ -121,9 +121,9 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({ this.toggle_reqd_lead_customer(); - }, + } - set_dynamic_field_label: function(){ + set_dynamic_field_label(){ if (this.frm.doc.quotation_to == "Customer") { this.frm.set_df_property("party_name", "label", "Customer"); @@ -138,22 +138,22 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({ return{ query: "erpnext.controllers.queries.lead_query" } } } - }, + } - toggle_reqd_lead_customer: function() { + toggle_reqd_lead_customer() { var me = this; // to overwrite the customer_filter trigger from queries.js this.frm.toggle_reqd("party_name", this.frm.doc.quotation_to); this.frm.set_query('customer_address', this.address_query); this.frm.set_query('shipping_address_name', this.address_query); - }, + } - tc_name: function() { + tc_name() { this.get_terms(); - }, + } - address_query: function(doc) { + address_query(doc) { return { query: 'frappe.contacts.doctype.address.address.address_query', filters: { @@ -161,20 +161,20 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({ link_name: doc.party_name } }; - }, + } - validate_company_and_party: function(party_field) { + validate_company_and_party(party_field) { if(!this.frm.doc.quotation_to) { frappe.msgprint(__("Please select a value for {0} quotation_to {1}", [this.frm.doc.doctype, this.frm.doc.name])); return false; } else if (this.frm.doc.quotation_to == "Lead") { return true; } else { - return this._super(party_field); + return super.validate_company_and_party(party_field); } - }, + } - get_lead_details: function() { + get_lead_details() { var me = this; if(!this.frm.doc.quotation_to === "Lead") { return; @@ -198,7 +198,7 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({ } }) } -}); +}; cur_frm.script_manager.make(erpnext.selling.QuotationController); diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index e3b41e66fbc..d5ceca8ec83 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -102,14 +102,14 @@ frappe.ui.form.on("Sales Order Item", { } }); -erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend({ - onload: function(doc, dt, dn) { - this._super(); - }, +erpnext.selling.SalesOrderController = class SalesOrderController extends erpnext.selling.SellingController { + onload(doc, dt, dn) { + super.onload(); + } - refresh: function(doc, dt, dn) { + refresh(doc, dt, dn) { var me = this; - this._super(); + super.refresh(); let allow_delivery = false; if (doc.docstatus==1) { @@ -241,14 +241,14 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( } this.order_type(doc); - }, + } create_pick_list() { frappe.model.open_mapped_doc({ method: "erpnext.selling.doctype.sales_order.sales_order.create_pick_list", frm: this.frm }) - }, + } make_work_order() { var me = this; @@ -343,33 +343,33 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( } } }); - }, + } - order_type: function() { + order_type() { this.toggle_delivery_date(); - }, + } - tc_name: function() { + tc_name() { this.get_terms(); - }, + } - make_material_request: function() { + make_material_request() { frappe.model.open_mapped_doc({ method: "erpnext.selling.doctype.sales_order.sales_order.make_material_request", frm: this.frm }) - }, + } - skip_delivery_note: function() { + skip_delivery_note() { this.toggle_delivery_date(); - }, + } - toggle_delivery_date: function() { + toggle_delivery_date() { this.frm.fields_dict.items.grid.toggle_reqd("delivery_date", (this.frm.doc.order_type == "Sales" && !this.frm.doc.skip_delivery_note)); - }, + } - make_raw_material_request: function() { + make_raw_material_request() { var me = this; this.frm.call({ doc: this.frm.doc, @@ -390,9 +390,9 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( } } }); - }, + } - make_raw_material_request_dialog: function(r) { + make_raw_material_request_dialog(r) { var fields = [ {fieldtype:'Check', fieldname:'include_exploded_items', label: __('Include Exploded Items')}, @@ -447,9 +447,9 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( primary_action_label: __('Create') }); d.show(); - }, + } - make_delivery_note_based_on_delivery_date: function() { + make_delivery_note_based_on_delivery_date() { var me = this; var delivery_dates = []; @@ -509,51 +509,51 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( } else { this.make_delivery_note(); } - }, + } - make_delivery_note: function() { + make_delivery_note() { frappe.model.open_mapped_doc({ method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note", frm: this.frm }) - }, + } - make_sales_invoice: function() { + make_sales_invoice() { frappe.model.open_mapped_doc({ method: "erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice", frm: this.frm }) - }, + } - make_maintenance_schedule: function() { + make_maintenance_schedule() { frappe.model.open_mapped_doc({ method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_schedule", frm: this.frm }) - }, + } - make_project: function() { + make_project() { frappe.model.open_mapped_doc({ method: "erpnext.selling.doctype.sales_order.sales_order.make_project", frm: this.frm }) - }, + } - make_inter_company_order: function() { + make_inter_company_order() { frappe.model.open_mapped_doc({ method: "erpnext.selling.doctype.sales_order.sales_order.make_inter_company_purchase_order", frm: this.frm }); - }, + } - make_maintenance_visit: function() { + make_maintenance_visit() { frappe.model.open_mapped_doc({ method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_visit", frm: this.frm }) - }, + } - make_purchase_order: function(){ + make_purchase_order(){ let pending_items = this.frm.doc.items.some((item) =>{ let pending_qty = flt(item.stock_qty) - flt(item.ordered_qty); return pending_qty > 0; @@ -690,9 +690,9 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( dialog.get_field("items_for_po").refresh(); dialog.wrapper.find('.grid-heading-row .grid-row-check').click(); dialog.show(); - }, + } - hold_sales_order: function(){ + hold_sales_order(){ var me = this; var d = new frappe.ui.Dialog({ title: __('Reason for Hold'), @@ -724,11 +724,11 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( } }); d.show(); - }, - close_sales_order: function(){ + } + close_sales_order(){ this.frm.cscript.update_status("Close", "Closed") - }, - update_status: function(label, status){ + } + update_status(label, status){ var doc = this.frm.doc; var me = this; frappe.ui.form.is_saving = true; @@ -743,5 +743,5 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( } }); } -}); +}; $.extend(cur_frm.cscript, new erpnext.selling.SalesOrderController({frm: cur_frm})); diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js index 04285735abd..eb02867720c 100644 --- a/erpnext/selling/sales_common.js +++ b/erpnext/selling/sales_common.js @@ -9,15 +9,15 @@ cur_frm.cscript.tax_table = "Sales Taxes and Charges"; cur_frm.email_field = "contact_email"; frappe.provide("erpnext.selling"); -erpnext.selling.SellingController = erpnext.TransactionController.extend({ - setup: function() { - this._super(); +erpnext.selling.SellingController = class SellingController extends erpnext.TransactionController { + setup() { + super.setup(); this.frm.add_fetch("sales_partner", "commission_rate", "commission_rate"); this.frm.add_fetch("sales_person", "commission_rate", "commission_rate"); - }, + } - onload: function() { - this._super(); + onload() { + super.onload(); this.setup_queries(); this.frm.set_query('shipping_rule', function() { return { @@ -26,9 +26,9 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ } }; }); - }, + } - setup_queries: function() { + setup_queries() { var me = this; $.each([["customer", "customer"], @@ -81,10 +81,10 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ }); } - }, + } - refresh: function() { - this._super(); + refresh() { + super.refresh(); frappe.dynamic_link = {doc: this.frm.doc, fieldname: 'customer', doctype: 'Customer'} @@ -95,45 +95,45 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ this.frm.toggle_display("packing_list", packing_list_exists ? true : false); } this.toggle_editable_price_list_rate(); - }, + } - customer: function() { + customer() { var me = this; erpnext.utils.get_party_details(this.frm, null, null, function() { me.apply_price_list(); }); - }, + } - customer_address: function() { + customer_address() { erpnext.utils.get_address_display(this.frm, "customer_address"); erpnext.utils.set_taxes_from_address(this.frm, "customer_address", "customer_address", "shipping_address_name"); - }, + } - shipping_address_name: function() { + shipping_address_name() { erpnext.utils.get_address_display(this.frm, "shipping_address_name", "shipping_address"); erpnext.utils.set_taxes_from_address(this.frm, "shipping_address_name", "customer_address", "shipping_address_name"); - }, + } - sales_partner: function() { + sales_partner() { this.apply_pricing_rule(); - }, + } - campaign: function() { + campaign() { this.apply_pricing_rule(); - }, + } - selling_price_list: function() { + selling_price_list() { this.apply_price_list(); this.set_dynamic_labels(); - }, + } - discount_percentage: function(doc, cdt, cdn) { + discount_percentage(doc, cdt, cdn) { var item = frappe.get_doc(cdt, cdn); item.discount_amount = 0.0; this.apply_discount_on_item(doc, cdt, cdn, 'discount_percentage'); - }, + } - discount_amount: function(doc, cdt, cdn) { + discount_amount(doc, cdt, cdn) { if(doc.name === cdn) { return; @@ -142,9 +142,9 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ var item = frappe.get_doc(cdt, cdn); item.discount_percentage = 0.0; this.apply_discount_on_item(doc, cdt, cdn, 'discount_amount'); - }, + } - apply_discount_on_item: function(doc, cdt, cdn, field) { + apply_discount_on_item(doc, cdt, cdn, field) { var item = frappe.get_doc(cdt, cdn); if(!item.price_list_rate) { item[field] = 0.0; @@ -152,14 +152,14 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ this.price_list_rate(doc, cdt, cdn); } this.set_gross_profit(item); - }, + } - commission_rate: function() { + commission_rate() { this.calculate_commission(); refresh_field("total_commission"); - }, + } - total_commission: function() { + total_commission() { if(this.frm.doc.base_net_total) { frappe.model.round_floats_in(this.frm.doc, ["base_net_total", "total_commission"]); @@ -175,9 +175,9 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ this.frm.set_value("commission_rate", flt(this.frm.doc.total_commission * 100.0 / this.frm.doc.base_net_total)); } - }, + } - allocated_percentage: function(doc, cdt, cdn) { + allocated_percentage(doc, cdt, cdn) { var sales_person = frappe.get_doc(cdt, cdn); if(sales_person.allocated_percentage) { @@ -193,15 +193,15 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ refresh_field(["allocated_percentage", "allocated_amount", "commission_rate","incentives"], sales_person.name, sales_person.parentfield); } - }, + } - sales_person: function(doc, cdt, cdn) { + sales_person(doc, cdt, cdn) { var row = frappe.get_doc(cdt, cdn); this.calculate_incentive(row); refresh_field("incentives",row.name,row.parentfield); - }, + } - warehouse: function(doc, cdt, cdn) { + warehouse(doc, cdt, cdn) { var me = this; var item = frappe.get_doc(cdt, cdn); @@ -239,18 +239,18 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ }); } }) - }, + } - toggle_editable_price_list_rate: function() { + toggle_editable_price_list_rate() { var df = frappe.meta.get_docfield(this.frm.doc.doctype + " Item", "price_list_rate", this.frm.doc.name); var editable_price_list_rate = cint(frappe.defaults.get_default("editable_price_list_rate")); if(df && editable_price_list_rate) { df.read_only = 0; } - }, + } - calculate_commission: function() { + calculate_commission() { if(this.frm.fields_dict.commission_rate) { if(this.frm.doc.commission_rate > 100) { var msg = __(frappe.meta.get_label(this.frm.doc.doctype, "commission_rate", this.frm.doc.name)) + @@ -262,9 +262,9 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ this.frm.doc.total_commission = flt(this.frm.doc.base_net_total * this.frm.doc.commission_rate / 100.0, precision("total_commission")); } - }, + } - calculate_contribution: function() { + calculate_contribution() { var me = this; $.each(this.frm.doc.doctype.sales_team || [], function(i, sales_person) { frappe.model.round_floats_in(sales_person); @@ -274,18 +274,18 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ precision("allocated_amount", sales_person)); } }); - }, + } - calculate_incentive: function(row) { + calculate_incentive(row) { if(row.allocated_amount) { row.incentives = flt( row.allocated_amount * row.commission_rate / 100.0, precision("incentives", row)); } - }, + } - batch_no: function(doc, cdt, cdn) { + batch_no(doc, cdt, cdn) { var me = this; var item = frappe.get_doc(cdt, cdn); @@ -312,14 +312,14 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ }); } }) - }, + } - set_dynamic_labels: function() { - this._super(); + set_dynamic_labels() { + super.set_dynamic_labels(); this.set_product_bundle_help(this.frm.doc); - }, + } - set_product_bundle_help: function(doc) { + set_product_bundle_help(doc) { if(!cur_frm.fields_dict.packing_list) return; if ((doc.packed_items || []).length) { $(cur_frm.fields_dict.packing_list.row.wrapper).toggle(true); @@ -337,9 +337,9 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ } } refresh_field('product_bundle_help'); - }, + } - company_address: function() { + company_address() { var me = this; if(this.frm.doc.company_address) { frappe.call({ @@ -354,42 +354,42 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ } else { this.frm.set_value("company_address_display", ""); } - }, + } - conversion_factor: function(doc, cdt, cdn, dont_fetch_price_list_rate) { - this._super(doc, cdt, cdn, dont_fetch_price_list_rate); + conversion_factor(doc, cdt, cdn, dont_fetch_price_list_rate) { + super.conversion_factor(doc, cdt, cdn, dont_fetch_price_list_rate); if(frappe.meta.get_docfield(cdt, "stock_qty", cdn) && in_list(['Delivery Note', 'Sales Invoice'], doc.doctype)) { if (doc.doctype === 'Sales Invoice' && (!doc.update_stock)) return; this.set_batch_number(cdt, cdn); } - }, + } - batch_no: function(doc, cdt, cdn) { - this._super(doc, cdt, cdn); - }, + batch_no(doc, cdt, cdn) { + super.batch_no(doc, cdt, cdn); + } - qty: function(doc, cdt, cdn) { - this._super(doc, cdt, cdn); + qty(doc, cdt, cdn) { + super.qty(doc, cdt, cdn); if(in_list(['Delivery Note', 'Sales Invoice'], doc.doctype)) { if (doc.doctype === 'Sales Invoice' && (!doc.update_stock)) return; this.set_batch_number(cdt, cdn); } - }, + } /* Determine appropriate batch number and set it in the form. * @param {string} cdt - Document Doctype * @param {string} cdn - Document name */ - set_batch_number: function(cdt, cdn) { + set_batch_number(cdt, cdn) { const doc = frappe.get_doc(cdt, cdn); if (doc && doc.has_batch_no && doc.warehouse) { this._set_batch_number(doc); } - }, + } - _set_batch_number: function(doc) { + _set_batch_number(doc) { let args = {'item_code': doc.item_code, 'warehouse': doc.warehouse, 'qty': flt(doc.qty) * flt(doc.conversion_factor)}; if (doc.has_serial_no && doc.serial_no) { args['serial_no'] = doc.serial_no @@ -406,9 +406,9 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ } } }); - }, + } - update_auto_repeat_reference: function(doc) { + update_auto_repeat_reference(doc) { if (doc.auto_repeat) { frappe.call({ method:"frappe.automation.doctype.auto_repeat.auto_repeat.update_reference", @@ -426,7 +426,7 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ }) } } -}); +}; frappe.ui.form.on(cur_frm.doctype,"project", function(frm) { if(in_list(["Delivery Note", "Sales Invoice"], frm.doc.doctype)) { diff --git a/erpnext/stock/dashboard/item_dashboard.js b/erpnext/stock/dashboard/item_dashboard.js index 95cb92b1b36..30e0b762bd5 100644 --- a/erpnext/stock/dashboard/item_dashboard.js +++ b/erpnext/stock/dashboard/item_dashboard.js @@ -1,11 +1,11 @@ frappe.provide('erpnext.stock'); -erpnext.stock.ItemDashboard = Class.extend({ - init: function(opts) { +erpnext.stock.ItemDashboard = class ItemDashboard { + constructor(opts) { $.extend(this, opts); this.make(); - }, - make: function() { + } + make() { var me = this; this.start = 0; if(!this.sort_by) { @@ -73,8 +73,8 @@ erpnext.stock.ItemDashboard = Class.extend({ me.refresh(); }); - }, - refresh: function() { + } + refresh() { if(this.before_refresh) { this.before_refresh(); } @@ -98,8 +98,8 @@ erpnext.stock.ItemDashboard = Class.extend({ me.render(r.message); } }); - }, - render: function(data) { + } + render(data) { if (this.start===0) { this.max_count = 0; this.result.empty(); @@ -135,9 +135,9 @@ erpnext.stock.ItemDashboard = Class.extend({ $(`