[ https://issues.apache.org/jira/browse/OFBIZ-5759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ingo Wolfmayr updated OFBIZ-5759: --------------------------------- Attachment: InvoiceTemplate.patch > Multiple invoice templates > -------------------------- > > Key: OFBIZ-5759 > URL: https://issues.apache.org/jira/browse/OFBIZ-5759 > Project: OFBiz > Issue Type: New Feature > Components: accounting > Affects Versions: Trunk, Upcoming Branch > Reporter: Nicolas Malin > Priority: Minor > Labels: invoice, template > Attachments: InvoiceTemplate.patch > > > Open this issue behind discussion on user mailing list : > http://ofbiz.markmail.org/message/rtrxzvlozlnribye?q=multiple+invoice+template > to keep in mind and/or if some people is interested to contribute ;) > {quote} I am looking for a way to add additional invoice templates without > changing to much of the original ofbiz code if possible. > The case: - multiple unrelated companies - multi tenant environment - > multiple invoice layouts > {quote} > When I have this case on a projet, I use the content system to load the > template. > Example : Store a default template for each organization or a template > specific by some customer. > * Create PartyContentType : INVOICE_TEMPLATE > * Load your templates en Content > * Associate your content to each organization in ofbiz > * if a customer have a specific template associate it > On your InvoicePDF screen resolve the template by a groovy script : > {code:java} > //resolve if customer template is present > partyContents = delegator.findByAndCache("PartyContent", [partyId : > invoice.partyId]) > if (partyContents) partyContents = EntityUtil.filterByDate(partyContents, > invoice.invoiceDate) > if (partyContents) partyContent = partyContents[0] > if (!partyContent) { //resolve if organization hasa template > partyContents = delegator.findByAndCache("PartyContent", [partyId : > invoice.partyIdFrom]) > if (partyContents) partyContents = EntityUtil.filterByDate(partyContents, > invoice.invoiceDate) > if (partyContents) partyContent = partyContents[0] > } > {code} > Warn, I wrote the code on the fly, maybe it doesn't contains the absolute > true ;) > Now you have a content, you can resolve your flow has you want (ftl > injection, content service to renderer string), etc .... -- This message was sent by Atlassian Jira (v8.20.7#820007)