@endora-commerce/mod-invoices 0.106.0 → 0.107.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -8
- package/dist/admin/components/InvoiceSectionTabs.d.ts +8 -0
- package/dist/admin/components/InvoiceSectionTabs.d.ts.map +1 -1
- package/dist/admin/components/InvoiceSectionTabs.js +13 -2
- package/dist/admin/components/InvoiceSectionTabs.js.map +1 -1
- package/dist/admin/document-blocks/InvoiceDivider.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceDivider.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceDivider.js +5 -0
- package/dist/admin/document-blocks/InvoiceDivider.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceFooter.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceFooter.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceFooter.js +5 -0
- package/dist/admin/document-blocks/InvoiceFooter.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceHeader.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceHeader.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceHeader.js +5 -0
- package/dist/admin/document-blocks/InvoiceHeader.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceLineItems.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceLineItems.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceLineItems.js +5 -0
- package/dist/admin/document-blocks/InvoiceLineItems.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceLogo.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceLogo.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceLogo.js +5 -0
- package/dist/admin/document-blocks/InvoiceLogo.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceNotes.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceNotes.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceNotes.js +5 -0
- package/dist/admin/document-blocks/InvoiceNotes.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceParties.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceParties.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceParties.js +5 -0
- package/dist/admin/document-blocks/InvoiceParties.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceSpacer.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceSpacer.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceSpacer.js +5 -0
- package/dist/admin/document-blocks/InvoiceSpacer.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceTotals.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceTotals.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceTotals.js +5 -0
- package/dist/admin/document-blocks/InvoiceTotals.js.map +1 -0
- package/dist/admin/document-blocks/InvoiceVatSummary.d.ts +5 -0
- package/dist/admin/document-blocks/InvoiceVatSummary.d.ts.map +1 -0
- package/dist/admin/document-blocks/InvoiceVatSummary.js +5 -0
- package/dist/admin/document-blocks/InvoiceVatSummary.js.map +1 -0
- package/dist/admin/index.d.ts +3 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +62 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/pages/InvoiceTemplatesRedirect.d.ts +10 -0
- package/dist/admin/pages/InvoiceTemplatesRedirect.d.ts.map +1 -0
- package/dist/admin/pages/InvoiceTemplatesRedirect.js +14 -0
- package/dist/admin/pages/InvoiceTemplatesRedirect.js.map +1 -0
- package/dist/admin/templates/invoice-puck-config.d.ts +7 -21
- package/dist/admin/templates/invoice-puck-config.d.ts.map +1 -1
- package/dist/admin/templates/invoice-puck-config.js +7 -26
- package/dist/admin/templates/invoice-puck-config.js.map +1 -1
- package/dist/backend/document/block-descriptions.d.ts +22 -0
- package/dist/backend/document/block-descriptions.d.ts.map +1 -0
- package/dist/backend/{pdf-components/descriptor.js → document/block-descriptions.js} +8 -24
- package/dist/backend/document/block-descriptions.js.map +1 -0
- package/dist/backend/document/document-templates-grant.d.ts +29 -0
- package/dist/backend/document/document-templates-grant.d.ts.map +1 -0
- package/dist/backend/document/document-templates-grant.js +45 -0
- package/dist/backend/document/document-templates-grant.js.map +1 -0
- package/dist/backend/document/invoice-document-type.d.ts +38 -0
- package/dist/backend/document/invoice-document-type.d.ts.map +1 -0
- package/dist/backend/document/invoice-document-type.js +108 -0
- package/dist/backend/document/invoice-document-type.js.map +1 -0
- package/dist/backend/document/render-invoice.d.ts +14 -0
- package/dist/backend/document/render-invoice.d.ts.map +1 -0
- package/dist/backend/document/render-invoice.js +24 -0
- package/dist/backend/document/render-invoice.js.map +1 -0
- package/dist/backend/index.d.ts +1 -3
- package/dist/backend/index.d.ts.map +1 -1
- package/dist/backend/index.js +48 -6
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/pdf-components/tree-mapper.d.ts +5 -21
- package/dist/backend/pdf-components/tree-mapper.d.ts.map +1 -1
- package/dist/backend/pdf-components/tree-mapper.js +8 -44
- package/dist/backend/pdf-components/tree-mapper.js.map +1 -1
- package/dist/backend/plugin.d.ts +9 -12
- package/dist/backend/plugin.d.ts.map +1 -1
- package/dist/backend/plugin.js +3 -16
- package/dist/backend/plugin.js.map +1 -1
- package/dist/backend/routes.admin.d.ts +3 -5
- package/dist/backend/routes.admin.d.ts.map +1 -1
- package/dist/backend/routes.admin.js +8 -53
- package/dist/backend/routes.admin.js.map +1 -1
- package/dist/backend/routes.customer.d.ts +3 -5
- package/dist/backend/routes.customer.d.ts.map +1 -1
- package/dist/backend/routes.customer.js +3 -3
- package/dist/backend/routes.customer.js.map +1 -1
- package/dist/backend/services/invoice-email-dispatch.d.ts +7 -3
- package/dist/backend/services/invoice-email-dispatch.d.ts.map +1 -1
- package/dist/backend/services/invoice-email-dispatch.js +2 -1
- package/dist/backend/services/invoice-email-dispatch.js.map +1 -1
- package/dist/manifest.d.ts +7 -3
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +25 -14
- package/dist/manifest.js.map +1 -1
- package/dist/migrations/20261017T075839_invoices_drop_invoice_templates.d.ts +20 -0
- package/dist/migrations/20261017T075839_invoices_drop_invoice_templates.d.ts.map +1 -0
- package/dist/migrations/20261017T075839_invoices_drop_invoice_templates.js +43 -0
- package/dist/migrations/20261017T075839_invoices_drop_invoice_templates.js.map +1 -0
- package/dist/migrations/index.d.ts +2 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +3 -1
- package/dist/migrations/index.js.map +1 -1
- package/docs/invoices.md +21 -14
- package/i18n/en.json +3 -3
- package/i18n/pl.json +3 -3
- package/package.json +13 -13
- package/dist/admin/pages/InvoiceTemplateEditor.d.ts +0 -11
- package/dist/admin/pages/InvoiceTemplateEditor.d.ts.map +0 -1
- package/dist/admin/pages/InvoiceTemplateEditor.js +0 -189
- package/dist/admin/pages/InvoiceTemplateEditor.js.map +0 -1
- package/dist/admin/pages/InvoiceTemplatesPage.d.ts +0 -10
- package/dist/admin/pages/InvoiceTemplatesPage.d.ts.map +0 -1
- package/dist/admin/pages/InvoiceTemplatesPage.js +0 -60
- package/dist/admin/pages/InvoiceTemplatesPage.js.map +0 -1
- package/dist/admin/templates/described-blocks.d.ts +0 -67
- package/dist/admin/templates/described-blocks.d.ts.map +0 -1
- package/dist/admin/templates/described-blocks.js +0 -83
- package/dist/admin/templates/described-blocks.js.map +0 -1
- package/dist/admin/templates/invoice-builder-plugin.d.ts +0 -4
- package/dist/admin/templates/invoice-builder-plugin.d.ts.map +0 -1
- package/dist/admin/templates/invoice-builder-plugin.js +0 -12
- package/dist/admin/templates/invoice-builder-plugin.js.map +0 -1
- package/dist/backend/entities/invoice-template.entity.d.ts +0 -22
- package/dist/backend/entities/invoice-template.entity.d.ts.map +0 -1
- package/dist/backend/entities/invoice-template.entity.js +0 -84
- package/dist/backend/entities/invoice-template.entity.js.map +0 -1
- package/dist/backend/pdf-components/descriptor.d.ts +0 -29
- package/dist/backend/pdf-components/descriptor.d.ts.map +0 -1
- package/dist/backend/pdf-components/descriptor.js.map +0 -1
- package/dist/backend/services/invoice-pdf-renderer.d.ts +0 -57
- package/dist/backend/services/invoice-pdf-renderer.d.ts.map +0 -1
- package/dist/backend/services/invoice-pdf-renderer.js +0 -158
- package/dist/backend/services/invoice-pdf-renderer.js.map +0 -1
- package/dist/backend/services/invoice-template-service.d.ts +0 -43
- package/dist/backend/services/invoice-template-service.d.ts.map +0 -1
- package/dist/backend/services/invoice-template-service.js +0 -147
- package/dist/backend/services/invoice-template-service.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.customer.d.ts","sourceRoot":"","sources":["../../src/backend/routes.customer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAEnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"routes.customer.d.ts","sourceRoot":"","sources":["../../src/backend/routes.customer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAEnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,aAAa,CAAC;IAC/B,mFAAmF;IACnF,aAAa,EAAE,aAAa,CAAC;IAC7B,4EAA4E;IAC5E,aAAa,EAAE,iBAAiB,CAAC;IACjC;;;OAGG;IACH,uBAAuB,EAAE,0BAA0B,CAAC;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,sBAAsB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IACvG,cAAc,EAAE,cAAc,CAAC;IAC/B,6EAA6E;IAC7E,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;CAC/C;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CAuJf"}
|
|
@@ -2,13 +2,14 @@ import { HttpError } from '@endora-commerce/platform/http';
|
|
|
2
2
|
import { ERROR_CODES, } from '@endora-commerce/contracts';
|
|
3
3
|
import { InvoiceExternalAttachment } from './entities/invoice-external-attachment.entity.js';
|
|
4
4
|
import { Invoice } from './entities/invoice.entity.js';
|
|
5
|
+
import { renderInvoicePdf } from './document/render-invoice.js';
|
|
5
6
|
/**
|
|
6
7
|
* Storefront customer invoice routes (feature 047, US4). A customer lists and
|
|
7
8
|
* downloads invoices for an order they (or their organization) own. Only
|
|
8
9
|
* `ready` invoices are exposed.
|
|
9
10
|
*/
|
|
10
11
|
export async function registerInvoicesCustomerRoutes(app, deps) {
|
|
11
|
-
const { emFactory, orderReadPort, assetsLibrary, saleDocumentAttachments, requireCustomer, resolveCustomerContext, invoiceService,
|
|
12
|
+
const { emFactory, orderReadPort, assetsLibrary, saleDocumentAttachments, requireCustomer, resolveCustomerContext, invoiceService, documents, } = deps;
|
|
12
13
|
async function ownedOrderOr404(req, orderId) {
|
|
13
14
|
const ctx = resolveCustomerContext(req);
|
|
14
15
|
const order = await orderReadPort.findById(orderId);
|
|
@@ -46,8 +47,7 @@ export async function registerInvoicesCustomerRoutes(app, deps) {
|
|
|
46
47
|
if (!inv)
|
|
47
48
|
throw new HttpError(404, ERROR_CODES.NOT_FOUND, 'Invoice not found.');
|
|
48
49
|
const detail = await invoiceService.buildDetail(inv.id);
|
|
49
|
-
const
|
|
50
|
-
const pdf = await pdfRenderer.render(detail, 'pl', tree);
|
|
50
|
+
const pdf = await renderInvoicePdf(documents, detail);
|
|
51
51
|
reply
|
|
52
52
|
.header('content-type', 'application/pdf')
|
|
53
53
|
.header('content-disposition', `attachment; filename="invoice-${detail.number.replace(/\W+/g, '_')}.pdf"`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.customer.js","sourceRoot":"","sources":["../../src/backend/routes.customer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"routes.customer.js","sourceRoot":"","sources":["../../src/backend/routes.customer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { InvoiceEmailNotSentReason, OrderReadPort, OrderRecord, TransactionalEmailSender } from '@endora-commerce/contracts';
|
|
1
|
+
import type { DocumentRenderPort, InvoiceEmailNotSentReason, OrderReadPort, OrderRecord, TransactionalEmailSender } from '@endora-commerce/contracts';
|
|
2
2
|
import type { InvoiceService } from './invoice-service.js';
|
|
3
|
-
import type { InvoicePdfRenderer } from './invoice-pdf-renderer.js';
|
|
4
3
|
import type { SettingsReader } from './seller-settings.js';
|
|
5
4
|
/**
|
|
6
5
|
* Why the invoice e-mail did — or did not — go out (issue #103).
|
|
@@ -36,7 +35,12 @@ export interface InvoiceEmailDispatchDeps {
|
|
|
36
35
|
*/
|
|
37
36
|
orderReadPort: OrderReadPort;
|
|
38
37
|
invoiceService: InvoiceService;
|
|
39
|
-
|
|
38
|
+
/**
|
|
39
|
+
* `document_templates`' render port (`specs/152-compare-pdf-template/`). The
|
|
40
|
+
* attachment is rendered with the download's input, so it follows the
|
|
41
|
+
* template the download follows (owner answer N1, FR-093).
|
|
42
|
+
*/
|
|
43
|
+
documents: Pick<DocumentRenderPort, 'render'>;
|
|
40
44
|
settingsService: SettingsReader;
|
|
41
45
|
getSender: () => TransactionalEmailSender | undefined;
|
|
42
46
|
resolveRecipientEmail: (order: OrderRecord) => Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice-email-dispatch.d.ts","sourceRoot":"","sources":["../../../src/backend/services/invoice-email-dispatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"invoice-email-dispatch.d.ts","sourceRoot":"","sources":["../../../src/backend/services/invoice-email-dispatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D;;;;;;;;;;;;GAYG;AACH,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAE1C,MAAM,MAAM,0BAA0B,GAClC;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAE1F,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC9C,eAAe,EAAE,cAAc,CAAC;IAChC,SAAS,EAAE,MAAM,wBAAwB,GAAG,SAAS,CAAC;IACtD,qBAAqB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtE,eAAe,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAsB;IAGrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;gBAET,IAAI,EAAE,wBAAwB;IAIrD,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9D,OAAO,CAAC,0BAA0B,CAAC;IAoEtC,OAAO,CAAC,OAAO;IAaf;;;;;;OAMG;YACW,WAAW;YAeX,WAAW;YASX,cAAc;IAS5B;;;;;OAKG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CAQrE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { rethrowIfModuleDisabled } from '@endora-commerce/platform/kernel';
|
|
3
3
|
import { SettingNotRegistered, SettingOutOfScopeForChannel, } from '@endora-commerce/platform/kernel';
|
|
4
|
+
import { renderInvoicePdf } from '../document/render-invoice.js';
|
|
4
5
|
import { INVOICES_SETTING_CODES } from '../../manifest.js';
|
|
5
6
|
/**
|
|
6
7
|
* Dispatches the `invoice_issued` transactional email (feature 047, US5).
|
|
@@ -59,7 +60,7 @@ export class InvoiceEmailDispatcher {
|
|
|
59
60
|
? [
|
|
60
61
|
{
|
|
61
62
|
filename: `invoice-${detail.number.replace(/\W+/g, '_')}.pdf`,
|
|
62
|
-
content: await this.deps.
|
|
63
|
+
content: await renderInvoicePdf(this.deps.documents, detail),
|
|
63
64
|
contentType: 'application/pdf',
|
|
64
65
|
},
|
|
65
66
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice-email-dispatch.js","sourceRoot":"","sources":["../../../src/backend/services/invoice-email-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"invoice-email-dispatch.js","sourceRoot":"","sources":["../../../src/backend/services/invoice-email-dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.d.ts
CHANGED
|
@@ -144,9 +144,9 @@ export declare const manifest: {
|
|
|
144
144
|
name: string;
|
|
145
145
|
labelKey: string;
|
|
146
146
|
category: string;
|
|
147
|
-
contexts: ("invoice" | "cms" | "email" | "newsletter")[];
|
|
147
|
+
contexts: ("invoice" | "cms" | "email" | "newsletter" | "document")[];
|
|
148
148
|
fields: Record<string, {
|
|
149
|
-
type: "number" | "object" | "array" | "text" | "textarea" | "select" | "radio" | "external" | "
|
|
149
|
+
type: "number" | "object" | "array" | "uuid" | "text" | "textarea" | "select" | "radio" | "external" | "richtext";
|
|
150
150
|
label?: string | undefined;
|
|
151
151
|
required?: boolean | undefined;
|
|
152
152
|
options?: {
|
|
@@ -160,11 +160,15 @@ export declare const manifest: {
|
|
|
160
160
|
responsiveFields?: string[] | undefined;
|
|
161
161
|
previewIcon?: string | undefined;
|
|
162
162
|
weight?: number | undefined;
|
|
163
|
+
translatable?: {
|
|
164
|
+
path: string;
|
|
165
|
+
format?: "plain" | "tiptap" | "html" | undefined;
|
|
166
|
+
}[] | undefined;
|
|
163
167
|
}[] | undefined;
|
|
164
168
|
blockCategories?: {
|
|
165
169
|
key: string;
|
|
166
170
|
titleKey: string;
|
|
167
|
-
contexts: ("invoice" | "cms" | "email" | "newsletter")[];
|
|
171
|
+
contexts: ("invoice" | "cms" | "email" | "newsletter" | "document")[];
|
|
168
172
|
weight?: number | undefined;
|
|
169
173
|
visible?: boolean | undefined;
|
|
170
174
|
}[] | undefined;
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;CAUzB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;CAUzB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;CA8HnC,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsQnB,CAAC"}
|
package/dist/manifest.js
CHANGED
|
@@ -121,12 +121,25 @@ export const invoicesSettingsManifest = defineModuleSettingsManifest({
|
|
|
121
121
|
valueType: 'string',
|
|
122
122
|
defaultValue: '',
|
|
123
123
|
},
|
|
124
|
+
{
|
|
125
|
+
// `specs/152-compare-pdf-template/` (owner answers N3, P2) — whether the
|
|
126
|
+
// one-time grant of the document-template permissions to the roles that
|
|
127
|
+
// hold the invoice permissions has run. Written once, by the module's own
|
|
128
|
+
// boot hook; hidden because it is bookkeeping, not a control.
|
|
129
|
+
code: 'invoices.document_templates_grant_done',
|
|
130
|
+
name: 'Document template access granted',
|
|
131
|
+
description: 'Set by the platform once roles allowed to view or edit invoices have also been given the document template permissions, after invoice templates moved to Document templates. Not meant to be changed.',
|
|
132
|
+
groupCode: 'invoices',
|
|
133
|
+
valueType: 'boolean',
|
|
134
|
+
defaultValue: false,
|
|
135
|
+
hidden: true,
|
|
136
|
+
},
|
|
124
137
|
],
|
|
125
138
|
});
|
|
126
139
|
export const manifest = defineModuleManifest({
|
|
127
140
|
id: 'invoices',
|
|
128
141
|
name: 'Invoices',
|
|
129
|
-
description: 'Invoice generation, numbering,
|
|
142
|
+
description: 'Invoice generation, numbering, corrections, and email delivery; invoice PDF layouts are designed in Document templates.',
|
|
130
143
|
version: '2.0.0',
|
|
131
144
|
// `auth` owns the `requireAdmin` port and the customer guard this module
|
|
132
145
|
// resolves; feature 072 made both container resolutions.
|
|
@@ -144,10 +157,20 @@ export const manifest = defineModuleManifest({
|
|
|
144
157
|
// owner for a `refuses-without` sentence to describe. That is the same answer
|
|
145
158
|
// `mfa` and `product_feeds` came to and a different one from `returns`, and
|
|
146
159
|
// the difference is the owners', not the consumer's.
|
|
160
|
+
//
|
|
161
|
+
// `document_templates` and `admin_roles` joined in
|
|
162
|
+
// `specs/152-compare-pdf-template/`. Every invoice PDF is produced by the
|
|
163
|
+
// document-template facility, and an invoice that cannot be printed is not
|
|
164
|
+
// a degrade worth offering, so the edge binds: the lifecycle refuses to
|
|
165
|
+
// switch document templates off while invoicing is on (owner answer N2).
|
|
166
|
+
// `admin_roles` is where the one-time grant of the document-template
|
|
167
|
+
// permissions writes (N3); it is non-deactivatable.
|
|
147
168
|
dependencies: [
|
|
169
|
+
'admin_roles',
|
|
148
170
|
'assets_library',
|
|
149
171
|
'auth',
|
|
150
172
|
'customer_accounts',
|
|
173
|
+
'document_templates',
|
|
151
174
|
'orders',
|
|
152
175
|
'organizations',
|
|
153
176
|
'settings',
|
|
@@ -182,7 +205,7 @@ export const manifest = defineModuleManifest({
|
|
|
182
205
|
],
|
|
183
206
|
permissions: [
|
|
184
207
|
{ code: 'invoices:read', label: 'View invoices and download invoice PDFs' },
|
|
185
|
-
{ code: 'invoices:write', label: 'Issue/correct invoices
|
|
208
|
+
{ code: 'invoices:write', label: 'Issue/correct invoices and configure invoicing' },
|
|
186
209
|
],
|
|
187
210
|
/**
|
|
188
211
|
* The three error codes this module owns — feature 090 Phase 3
|
|
@@ -262,18 +285,6 @@ export const manifest = defineModuleManifest({
|
|
|
262
285
|
keywords: ['invoices', 'faktury', 'vat', 'billing'],
|
|
263
286
|
weight: 240,
|
|
264
287
|
},
|
|
265
|
-
{
|
|
266
|
-
id: 'invoice-templates',
|
|
267
|
-
labelKey: 'actions.invoiceTemplates.label',
|
|
268
|
-
descriptionKey: 'actions.invoiceTemplates.description',
|
|
269
|
-
icon: 'Layers',
|
|
270
|
-
targetRoute: '/invoices/templates',
|
|
271
|
-
// `invoices:read` — `GET /api/v1/admin/invoice-templates` is read-gated,
|
|
272
|
-
// and the row is a destination rather than an operation (issue #232).
|
|
273
|
-
requiredPermission: 'invoices:read',
|
|
274
|
-
keywords: ['invoice template', 'szablon faktury', 'pdf'],
|
|
275
|
-
weight: 245,
|
|
276
|
-
},
|
|
277
288
|
],
|
|
278
289
|
activation: { settingCode: 'invoices.enabled', default: true },
|
|
279
290
|
/**
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Migration } from '@mikro-orm/migrations';
|
|
2
|
+
/**
|
|
3
|
+
* Drops `invoice_templates` (`specs/152-compare-pdf-template/`, owner answer P2).
|
|
4
|
+
*
|
|
5
|
+
* Invoice PDF layouts moved onto the `document_templates` facility: the
|
|
6
|
+
* invoice document type's built-in layout replaced the seeded "generic"
|
|
7
|
+
* template, and an operator designs further invoice templates in *Document
|
|
8
|
+
* templates*. Nobody had custom invoice templates, so nothing is carried over —
|
|
9
|
+
* the owner ruled the import out — and the table, which only this module ever
|
|
10
|
+
* wrote, goes with its entity, service and routes.
|
|
11
|
+
*
|
|
12
|
+
* `down` recreates the empty table with the shape the module's first migration
|
|
13
|
+
* gave it (the generic row the old code seeded at boot is not restored: that
|
|
14
|
+
* code is gone).
|
|
15
|
+
*/
|
|
16
|
+
export declare class Migration20261017T075839InvoicesDropInvoiceTemplates extends Migration {
|
|
17
|
+
up(): Promise<void>;
|
|
18
|
+
down(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=20261017T075839_invoices_drop_invoice_templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20261017T075839_invoices_drop_invoice_templates.d.ts","sourceRoot":"","sources":["../../src/migrations/20261017T075839_invoices_drop_invoice_templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;;;;;;;;GAaG;AACH,qBAAa,oDAAqD,SAAQ,SAAS;IAClE,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAInB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA0BrC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Migration } from '@mikro-orm/migrations';
|
|
2
|
+
/**
|
|
3
|
+
* Drops `invoice_templates` (`specs/152-compare-pdf-template/`, owner answer P2).
|
|
4
|
+
*
|
|
5
|
+
* Invoice PDF layouts moved onto the `document_templates` facility: the
|
|
6
|
+
* invoice document type's built-in layout replaced the seeded "generic"
|
|
7
|
+
* template, and an operator designs further invoice templates in *Document
|
|
8
|
+
* templates*. Nobody had custom invoice templates, so nothing is carried over —
|
|
9
|
+
* the owner ruled the import out — and the table, which only this module ever
|
|
10
|
+
* wrote, goes with its entity, service and routes.
|
|
11
|
+
*
|
|
12
|
+
* `down` recreates the empty table with the shape the module's first migration
|
|
13
|
+
* gave it (the generic row the old code seeded at boot is not restored: that
|
|
14
|
+
* code is gone).
|
|
15
|
+
*/
|
|
16
|
+
export class Migration20261017T075839InvoicesDropInvoiceTemplates extends Migration {
|
|
17
|
+
async up() {
|
|
18
|
+
this.addSql(`drop table if exists "invoice_templates";`);
|
|
19
|
+
}
|
|
20
|
+
async down() {
|
|
21
|
+
this.addSql(`
|
|
22
|
+
create table if not exists "invoice_templates" (
|
|
23
|
+
"id" uuid not null,
|
|
24
|
+
"code" varchar(180) not null,
|
|
25
|
+
"name" varchar(200) not null,
|
|
26
|
+
"sales_channel_id" uuid null,
|
|
27
|
+
"content" jsonb not null,
|
|
28
|
+
"languages" jsonb not null,
|
|
29
|
+
"active" boolean not null default true,
|
|
30
|
+
"is_system" boolean not null default false,
|
|
31
|
+
"version" int not null default 1,
|
|
32
|
+
"created_at" timestamptz not null,
|
|
33
|
+
"updated_at" timestamptz not null,
|
|
34
|
+
constraint "invoice_templates_pkey" primary key ("id")
|
|
35
|
+
);
|
|
36
|
+
`);
|
|
37
|
+
this.addSql(`create index if not exists "invoice_templates_code_idx" on "invoice_templates" ("code");`);
|
|
38
|
+
this.addSql(`create index if not exists "invoice_templates_sales_channel_idx" on "invoice_templates" ("sales_channel_id");`);
|
|
39
|
+
this.addSql(`create unique index if not exists "invoice_templates_active_scope_uq" on "invoice_templates" ` +
|
|
40
|
+
`(coalesce("sales_channel_id", '00000000-0000-0000-0000-000000000000')) where "active";`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=20261017T075839_invoices_drop_invoice_templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20261017T075839_invoices_drop_invoice_templates.js","sourceRoot":"","sources":["../../src/migrations/20261017T075839_invoices_drop_invoice_templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,oDAAqD,SAAQ,SAAS;IACxE,KAAK,CAAC,EAAE;QACf,IAAI,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;KAeX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,0FAA0F,CAAC,CAAC;QACxG,IAAI,CAAC,MAAM,CACT,+GAA+G,CAChH,CAAC;QACF,IAAI,CAAC,MAAM,CACT,+FAA+F;YAC7F,wFAAwF,CAC3F,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -27,6 +27,7 @@ import { Migration20260817T201110InvoicesCorrectionIdempotencyKey } from './2026
|
|
|
27
27
|
import { Migration20260903T101756InvoicesNamespaceBlockNames } from './20260903T101756_invoices_namespace_block_names.js';
|
|
28
28
|
import { Migration20260914T133603InvoicesErpImportedSaleDocuments } from './20260914T133603_invoices_erp_imported_sale_documents.js';
|
|
29
29
|
import { Migration20260926T230239InvoicesImportIdentity } from './20260926T230239_invoices_import_identity.js';
|
|
30
|
+
import { Migration20261017T075839InvoicesDropInvoiceTemplates } from './20261017T075839_invoices_drop_invoice_templates.js';
|
|
30
31
|
export declare const migrations: (typeof Migration20260629T125121InvoicesModule)[];
|
|
31
|
-
export { Migration20260629T125121InvoicesModule, Migration20260801T111000InvoicesGenericTemplateReseed, Migration20260817T201110InvoicesCorrectionIdempotencyKey, Migration20260903T101756InvoicesNamespaceBlockNames, Migration20260914T133603InvoicesErpImportedSaleDocuments, Migration20260926T230239InvoicesImportIdentity, };
|
|
32
|
+
export { Migration20260629T125121InvoicesModule, Migration20260801T111000InvoicesGenericTemplateReseed, Migration20260817T201110InvoicesCorrectionIdempotencyKey, Migration20260903T101756InvoicesNamespaceBlockNames, Migration20260914T133603InvoicesErpImportedSaleDocuments, Migration20260926T230239InvoicesImportIdentity, Migration20261017T075839InvoicesDropInvoiceTemplates, };
|
|
32
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,qDAAqD,EAAE,MAAM,uDAAuD,CAAC;AAC9H,OAAO,EAAE,wDAAwD,EAAE,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,mDAAmD,EAAE,MAAM,qDAAqD,CAAC;AAC1H,OAAO,EAAE,wDAAwD,EAAE,MAAM,2DAA2D,CAAC;AACrI,OAAO,EAAE,8CAA8C,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,qDAAqD,EAAE,MAAM,uDAAuD,CAAC;AAC9H,OAAO,EAAE,wDAAwD,EAAE,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,mDAAmD,EAAE,MAAM,qDAAqD,CAAC;AAC1H,OAAO,EAAE,wDAAwD,EAAE,MAAM,2DAA2D,CAAC;AACrI,OAAO,EAAE,8CAA8C,EAAE,MAAM,+CAA+C,CAAC;AAC/G,OAAO,EAAE,oDAAoD,EAAE,MAAM,sDAAsD,CAAC;AAE5H,eAAO,MAAM,UAAU,mDAQtB,CAAC;AAEF,OAAO,EACL,sCAAsC,EACtC,qDAAqD,EACrD,wDAAwD,EACxD,mDAAmD,EACnD,wDAAwD,EACxD,8CAA8C,EAC9C,oDAAoD,GACrD,CAAC"}
|
package/dist/migrations/index.js
CHANGED
|
@@ -27,6 +27,7 @@ import { Migration20260817T201110InvoicesCorrectionIdempotencyKey } from './2026
|
|
|
27
27
|
import { Migration20260903T101756InvoicesNamespaceBlockNames } from './20260903T101756_invoices_namespace_block_names.js';
|
|
28
28
|
import { Migration20260914T133603InvoicesErpImportedSaleDocuments } from './20260914T133603_invoices_erp_imported_sale_documents.js';
|
|
29
29
|
import { Migration20260926T230239InvoicesImportIdentity } from './20260926T230239_invoices_import_identity.js';
|
|
30
|
+
import { Migration20261017T075839InvoicesDropInvoiceTemplates } from './20261017T075839_invoices_drop_invoice_templates.js';
|
|
30
31
|
export const migrations = [
|
|
31
32
|
Migration20260629T125121InvoicesModule,
|
|
32
33
|
Migration20260801T111000InvoicesGenericTemplateReseed,
|
|
@@ -34,6 +35,7 @@ export const migrations = [
|
|
|
34
35
|
Migration20260903T101756InvoicesNamespaceBlockNames,
|
|
35
36
|
Migration20260914T133603InvoicesErpImportedSaleDocuments,
|
|
36
37
|
Migration20260926T230239InvoicesImportIdentity,
|
|
38
|
+
Migration20261017T075839InvoicesDropInvoiceTemplates,
|
|
37
39
|
];
|
|
38
|
-
export { Migration20260629T125121InvoicesModule, Migration20260801T111000InvoicesGenericTemplateReseed, Migration20260817T201110InvoicesCorrectionIdempotencyKey, Migration20260903T101756InvoicesNamespaceBlockNames, Migration20260914T133603InvoicesErpImportedSaleDocuments, Migration20260926T230239InvoicesImportIdentity, };
|
|
40
|
+
export { Migration20260629T125121InvoicesModule, Migration20260801T111000InvoicesGenericTemplateReseed, Migration20260817T201110InvoicesCorrectionIdempotencyKey, Migration20260903T101756InvoicesNamespaceBlockNames, Migration20260914T133603InvoicesErpImportedSaleDocuments, Migration20260926T230239InvoicesImportIdentity, Migration20261017T075839InvoicesDropInvoiceTemplates, };
|
|
39
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,qDAAqD,EAAE,MAAM,uDAAuD,CAAC;AAC9H,OAAO,EAAE,wDAAwD,EAAE,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,mDAAmD,EAAE,MAAM,qDAAqD,CAAC;AAC1H,OAAO,EAAE,wDAAwD,EAAE,MAAM,2DAA2D,CAAC;AACrI,OAAO,EAAE,8CAA8C,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,qDAAqD,EAAE,MAAM,uDAAuD,CAAC;AAC9H,OAAO,EAAE,wDAAwD,EAAE,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,mDAAmD,EAAE,MAAM,qDAAqD,CAAC;AAC1H,OAAO,EAAE,wDAAwD,EAAE,MAAM,2DAA2D,CAAC;AACrI,OAAO,EAAE,8CAA8C,EAAE,MAAM,+CAA+C,CAAC;AAC/G,OAAO,EAAE,oDAAoD,EAAE,MAAM,sDAAsD,CAAC;AAE5H,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,sCAAsC;IACtC,qDAAqD;IACrD,wDAAwD;IACxD,mDAAmD;IACnD,wDAAwD;IACxD,8CAA8C;IAC9C,oDAAoD;CACrD,CAAC;AAEF,OAAO,EACL,sCAAsC,EACtC,qDAAqD,EACrD,wDAAwD,EACxD,mDAAmD,EACnD,wDAAwD,EACxD,8CAA8C,EAC9C,oDAAoD,GACrD,CAAC"}
|
package/docs/invoices.md
CHANGED
|
@@ -97,17 +97,24 @@ misconfiguration must not become a storefront outage.
|
|
|
97
97
|
- **e-invoicing** — for KSeF / Peppol / similar, plug a sender adapter
|
|
98
98
|
that consumes `invoice.issued.v1` events.
|
|
99
99
|
|
|
100
|
-
## PDF templates
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
100
|
+
## PDF templates
|
|
101
|
+
|
|
102
|
+
Invoice PDF layouts are designed in **Document templates → Invoice** (the
|
|
103
|
+
**Templates** tab of **Invoices** opens it; the former `/invoices/templates`
|
|
104
|
+
addresses redirect there). The invoice blocks — header, parties, line items,
|
|
105
|
+
VAT summary, totals, notes, spacer, divider, logo, footer — plus blocks other
|
|
106
|
+
installed modules contribute to invoices (a KSeF section) are the invoice
|
|
107
|
+
template's palette. Every invoice PDF — the administrator and customer
|
|
108
|
+
downloads, the regenerate, and the PDF attached to the invoice e-mail — is
|
|
109
|
+
produced from the default invoice template of the invoice's sales channel,
|
|
110
|
+
else the default for all channels, else the built-in invoice layout. Invoice
|
|
111
|
+
PDFs are printed in Polish.
|
|
112
|
+
|
|
113
|
+
The KSeF number is printed exactly once: by a placed block that prints it, or
|
|
114
|
+
otherwise by the header.
|
|
115
|
+
|
|
116
|
+
The former invoice-template administration API (`/api/v1/admin/invoice-templates*`)
|
|
117
|
+
is withdrawn; invoice templates are managed through
|
|
118
|
+
`/api/v1/admin/document-templates`. Invoicing cannot be switched on without
|
|
119
|
+
Document templates, and Document templates cannot be switched off while
|
|
120
|
+
invoicing is on.
|
package/i18n/en.json
CHANGED
|
@@ -10,8 +10,6 @@
|
|
|
10
10
|
"settings.storefrontBaseUrl.label": "Storefront base URL (invoice email links)",
|
|
11
11
|
"actions.openInvoices.label": "Open invoices",
|
|
12
12
|
"actions.openInvoices.description": "View and manage issued invoices and corrections",
|
|
13
|
-
"actions.invoiceTemplates.label": "Invoice templates",
|
|
14
|
-
"actions.invoiceTemplates.description": "Customize the invoice PDF layout (WYSIWYG)",
|
|
15
13
|
"list.title": "Invoices",
|
|
16
14
|
"errors.INVOICE_NOT_READY": "The invoice for this order is not ready yet. It becomes available once it has been issued.",
|
|
17
15
|
"errors.INVOICE_NUMBER_PATTERN_COLLIDES": "This numbering pattern can produce the same document number as another sales channel. Invoice numbers must be unique across the whole platform.",
|
|
@@ -41,5 +39,7 @@
|
|
|
41
39
|
"blocks.invoiceLogo.description": "The seller logo.",
|
|
42
40
|
"blocks.invoiceFooter.label": "Footer / legal",
|
|
43
41
|
"blocks.invoiceFooter.description": "The legal footer printed at the bottom of the invoice.",
|
|
44
|
-
"blocks.category.invoice": "Invoice sections"
|
|
42
|
+
"blocks.category.invoice": "Invoice sections",
|
|
43
|
+
"documentTypes.invoice.label": "Invoice",
|
|
44
|
+
"documentTypes.invoice.description": "The invoice PDF: downloaded by administrators and customers, and attached to the invoice e-mail."
|
|
45
45
|
}
|
package/i18n/pl.json
CHANGED
|
@@ -10,8 +10,6 @@
|
|
|
10
10
|
"settings.storefrontBaseUrl.label": "Bazowy URL Storefront (linki w mailach z fakturą)",
|
|
11
11
|
"actions.openInvoices.label": "Otwórz faktury",
|
|
12
12
|
"actions.openInvoices.description": "Przeglądaj i zarządzaj wystawionymi fakturami i korektami",
|
|
13
|
-
"actions.invoiceTemplates.label": "Szablony faktur",
|
|
14
|
-
"actions.invoiceTemplates.description": "Dostosuj wygląd PDF faktury (WYSIWYG)",
|
|
15
13
|
"list.title": "Faktury",
|
|
16
14
|
"errors.INVOICE_NOT_READY": "Faktura do tego zamówienia nie jest jeszcze gotowa. Będzie dostępna po jej wystawieniu.",
|
|
17
15
|
"errors.INVOICE_NUMBER_PATTERN_COLLIDES": "Ten wzorzec numeracji może wygenerować taki sam numer dokumentu jak inny kanał sprzedaży. Numery faktur muszą być unikalne w całej platformie.",
|
|
@@ -41,5 +39,7 @@
|
|
|
41
39
|
"blocks.invoiceLogo.description": "Logo sprzedawcy.",
|
|
42
40
|
"blocks.invoiceFooter.label": "Stopka / informacje prawne",
|
|
43
41
|
"blocks.invoiceFooter.description": "Stopka prawna drukowana na dole faktury.",
|
|
44
|
-
"blocks.category.invoice": "Sekcje faktury"
|
|
42
|
+
"blocks.category.invoice": "Sekcje faktury",
|
|
43
|
+
"documentTypes.invoice.label": "Faktura",
|
|
44
|
+
"documentTypes.invoice.description": "PDF faktury: pobierany przez administratorów i klientów oraz dołączany do e-maila z fakturą."
|
|
45
45
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@endora-commerce/mod-invoices",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.107.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "Invoice generation, numbering, PDF templates, corrections, and email delivery.",
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
"react": "^19",
|
|
63
63
|
"react-router-dom": "^7",
|
|
64
64
|
"zod": "^4",
|
|
65
|
-
"@endora-commerce/admin-kit": "0.
|
|
66
|
-
"@endora-commerce/contracts": "0.
|
|
67
|
-
"@endora-commerce/email-components": "0.
|
|
68
|
-
"@endora-commerce/page-builder-admin": "0.
|
|
69
|
-
"@endora-commerce/page-builder-core": "0.
|
|
70
|
-
"@endora-commerce/platform": "0.
|
|
65
|
+
"@endora-commerce/admin-kit": "0.107.0",
|
|
66
|
+
"@endora-commerce/contracts": "0.107.0",
|
|
67
|
+
"@endora-commerce/email-components": "0.107.0",
|
|
68
|
+
"@endora-commerce/page-builder-admin": "0.107.0",
|
|
69
|
+
"@endora-commerce/page-builder-core": "0.107.0",
|
|
70
|
+
"@endora-commerce/platform": "0.107.0"
|
|
71
71
|
},
|
|
72
72
|
"peerDependenciesMeta": {
|
|
73
73
|
"@endora-commerce/admin-kit": {
|
|
@@ -106,12 +106,12 @@
|
|
|
106
106
|
"typescript": "^5.9.3",
|
|
107
107
|
"vitest": "^4.1.11",
|
|
108
108
|
"zod": "^4.2.0",
|
|
109
|
-
"@endora-commerce/admin-kit": "0.
|
|
110
|
-
"@endora-commerce/contracts": "0.
|
|
111
|
-
"@endora-commerce/
|
|
112
|
-
"@endora-commerce/
|
|
113
|
-
"@endora-commerce/page-builder-core": "0.
|
|
114
|
-
"@endora-commerce/platform": "0.
|
|
109
|
+
"@endora-commerce/admin-kit": "0.107.0",
|
|
110
|
+
"@endora-commerce/contracts": "0.107.0",
|
|
111
|
+
"@endora-commerce/email-components": "0.107.0",
|
|
112
|
+
"@endora-commerce/page-builder-admin": "0.107.0",
|
|
113
|
+
"@endora-commerce/page-builder-core": "0.107.0",
|
|
114
|
+
"@endora-commerce/platform": "0.107.0"
|
|
115
115
|
},
|
|
116
116
|
"scripts": {
|
|
117
117
|
"build": "tsc -p tsconfig.build.json && tsc -p tsconfig.ui.json",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
2
|
-
import '@puckeditor/core/puck.css';
|
|
3
|
-
/** Admin editor for an invoice PDF template (feature 047, US6). */
|
|
4
|
-
export declare function InvoiceTemplateEditor(): ReactNode;
|
|
5
|
-
/**
|
|
6
|
-
* The registry loads a route component through a dynamic-import factory and
|
|
7
|
-
* reads its default export (feature 091, FR-013). The named export stays: it is
|
|
8
|
-
* the spelling this module's own code and its tests use.
|
|
9
|
-
*/
|
|
10
|
-
export default InvoiceTemplateEditor;
|
|
11
|
-
//# sourceMappingURL=InvoiceTemplateEditor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InvoiceTemplateEditor.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/InvoiceTemplateEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlF,OAAO,2BAA2B,CAAC;AAmEnC,mEAAmE;AACnE,wBAAgB,qBAAqB,IAAI,SAAS,CA8OjD;AAED;;;;GAIG;AACH,eAAe,qBAAqB,CAAC"}
|