7 changed files with 80 additions and 90 deletions
@ -0,0 +1,25 @@ |
|||
/** @odoo-module **/ |
|||
import PaymentScreen from 'point_of_sale.PaymentScreen'; |
|||
import Registries from 'point_of_sale.Registries'; |
|||
export const PosLoyaltyPaymentScreen = (PaymentScreen) => |
|||
class extends PaymentScreen { |
|||
//@override
|
|||
async validateOrder(isForceValidate) { |
|||
const order = this.currentOrder; |
|||
const hasWashingType = order.get_orderlines().some(line => line.washingType); |
|||
if (hasWashingType && !order.get_partner()) { |
|||
const { confirmed } = await this.showPopup('ConfirmPopup', { |
|||
title: this.env._t('Please select the Customer'), |
|||
body: this.env._t( |
|||
'You need to select the customer for the order contains laundry products.' |
|||
), |
|||
}); |
|||
if (confirmed) { |
|||
this.selectPartner(); |
|||
} |
|||
return false |
|||
} |
|||
await super.validateOrder(...arguments); |
|||
} |
|||
}; |
|||
Registries.Component.extend(PaymentScreen, PosLoyaltyPaymentScreen); |
@ -1,43 +0,0 @@ |
|||
/** @odoo-module **/ |
|||
|
|||
import ProductScreen from 'point_of_sale.ProductScreen'; |
|||
import Registries from 'point_of_sale.Registries'; |
|||
|
|||
export const PoSSaleBeProductScreen = (ProductScreen) => |
|||
class extends ProductScreen { |
|||
async onClickPartner() { |
|||
// Override to check whether the laundry type already is added
|
|||
const currentPartner = this.currentOrder.get_partner(); |
|||
if (currentPartner && this.currentOrder.getHasRefundLines()) { |
|||
this.showPopup('ErrorPopup', { |
|||
title: this.env._t("Can't change customer"), |
|||
body: _.str.sprintf( |
|||
this.env._t( |
|||
"This order already has refund lines for %s. We can't change the customer associated to it. Create a new order for the new customer." |
|||
), |
|||
currentPartner.name |
|||
), |
|||
}); |
|||
return; |
|||
} |
|||
const { confirmed, payload: newPartner } = await this.showTempScreen( |
|||
'PartnerListScreen', |
|||
{ partner: currentPartner } |
|||
); |
|||
if (confirmed) { |
|||
this.currentOrder.set_partner(newPartner); |
|||
var washing=0 |
|||
for (let line of this.currentOrder.orderlines) { |
|||
if (line.get_washingType()) |
|||
{ |
|||
washing=1 |
|||
} |
|||
} |
|||
if (washing==0) |
|||
{ |
|||
this.currentOrder.updatePricelist(newPartner); |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
Registries.Component.extend(ProductScreen, PoSSaleBeProductScreen); |
Loading…
Reference in new issue