4 changed files with 48 additions and 2 deletions
			
			
		| @ -0,0 +1,35 @@ | |||
| /** @odoo-module */ | |||
| 
 | |||
| import { Order } from "@point_of_sale/app/store/models"; | |||
| import { patch } from "@web/core/utils/patch"; | |||
| import RestrictStockPopup from "@pos_restrict_product_stock/js/RestrictStockPopup" | |||
| 
 | |||
| patch(Order.prototype, { | |||
|     async pay() { | |||
|              var type = this.pos.config.stock_type | |||
|              const pay = true | |||
|              const body = [] | |||
|              const pro_id = false | |||
|             for (const line of this.orderlines) { | |||
|              if (line.pos.config.is_restrict_product && ((type == 'qty_on_hand') && (line.product.qty_available <= 0)) | ((type == 'virtual_qty') && (line.product.virtual_available <= 0)) | | |||
|                                      ((line.product.qty_available <= 0) && (line.product.virtual_available <= 0))) { | |||
|                                      // If the product restriction is activated in the settings and quantity is out stock, it show the restrict popup.
 | |||
|                                 body.push(line.product.display_name) | |||
|                  } | |||
|              } | |||
|              if (body.length > 0) { // Check if body has items
 | |||
|                      const confirmed = await this.pos.popup.add(RestrictStockPopup, { | |||
|                          body: body, | |||
|                          pro_id: pro_id | |||
|                      }); | |||
|                      if (confirmed == true) { | |||
|                          return super.pay(); // Proceed with payment
 | |||
|                      } else { | |||
|                           return ; | |||
|                      } | |||
|                  } else { | |||
|                      return super.pay(); // No restrictions, proceed with payment
 | |||
|                  } | |||
|              } | |||
| 
 | |||
|     }) | |||
					Loading…
					
					
				
		Reference in new issue