mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
fix escaping problems on ticket view
This commit is contained in:
committed by
Rob Harrington
parent
db63f30a76
commit
6972822c49
@@ -13,24 +13,24 @@
|
||||
'\x1B' + '\x74' + '\x10',
|
||||
'\x1B' + '\x61' + '\x31', // center align
|
||||
'\x1B' + '\x21' + '\x30', // em mode on
|
||||
'#{@order.distributor.name}' + '\x0A',
|
||||
'#{j(@order.distributor.name)}' + '\x0A',
|
||||
'\x1B' + '\x21' + '\x0A' + '\x1B' + '\x45' + '\x0A', // em mode off
|
||||
'\x0A',
|
||||
'#{@order.distributor.address.address_part1}' + '\x0A', // text and line break
|
||||
'#{@order.distributor.address.address_part2}' + '\x0A',
|
||||
'#{@order.distributor.email}' + '\x0A',
|
||||
'#{j(@order.distributor.address.address_part1)}' + '\x0A', // text and line break
|
||||
'#{j(@order.distributor.address.address_part2)}' + '\x0A',
|
||||
'#{j(@order.distributor.email)}' + '\x0A',
|
||||
'\x0A', // line break
|
||||
'\x1B' + '\x61' + '\x32', // right align
|
||||
'#{l Time.zone.now.to_date}' + '\x0A',
|
||||
'#{@order.number}' + '\x0A',
|
||||
'#{j(l(Time.zone.now.to_date))}' + '\x0A',
|
||||
'#{j(@order.number)}' + '\x0A',
|
||||
'\x1B' + '\x61' + '\x30', // left align
|
||||
'\x0A',
|
||||
'\x1B' + '\x4D' + '\x31', // small text
|
||||
"#{'%6s %-26s%10s%10s' %
|
||||
[t(:ticket_column_qty),
|
||||
t(:ticket_column_item),
|
||||
t(:ticket_column_unit_price),
|
||||
t(:ticket_column_total_price)]}",
|
||||
[j(t(:ticket_column_qty)),
|
||||
j(t(:ticket_column_item)),
|
||||
j(t(:ticket_column_unit_price)),
|
||||
j(t(:ticket_column_total_price))]}",
|
||||
'\x0A',
|
||||
'\x1B' + '\x4D' + '\x30', // normal text
|
||||
'__________________________________________' + '\x0A',
|
||||
@@ -38,34 +38,34 @@
|
||||
.sort_by{ |line_item| line_item.product.name }
|
||||
.map { |line_item| '%5d %-19.19s%8.8s%8.8s' %
|
||||
[line_item.quantity,
|
||||
line_item.product.name,
|
||||
line_item.single_display_amount_with_adjustments.format(symbol: false, with_currency: false),
|
||||
line_item.display_amount_with_adjustments.format(symbol: false, with_currency: false)] }
|
||||
j(line_item.product.name),
|
||||
j(line_item.single_display_amount_with_adjustments.format(symbol: false, with_currency: false)),
|
||||
j(line_item.display_amount_with_adjustments.format(symbol: false, with_currency: false))] }
|
||||
.join('" + \'\x0A\' + "')}",
|
||||
'\x0A',
|
||||
"#{checkout_adjustments_for(@order, exclude: [:line_item])
|
||||
.reject{ |a| a.amount == 0 }
|
||||
.reverse.map { |adjustment| '%5s %-27.27s%8.8s' %
|
||||
["",
|
||||
raw(adjustment.label),
|
||||
display_adjustment_amount(adjustment).format(symbol: false, with_currency: false)] +
|
||||
j(raw(adjustment.label)),
|
||||
j(display_adjustment_amount(adjustment).format(symbol: false, with_currency: false))] +
|
||||
'" + \'\x0A\' + "'}.join }",
|
||||
'__________________________________________' + '\x0A',
|
||||
'\x0A',
|
||||
'\x1B' + '\x45' + '\x0D', // bold on
|
||||
"#{'%31s%10s' %
|
||||
[t(:total_incl_tax),
|
||||
@order.display_total.format(with_currency: false)]}",
|
||||
[j(t(:total_incl_tax)),
|
||||
j(@order.display_total.format(with_currency: false))]}",
|
||||
'\x1B' + '\x45' + '\x0A', // bold off
|
||||
'\x0A',
|
||||
"#{display_checkout_taxes_hash(@order).map { |tax_rate, tax_value|
|
||||
'%31s%10s' %
|
||||
[t(:tax_total, rate: tax_rate),
|
||||
tax_value.format(with_currency: false)] +
|
||||
[j(t(:tax_total, rate: tax_rate)),
|
||||
j(tax_value.format(with_currency: false))] +
|
||||
'" + \'\x0A\' + "'}.join }",
|
||||
"#{'%31s%10s' %
|
||||
[t(:total_excl_tax),
|
||||
display_checkout_total_less_tax(@order).format(with_currency: false)]}",
|
||||
[j(t(:total_excl_tax)),
|
||||
j(display_checkout_total_less_tax(@order).format(with_currency: false))]}",
|
||||
'\x0A',
|
||||
'\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A',
|
||||
'\x1B' + '\x69', // cut paper
|
||||
|
||||
Reference in New Issue
Block a user