Merge pull request #12739 from jay-parikh/hotfix

Enable/Disable Discount in POS using POS Profile #11748
This commit is contained in:
rohitwaghchaure 2018-02-02 13:12:38 +05:30 committed by GitHub
commit cf6360d825
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 58 additions and 12 deletions

View File

@ -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",

View File

@ -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):

View File

@ -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() {