brotherton-erpnext/erpnext/public/js/controllers/stock_controller.js

86 lines
2.4 KiB
JavaScript
Raw Normal View History

// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
2013-01-11 13:55:46 +00:00
2014-02-14 10:17:51 +00:00
frappe.provide("erpnext.stock");
2013-01-11 13:55:46 +00:00
2014-02-14 10:17:51 +00:00
erpnext.stock.StockController = frappe.ui.form.Controller.extend({
2014-06-24 13:23:04 +00:00
onload: function() {
// warehouse query if company
if (this.frm.fields_dict.company) {
this.setup_warehouse_query();
}
},
setup_warehouse_query: function() {
var me = this;
2014-06-25 07:59:43 +00:00
var warehouse_query_method = function() {
return erpnext.queries.warehouse(me.frm.doc);
};
2014-06-24 13:23:04 +00:00
var _set_warehouse_query = function(doctype, parentfield) {
var warehouse_link_fields = frappe.meta.get_docfields(doctype, me.frm.doc.name,
{"fieldtype": "Link", "options": "Warehouse"});
$.each(warehouse_link_fields, function(i, df) {
2014-06-25 07:59:43 +00:00
if(parentfield) {
me.frm.set_query(df.fieldname, parentfield, warehouse_query_method);
} else {
me.frm.set_query(df.fieldname, warehouse_query_method);
}
2014-06-24 13:23:04 +00:00
});
};
_set_warehouse_query(me.frm.doc.doctype);
// warehouse field in tables
var table_fields = frappe.meta.get_docfields(me.frm.doc.doctype, me.frm.doc.name,
{"fieldtype": "Table"});
$.each(table_fields, function(i, df) {
_set_warehouse_query(df.options, df.fieldname);
});
},
2013-01-11 13:55:46 +00:00
show_stock_ledger: function() {
var me = this;
if(this.frm.doc.docstatus===1) {
2014-12-16 11:49:36 +00:00
cur_frm.add_custom_button(__("Stock Ledger"), function() {
2014-02-14 10:17:51 +00:00
frappe.route_options = {
voucher_no: me.frm.doc.name,
from_date: me.frm.doc.posting_date,
to_date: me.frm.doc.posting_date,
company: me.frm.doc.company
};
2014-02-14 10:17:51 +00:00
frappe.set_route("query-report", "Stock Ledger");
}, "icon-bar-chart");
}
2014-06-24 13:23:04 +00:00
},
2013-10-17 11:31:14 +00:00
show_general_ledger: function() {
var me = this;
2014-06-24 13:23:04 +00:00
if(this.frm.doc.docstatus===1 && cint(frappe.defaults.get_default("auto_accounting_for_stock"))) {
2014-12-16 11:49:36 +00:00
cur_frm.add_custom_button(__('Accounting Ledger'), function() {
2014-02-14 10:17:51 +00:00
frappe.route_options = {
voucher_no: me.frm.doc.name,
from_date: me.frm.doc.posting_date,
to_date: me.frm.doc.posting_date,
2014-01-03 07:00:24 +00:00
company: me.frm.doc.company,
group_by_voucher: false
};
2014-02-14 10:17:51 +00:00
frappe.set_route("query-report", "General Ledger");
2013-11-15 08:25:45 +00:00
}, "icon-table");
}
2013-10-17 11:31:14 +00:00
},
copy_account_in_all_row: function(doc, dt, dn, fieldname) {
var d = locals[dt][dn];
if(d[fieldname]){
2014-12-26 07:45:21 +00:00
var cl = doc["items"] || [];
2013-10-17 11:31:14 +00:00
for(var i = 0; i < cl.length; i++) {
if(!cl[i][fieldname]) cl[i][fieldname] = d[fieldname];
}
}
2014-12-26 07:45:21 +00:00
refresh_field("items");
2013-01-11 13:55:46 +00:00
}
2014-06-24 13:23:04 +00:00
});