v1.7.0: fix offer created_at override, invoice PDF translations, remove has_order filter
- Add created_at to offer create/update schemas so user-selected date is stored instead of always defaulting to now() - Translate payment method in invoice PDF based on language (Příkazem → Bank transfer, etc.) - Add order_date and cnb_rate translation keys, replace hardcoded inline strings - Remove duplicate has_order filter from offers backend route Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -168,6 +168,24 @@ function buildAddressLines(
|
||||
|
||||
/* ── Translations ────────────────────────────────────────────────── */
|
||||
|
||||
const paymentMethodMap: Record<string, Record<string, string>> = {
|
||||
cs: {
|
||||
"Bank transfer": "Příkazem",
|
||||
Cash: "Hotově",
|
||||
"Cash on delivery": "Dobírka",
|
||||
},
|
||||
en: {
|
||||
Příkazem: "Bank transfer",
|
||||
Hotově: "Cash",
|
||||
Dobírka: "Cash on delivery",
|
||||
},
|
||||
};
|
||||
|
||||
function translatePaymentMethod(value: string | null, lang: string): string {
|
||||
if (!value) return "";
|
||||
return paymentMethodMap[lang]?.[value] || value;
|
||||
}
|
||||
|
||||
const translations: Record<string, Record<string, string>> = {
|
||||
cs: {
|
||||
title: "Faktura",
|
||||
@@ -181,6 +199,7 @@ const translations: Record<string, Record<string, string>> = {
|
||||
var_symbol: "Variabilní s.:",
|
||||
const_symbol: "Konstantní s.:",
|
||||
order_no: "Objednávka č.:",
|
||||
order_date: "Objednávka ze dne:",
|
||||
issue_date: "Datum vystavení:",
|
||||
due_date: "Datum splatnosti:",
|
||||
tax_date: "Datum uskutečnění plnění:",
|
||||
@@ -213,6 +232,7 @@ const translations: Record<string, Record<string, string>> = {
|
||||
stamp: "Razítko:",
|
||||
ico: "IČ: ",
|
||||
dic: "DIČ: ",
|
||||
cnb_rate: "Přepočet kurzem ČNB ke dni",
|
||||
},
|
||||
en: {
|
||||
title: "Invoice",
|
||||
@@ -226,6 +246,7 @@ const translations: Record<string, Record<string, string>> = {
|
||||
var_symbol: "Variable symbol:",
|
||||
const_symbol: "Constant symbol:",
|
||||
order_no: "Order No.:",
|
||||
order_date: "Order date:",
|
||||
issue_date: "Issue date:",
|
||||
due_date: "Due date:",
|
||||
tax_date: "Tax point date:",
|
||||
@@ -257,6 +278,7 @@ const translations: Record<string, Record<string, string>> = {
|
||||
stamp: "Stamp:",
|
||||
ico: "Reg. No.: ",
|
||||
dic: "Tax ID: ",
|
||||
cnb_rate: "CNB exchange rate as of",
|
||||
},
|
||||
};
|
||||
|
||||
@@ -923,9 +945,9 @@ ${indentCSS}
|
||||
<div class="info-row"><span class="lbl">${escapeHtml(t.issue_date)}</span> <span class="val">${escapeHtml(formatDate(invoice.issue_date))}</span></div>
|
||||
<div class="info-row"><span class="lbl">${escapeHtml(t.due_date)}</span> <span class="val">${escapeHtml(formatDate(invoice.due_date))}</span></div>
|
||||
<div class="info-row"><span class="lbl">${escapeHtml(t.tax_date)}</span> <span class="val">${escapeHtml(formatDate(invoice.tax_date))}</span></div>
|
||||
<div class="info-row"><span class="lbl">${escapeHtml(t.payment_method)}</span> <span class="val">${escapeHtml(invoice.payment_method)}</span></div>
|
||||
${orderNumber ? `<div class="info-row"><span class="lbl">${lang === "cs" ? "Objednávka č.:" : "Order no.:"}</span> <span class="val">${orderNumber}</span></div>` : ""}
|
||||
${orderDate ? `<div class="info-row"><span class="lbl">${lang === "cs" ? "Objednávka ze dne:" : "Order date:"}</span> <span class="val">${escapeHtml(orderDate)}</span></div>` : ""}
|
||||
<div class="info-row"><span class="lbl">${escapeHtml(t.payment_method)}</span> <span class="val">${escapeHtml(translatePaymentMethod(invoice.payment_method, lang))}</span></div>
|
||||
${orderNumber ? `<div class="info-row"><span class="lbl">${escapeHtml(t.order_no)}</span> <span class="val">${orderNumber}</span></div>` : ""}
|
||||
${orderDate ? `<div class="info-row"><span class="lbl">${escapeHtml(t.order_date)}</span> <span class="val">${escapeHtml(orderDate)}</span></div>` : ""}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -1008,7 +1030,7 @@ ${indentCSS}
|
||||
? `<tfoot>
|
||||
<tr>
|
||||
<td colspan="4" style="font-size:0.7em; color:#666; padding-top:6px; text-align:left;">
|
||||
Přepočet kurzem ČNB ke dni ${formatDate(invoice.issue_date)}: 1 ${escapeHtml(currency)} = ${cnbRate.toFixed(3).replace(".", ",")} CZK
|
||||
${escapeHtml(t.cnb_rate)} ${formatDate(invoice.issue_date)}: 1 ${escapeHtml(currency)} = ${cnbRate.toFixed(3).replace(".", ",")} CZK
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>`
|
||||
|
||||
Reference in New Issue
Block a user