Tower: upload laundry_management 19.0.19.0.4 (via marketplace)

This commit is contained in:
2026-05-01 15:00:54 +00:00
parent 4399a06c37
commit b7a2c4ea2f

View File

@@ -0,0 +1,51 @@
from odoo import models, fields, api
from odoo.exceptions import UserError
class LaundryPrintWizard(models.TransientModel):
"""Print template selection wizard — routes to A4, Thermal, or Tracking."""
_name = 'laundry.print.wizard'
_description = 'Laundry Print Wizard'
order_id = fields.Many2one(
'laundry.order', string='Order',
required=True, readonly=True,
)
order_name = fields.Char(related='order_id.name', readonly=True)
customer_name = fields.Char(related='order_id.partner_id.name', readonly=True)
total_amount = fields.Monetary(
related='order_id.amount_total',
readonly=True,
currency_field='currency_id',
)
currency_id = fields.Many2one(
related='order_id.currency_id', readonly=True,
)
template = fields.Selection([
('a4', 'A4 Customer Receipt (Bilingual)'),
('thermal', 'Thermal Receipt (80mm)'),
('tracking', 'Item Tracking Slips'),
], string='Print Template', required=True, default='a4')
include_prices = fields.Boolean(string='Include Prices', default=True)
include_notes = fields.Boolean(string='Include Customer Notes', default=True)
def action_print(self):
self.ensure_one()
ref_map = {
'a4': 'laundry_management.action_report_laundry_order_receipt',
'thermal': 'laundry_management.action_report_laundry_thermal_receipt',
'tracking': 'laundry_management.action_report_laundry_tracking_slip',
}
report_ref = ref_map.get(self.template)
if not report_ref:
raise UserError('Unknown print template.')
return self.env.ref(report_ref).report_action(
self.order_id,
data={
'include_prices': self.include_prices,
'include_notes': self.include_notes,
},
)