Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-5759

Multiple invoice templates

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • Trunk, Upcoming Branch
    • None
    • accounting
    • 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

          Activity

            People

              Unassigned Unassigned
              nmalin Nicolas Malin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: