Details
-
New Feature
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
Trunk, Upcoming Branch
-
None
-
Bug Crush Event - 21/2/2015
Description
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
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
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 :
//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] }
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 ....
Attachments
Issue Links
- Parent Feature
-
OFBIZ-10186 Configure official document templates for an organizational party
- Closed