select partner by pressing +, fixed delete order without popup
This commit is contained in:
parent
671a9b1ebc
commit
459b565a94
|
|
@ -1,24 +1,50 @@
|
|||
// @odoo-module
|
||||
|
||||
import { Component } from "@odoo/owl";
|
||||
import { useService } from "@web/core/utils/hooks";
|
||||
import { usePos } from "@point_of_sale/app/store/pos_hook";
|
||||
import { _t } from "@web/core/l10n/translation";
|
||||
import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup";
|
||||
|
||||
export class OwsPosCustomerSidebar extends Component {
|
||||
static template = "open_workshop.OwsPosCustomerSidebar";
|
||||
|
||||
setup() {
|
||||
this.pos = usePos();
|
||||
this.popup = useService("popup");
|
||||
}
|
||||
|
||||
addOrder() {
|
||||
this.pos.add_new_order();
|
||||
this.pos.add_new_order(); // neue Order wird aktive Order
|
||||
this.pos.selectPartner();
|
||||
}
|
||||
|
||||
removeCurrentOrder() {
|
||||
async removeCurrentOrder() {
|
||||
const order = this.pos.get_order();
|
||||
if (order) {
|
||||
this.pos.removeOrder(order);
|
||||
if (!order) return;
|
||||
|
||||
// 🛑 Sicherheitsabfrage: Order enthält bereits Positionen
|
||||
// Hinweis: Verhalten angelehnt an ticket_screen.js in Odoo 17.0
|
||||
if (order.get_orderlines().length > 0) {
|
||||
const { confirmed } = await this.popup.add(ConfirmPopup, {
|
||||
title: _t("Order enthält Positionen"),
|
||||
body: _t("Möchtest du diese Order wirklich löschen?"),
|
||||
});
|
||||
if (!confirmed) return;
|
||||
}
|
||||
|
||||
// 📋 Alle verbleibenden Orders (nach der aktuellen)
|
||||
const remainingOrders = this.pos.get_order_list().filter(o => o !== order);
|
||||
|
||||
// 🗑 Order entfernen
|
||||
this.pos.removeOrder(order);
|
||||
|
||||
// ✅ Wenn noch andere Orders existieren, eine davon aktivieren
|
||||
if (remainingOrders.length > 0) {
|
||||
this.pos.set_order(remainingOrders[remainingOrders.length - 1]); // z. B. letzte Order aktivieren
|
||||
}
|
||||
|
||||
// Hinweis: Weitere Funktionen wie Sync mit Server (siehe ticket_screen.js) können hier ergänzt werden.
|
||||
}
|
||||
|
||||
openTicketScreen() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user