Tower: upload laundry_management 19.0.19.0.4 (via marketplace)
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
/** @odoo-module
|
||||
*
|
||||
* ClosePosPopup patch — surface a READ-ONLY Laundry Settlements panel
|
||||
* in the POS closing popup so cashiers and managers can see how much
|
||||
* was collected via the laundry settle-dues flow during this session,
|
||||
* grouped per journal.
|
||||
*
|
||||
* NON-CASH settlements create account.payment records (not pos.payment),
|
||||
* so they don't naturally appear in the closing popup's per-method
|
||||
* breakdown. CASH settlements DO appear there (via statement_line_ids
|
||||
* in expected cash). This panel makes both visible side-by-side so the
|
||||
* cashier can reconcile drawer vs. settlement collections.
|
||||
*
|
||||
* IMPORTANT: this is purely informational. It does NOT inject into the
|
||||
* cash-counted/expected math, does NOT create accounting entries, and
|
||||
* does NOT modify settlement amounts.
|
||||
*/
|
||||
import { patch } from "@web/core/utils/patch";
|
||||
import { onWillStart, useState } from "@odoo/owl";
|
||||
import { ClosePosPopup } from "@point_of_sale/app/components/popups/closing_popup/closing_popup";
|
||||
|
||||
patch(ClosePosPopup.prototype, {
|
||||
setup() {
|
||||
super.setup();
|
||||
this.laundrySettlements = useState({
|
||||
loaded: false,
|
||||
total: 0.0,
|
||||
count: 0,
|
||||
by_journal: [],
|
||||
});
|
||||
onWillStart(async () => {
|
||||
const sessionId = this.pos?.session?.id;
|
||||
if (!sessionId) {
|
||||
this.laundrySettlements.loaded = true;
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const data = await this.pos.data.call(
|
||||
"res.partner",
|
||||
"get_session_settlements",
|
||||
[sessionId]
|
||||
);
|
||||
if (data) {
|
||||
Object.assign(this.laundrySettlements, data, { loaded: true });
|
||||
}
|
||||
} catch {
|
||||
// Read-only panel — silent failure is fine.
|
||||
this.laundrySettlements.loaded = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user