Merge pull request #12739 from jay-parikh/hotfix
Enable/Disable Discount in POS using POS Profile #11748
This commit is contained in:
commit
cf6360d825
@ -254,6 +254,36 @@
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "allow_user_to_edit_discount",
|
||||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Allow user to edit Discount",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
@ -1476,7 +1506,7 @@
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2018-01-03 17:30:45.198147",
|
||||
"modified": "2018-01-31 19:33:11.765731",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "POS Profile",
|
||||
|
@ -249,7 +249,8 @@ class SalesInvoice(SellingController):
|
||||
if pos:
|
||||
return {
|
||||
"print_format": pos.get("print_format_for_online"),
|
||||
"allow_edit_rate": pos.get("allow_user_to_edit_rate")
|
||||
"allow_edit_rate": pos.get("allow_user_to_edit_rate"),
|
||||
"allow_edit_discount": pos.get("allow_user_to_edit_discount")
|
||||
}
|
||||
|
||||
def update_time_sheet(self, sales_invoice):
|
||||
|
@ -464,6 +464,7 @@ erpnext.pos.PointOfSale = class PointOfSale {
|
||||
if (r.message) {
|
||||
this.frm.meta.default_print_format = r.message.print_format || 'POS Invoice';
|
||||
this.frm.allow_edit_rate = r.message.allow_edit_rate;
|
||||
this.frm.allow_edit_discount = r.message.allow_edit_discount;
|
||||
}
|
||||
}
|
||||
|
||||
@ -553,9 +554,9 @@ class POSCart {
|
||||
<div class="taxes-and-totals">
|
||||
${this.get_taxes_and_totals()}
|
||||
</div>
|
||||
<div class="discount-amount">
|
||||
${this.get_discount_amount()}
|
||||
</div>
|
||||
<div class="discount-amount">`+
|
||||
(!this.frm.allow_edit_discount ? `` : `${this.get_discount_amount()}`)+
|
||||
`</div>
|
||||
<div class="grand-total">
|
||||
${this.get_grand_total()}
|
||||
</div>
|
||||
@ -584,6 +585,7 @@ class POSCart {
|
||||
this.numpad && this.numpad.reset_value();
|
||||
this.customer_field.set_value("");
|
||||
|
||||
this.$discount_amount.find('input:text').val('');
|
||||
this.wrapper.find('.grand-total-value').text(
|
||||
format_currency(this.frm.doc.grand_total, this.frm.currency));
|
||||
this.wrapper.find('.rounded-total-value').text(
|
||||
@ -714,6 +716,17 @@ class POSCart {
|
||||
this.customer_field.set_value(this.frm.doc.customer);
|
||||
}
|
||||
|
||||
disable_numpad_control() {
|
||||
let disabled_btns = [];
|
||||
if(!this.frm.allow_edit_rate) {
|
||||
disabled_btns.push('Rate');
|
||||
}
|
||||
if(!this.frm.allow_edit_discount) {
|
||||
disabled_btns.push('Disc');
|
||||
}
|
||||
return disabled_btns;
|
||||
}
|
||||
|
||||
make_numpad() {
|
||||
this.numpad = new NumberPad({
|
||||
button_array: [
|
||||
@ -728,7 +741,7 @@ class POSCart {
|
||||
disable_highlight: ['Qty', 'Disc', 'Rate', 'Pay'],
|
||||
reset_btns: ['Qty', 'Disc', 'Rate', 'Pay'],
|
||||
del_btn: 'Del',
|
||||
disable_btns: !this.frm.allow_edit_rate ? ['Rate']: [],
|
||||
disable_btns: this.disable_numpad_control(),
|
||||
wrapper: this.wrapper.find('.number-pad-container'),
|
||||
onclick: (btn_value) => {
|
||||
// on click
|
||||
@ -1300,13 +1313,15 @@ class NumberPad {
|
||||
|
||||
this.set_class();
|
||||
|
||||
this.disable_btns.forEach((btn) => {
|
||||
const $btn = this.get_btn(btn);
|
||||
$btn.prop("disabled", true)
|
||||
$btn.hover(() => {
|
||||
$btn.css('cursor','not-allowed');
|
||||
if(this.disable_btns) {
|
||||
this.disable_btns.forEach((btn) => {
|
||||
const $btn = this.get_btn(btn);
|
||||
$btn.prop("disabled", true)
|
||||
$btn.hover(() => {
|
||||
$btn.css('cursor','not-allowed');
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
set_class() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user