POS Make Payment dialog box fix #1441
This commit is contained in:
parent
d5886f36af
commit
ed8a845e83
@ -104,7 +104,7 @@ erpnext.POS = Class.extend({
|
|||||||
</div>\
|
</div>\
|
||||||
</div>\
|
</div>\
|
||||||
</div></div>');
|
</div></div>');
|
||||||
|
|
||||||
this.check_transaction_type();
|
this.check_transaction_type();
|
||||||
this.make();
|
this.make();
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ erpnext.POS = Class.extend({
|
|||||||
set_transaction_defaults: function(party, export_or_import) {
|
set_transaction_defaults: function(party, export_or_import) {
|
||||||
var me = this;
|
var me = this;
|
||||||
this.party = party;
|
this.party = party;
|
||||||
this.price_list = (party == "Customer" ?
|
this.price_list = (party == "Customer" ?
|
||||||
this.frm.doc.selling_price_list : this.frm.doc.buying_price_list);
|
this.frm.doc.selling_price_list : this.frm.doc.buying_price_list);
|
||||||
this.price_list_field = (party == "Customer" ? "selling_price_list" : "buying_price_list");
|
this.price_list_field = (party == "Customer" ? "selling_price_list" : "buying_price_list");
|
||||||
this.sales_or_purchase = (party == "Customer" ? "Sales" : "Purchase");
|
this.sales_or_purchase = (party == "Customer" ? "Sales" : "Purchase");
|
||||||
@ -169,7 +169,7 @@ erpnext.POS = Class.extend({
|
|||||||
this.party_field.make_input();
|
this.party_field.make_input();
|
||||||
this.party_field.$input.on("change", function() {
|
this.party_field.$input.on("change", function() {
|
||||||
if(!me.party_field.autocomplete_open)
|
if(!me.party_field.autocomplete_open)
|
||||||
frappe.model.set_value(me.frm.doctype, me.frm.docname,
|
frappe.model.set_value(me.frm.doctype, me.frm.docname,
|
||||||
me.party.toLowerCase(), this.value);
|
me.party.toLowerCase(), this.value);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -258,7 +258,7 @@ erpnext.POS = Class.extend({
|
|||||||
<div class="small">%(item_code)s</div>\
|
<div class="small">%(item_code)s</div>\
|
||||||
<div class="small">%(item_name)s</div>\
|
<div class="small">%(item_name)s</div>\
|
||||||
<div class="small">%(item_price)s</div>\
|
<div class="small">%(item_price)s</div>\
|
||||||
</div>',
|
</div>',
|
||||||
{
|
{
|
||||||
item_code: obj.name,
|
item_code: obj.name,
|
||||||
item_price: format_currency(obj.price_list_rate, obj.currency),
|
item_price: format_currency(obj.price_list_rate, obj.currency),
|
||||||
@ -271,10 +271,10 @@ erpnext.POS = Class.extend({
|
|||||||
// if form is local then allow this function
|
// if form is local then allow this function
|
||||||
$(me.wrapper).find("div.pos-item").on("click", function() {
|
$(me.wrapper).find("div.pos-item").on("click", function() {
|
||||||
if(me.frm.doc.docstatus==0) {
|
if(me.frm.doc.docstatus==0) {
|
||||||
if(!me.frm.doc[me.party.toLowerCase()] && ((me.frm.doctype == "Quotation" &&
|
if(!me.frm.doc[me.party.toLowerCase()] && ((me.frm.doctype == "Quotation" &&
|
||||||
me.frm.doc.quotation_to == "Customer")
|
me.frm.doc.quotation_to == "Customer")
|
||||||
|| me.frm.doctype != "Quotation")) {
|
|| me.frm.doctype != "Quotation")) {
|
||||||
msgprint("Please select {0} first.", [me.party]);
|
msgprint(__("Please select {0} first.", [me.party]));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -290,7 +290,7 @@ erpnext.POS = Class.extend({
|
|||||||
|
|
||||||
// get no_of_items
|
// get no_of_items
|
||||||
var no_of_items = me.wrapper.find("#cart tbody tr").length;
|
var no_of_items = me.wrapper.find("#cart tbody tr").length;
|
||||||
|
|
||||||
// check whether the item is already added
|
// check whether the item is already added
|
||||||
if (no_of_items != 0) {
|
if (no_of_items != 0) {
|
||||||
$.each(this.frm.doc[this.frm.cscript.fname] || [], function(i, d) {
|
$.each(this.frm.doc[this.frm.cscript.fname] || [], function(i, d) {
|
||||||
@ -303,7 +303,7 @@ erpnext.POS = Class.extend({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// if item not found then add new item
|
// if item not found then add new item
|
||||||
if (!caught)
|
if (!caught)
|
||||||
this.add_new_item_to_grid(item_code, serial_no);
|
this.add_new_item_to_grid(item_code, serial_no);
|
||||||
@ -314,7 +314,7 @@ erpnext.POS = Class.extend({
|
|||||||
add_new_item_to_grid: function(item_code, serial_no) {
|
add_new_item_to_grid: function(item_code, serial_no) {
|
||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
var child = frappe.model.add_child(me.frm.doc, this.frm.doctype + " Item",
|
var child = frappe.model.add_child(me.frm.doc, this.frm.doctype + " Item",
|
||||||
this.frm.cscript.fname);
|
this.frm.cscript.fname);
|
||||||
child.item_code = item_code;
|
child.item_code = item_code;
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ erpnext.POS = Class.extend({
|
|||||||
$(this.wrapper).find(".tax-table")
|
$(this.wrapper).find(".tax-table")
|
||||||
.toggle((taxes && taxes.length) ? true : false)
|
.toggle((taxes && taxes.length) ? true : false)
|
||||||
.find("tbody").empty();
|
.find("tbody").empty();
|
||||||
|
|
||||||
$.each(taxes, function(i, d) {
|
$.each(taxes, function(i, d) {
|
||||||
if (d.tax_amount) {
|
if (d.tax_amount) {
|
||||||
$(repl('<tr>\
|
$(repl('<tr>\
|
||||||
@ -432,7 +432,7 @@ erpnext.POS = Class.extend({
|
|||||||
<tr>', {
|
<tr>', {
|
||||||
description: d.description,
|
description: d.description,
|
||||||
rate: ((d.charge_type == "Actual") ? '' : ("(" + d.rate + "%)")),
|
rate: ((d.charge_type == "Actual") ? '' : ("(" + d.rate + "%)")),
|
||||||
tax_amount: format_currency(flt(d.tax_amount)/flt(me.frm.doc.conversion_rate),
|
tax_amount: format_currency(flt(d.tax_amount)/flt(me.frm.doc.conversion_rate),
|
||||||
me.frm.doc.currency)
|
me.frm.doc.currency)
|
||||||
})).appendTo(".tax-table tbody");
|
})).appendTo(".tax-table tbody");
|
||||||
}
|
}
|
||||||
@ -440,14 +440,14 @@ erpnext.POS = Class.extend({
|
|||||||
},
|
},
|
||||||
set_totals: function() {
|
set_totals: function() {
|
||||||
var me = this;
|
var me = this;
|
||||||
this.wrapper.find(".net-total").text(format_currency(this.frm.doc[this.net_total],
|
this.wrapper.find(".net-total").text(format_currency(this.frm.doc[this.net_total],
|
||||||
me.frm.doc.currency));
|
me.frm.doc.currency));
|
||||||
this.wrapper.find(".grand-total").text(format_currency(this.frm.doc[this.grand_total],
|
this.wrapper.find(".grand-total").text(format_currency(this.frm.doc[this.grand_total],
|
||||||
me.frm.doc.currency));
|
me.frm.doc.currency));
|
||||||
|
|
||||||
$(".paid-amount-area").toggle(!!this.frm.doc.paid_amount);
|
$(".paid-amount-area").toggle(!!this.frm.doc.paid_amount);
|
||||||
if(this.frm.doc.paid_amount) {
|
if(this.frm.doc.paid_amount) {
|
||||||
this.wrapper.find(".paid-amount").text(format_currency(this.frm.doc.paid_amount,
|
this.wrapper.find(".paid-amount").text(format_currency(this.frm.doc.paid_amount,
|
||||||
me.frm.doc.currency));
|
me.frm.doc.currency));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -498,7 +498,7 @@ erpnext.POS = Class.extend({
|
|||||||
$(this.wrapper)
|
$(this.wrapper)
|
||||||
.find(".remove-items, .make-payment, .increase-qty, .decrease-qty")
|
.find(".remove-items, .make-payment, .increase-qty, .decrease-qty")
|
||||||
.toggle(this.frm.doc.docstatus===0);
|
.toggle(this.frm.doc.docstatus===0);
|
||||||
|
|
||||||
$(this.wrapper).find('input, button').prop("disabled", !(this.frm.doc.docstatus===0));
|
$(this.wrapper).find('input, button').prop("disabled", !(this.frm.doc.docstatus===0));
|
||||||
},
|
},
|
||||||
hide_payment_button: function() {
|
hide_payment_button: function() {
|
||||||
@ -562,15 +562,16 @@ erpnext.POS = Class.extend({
|
|||||||
var me = this;
|
var me = this;
|
||||||
var no_of_items = $(this.wrapper).find("#cart tbody tr").length;
|
var no_of_items = $(this.wrapper).find("#cart tbody tr").length;
|
||||||
var mode_of_payment = [];
|
var mode_of_payment = [];
|
||||||
|
|
||||||
if (no_of_items == 0)
|
if (no_of_items == 0)
|
||||||
msgprint(__("Payment cannot be made for empty cart"));
|
msgprint(__("Payment cannot be made for empty cart"));
|
||||||
else {
|
else {
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: 'erpnext.accounts.doctype.sales_invoice.pos.get_mode_of_payment',
|
method: 'erpnext.accounts.doctype.sales_invoice.pos.get_mode_of_payment',
|
||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
if(!r.message.length) {
|
if(!r.message) {
|
||||||
msgprint(__("Please add to Modes of Payment from Setup."))
|
msgprint(__("Please add to Modes of Payment from Setup."))
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
for (x=0; x<=r.message.length - 1; x++) {
|
for (x=0; x<=r.message.length - 1; x++) {
|
||||||
mode_of_payment.push(r.message[x].name);
|
mode_of_payment.push(r.message[x].name);
|
||||||
@ -579,10 +580,10 @@ erpnext.POS = Class.extend({
|
|||||||
// show payment wizard
|
// show payment wizard
|
||||||
var dialog = new frappe.ui.Dialog({
|
var dialog = new frappe.ui.Dialog({
|
||||||
width: 400,
|
width: 400,
|
||||||
title: 'Payment',
|
title: 'Payment',
|
||||||
fields: [
|
fields: [
|
||||||
{fieldtype:'Data', fieldname:'total_amount', label:'Total Amount', read_only:1},
|
{fieldtype:'Data', fieldname:'total_amount', label:'Total Amount', read_only:1},
|
||||||
{fieldtype:'Select', fieldname:'mode_of_payment', label:'Mode of Payment',
|
{fieldtype:'Select', fieldname:'mode_of_payment', label:'Mode of Payment',
|
||||||
options:mode_of_payment.join('\n'), reqd: 1},
|
options:mode_of_payment.join('\n'), reqd: 1},
|
||||||
{fieldtype:'Button', fieldname:'pay', label:'Pay'}
|
{fieldtype:'Button', fieldname:'pay', label:'Pay'}
|
||||||
]
|
]
|
||||||
@ -592,7 +593,7 @@ erpnext.POS = Class.extend({
|
|||||||
});
|
});
|
||||||
dialog.show();
|
dialog.show();
|
||||||
dialog.get_input("total_amount").prop("disabled", true);
|
dialog.get_input("total_amount").prop("disabled", true);
|
||||||
|
|
||||||
dialog.fields_dict.pay.input.onclick = function() {
|
dialog.fields_dict.pay.input.onclick = function() {
|
||||||
me.frm.set_value("mode_of_payment", dialog.get_values().mode_of_payment);
|
me.frm.set_value("mode_of_payment", dialog.get_values().mode_of_payment);
|
||||||
me.frm.set_value("paid_amount", dialog.get_values().total_amount);
|
me.frm.set_value("paid_amount", dialog.get_values().total_amount);
|
||||||
|
Loading…
Reference in New Issue
Block a user