Author: apatel
Date: Fri Nov 13 02:16:54 2009 New Revision: 835709 URL: http://svn.apache.org/viewvc?rev=835709&view=rev Log: Bulk print Invoices. Added: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl (with props) Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=835709&r1=835708&r2=835709&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original) +++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Fri Nov 13 02:16:54 2009 @@ -7949,6 +7949,9 @@ <value xml:lang="en">Print Deposit Slip</value> <value xml:lang="hi_IN">à¤à¤®à¤¾ परà¥à¤à¥ पà¥à¤°à¤¿à¤à¤ à¤à¤°à¥</value> </property> + <property key="AccountingPrintInvoices"> + <value xml:lang="en">Print Invoices</value> + </property> <property key="AccountingProblemChangingInvoiceStatusTo"> <value xml:lang="ar">Ù Ø´Ù٠عÙد تغÙÙر ÙضعÙØ© اÙÙاتÙرة Ø¥ÙÙ ${newStatus}</value> <value xml:lang="de">Problem bei der Ãnderung des Rechnungsstatus auf ${newStatus}</value> Added: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy?rev=835709&view=auto ============================================================================== --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy (added) +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy Fri Nov 13 02:16:54 2009 @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.text.DateFormat; +import org.ofbiz.accounting.invoice.InvoiceWorker; +import org.ofbiz.base.util.UtilNumber; +import org.ofbiz.entity.condition.EntityCondition; + +invoiceDetailList = []; +invoiceIds.each { invoiceId -> + invoicesMap = [:]; + invoice = delegator.findOne("Invoice", [invoiceId : invoiceId], false); + invoicesMap.invoice = invoice; + + currency = parameters.currency; // allow the display of the invoice in the original currency, the default is to display the invoice in the default currency + BigDecimal conversionRate = new BigDecimal("1"); + ZERO = BigDecimal.ZERO; + decimals = UtilNumber.getBigDecimalScale("invoice.decimals"); + rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding"); + + if (invoice) { + if (currency && !invoice.getString("currencyUomId").equals(currency)) { + conversionRate = InvoiceWorker.getInvoiceCurrencyConversionRate(invoice); + invoice.currencyUomId = currency; + invoice.invoiceMessage = " converted from original with a rate of: " + conversionRate.setScale(8, rounding); + } + + invoiceItems = invoice.getRelatedOrderBy("InvoiceItem", ["invoiceItemSeqId"]); + invoiceItemsConv = []; + invoiceItems.each { invoiceItem -> + if (invoiceItem.amount) { + invoiceItem.amount = invoiceItem.getBigDecimal("amount").multiply(conversionRate).setScale(decimals, rounding); + invoiceItemsConv.add(invoiceItem); + } + } + + invoicesMap.invoiceItems = invoiceItemsConv; + + invoiceTotal = InvoiceWorker.getInvoiceTotal(invoice).multiply(conversionRate).setScale(decimals, rounding); + invoiceNoTaxTotal = InvoiceWorker.getInvoiceNoTaxTotal(invoice).multiply(conversionRate).setScale(decimals, rounding); + invoicesMap.invoiceTotal = invoiceTotal; + invoicesMap.invoiceNoTaxTotal = invoiceNoTaxTotal; + + if ("PURCHASE_INVOICE".equals(invoice.invoiceTypeId)) { + billingAddress = InvoiceWorker.getSendFromAddress(invoice); + } else { + billingAddress = InvoiceWorker.getBillToAddress(invoice); + } + if (billingAddress) { + invoicesMap.billingAddress = billingAddress; + } + billingParty = InvoiceWorker.getBillToParty(invoice); + invoicesMap.billingParty = billingParty; + sendingParty = InvoiceWorker.getSendFromParty(invoice); + invoicesMap.sendingParty = sendingParty; + + // This snippet was added for adding Tax ID in invoice header if needed + sendingTaxInfos = sendingParty.getRelated("PartyTaxAuthInfo"); + billingTaxInfos = billingParty.getRelated("PartyTaxAuthInfo"); + sendingPartyTaxId = null; + billingPartyTaxId = null; + + if (billingAddress) { + sendingTaxInfos.eachWithIndex { sendingTaxInfo, i -> + if (sendingTaxInfo.taxAuthGeoId.equals(billingAddress.countryGeoId)) { + sendingPartyTaxId = sendingTaxInfos[i-1].partyTaxId; + } + } + billingTaxInfos.eachWithIndex { billingTaxInfo, i -> + if (billingTaxInfo.taxAuthGeoId.equals(billingAddress.countryGeoId)) { + billingPartyTaxId = billingTaxInfos[i-1].partyTaxId; + } + } + } + if (sendingPartyTaxId) { + invoicesMap.sendingPartyTaxId = sendingPartyTaxId; + } + if (billingPartyTaxId) { + invoicesMap.billingPartyTaxId = billingPartyTaxId; + } + + terms = invoice.getRelated("InvoiceTerm"); + invoicesMap.terms = terms; + + paymentAppls = delegator.findList("PaymentApplication", EntityCondition.makeCondition([invoiceId : invoiceId]), null, null, null, false); + invoicesMap.payments = paymentAppls; + + orderItemBillings = delegator.findList("OrderItemBilling", EntityCondition.makeCondition([invoiceId : invoiceId]), null, ['orderId'], null, false); + orders = new LinkedHashSet(); + orderItemBillings.each { orderIb -> + orders.add(orderIb.orderId); + } + invoicesMap.orders = orders; + + invoiceStatus = invoice.getRelatedOne("StatusItem"); + invoicesMap.invoiceStatus = invoiceStatus; + + edit = parameters.editInvoice; + if ("true".equalsIgnoreCase(edit)) { + invoiceItemTypes = delegator.findList("InvoiceItemType", null, null, null, null, false); + invoicesMap.invoiceItemTypes = invoiceItemTypes; + invoicesMap.editInvoice = true; + } + + // format the date + if (invoice.invoiceDate) { + invoiceDate = DateFormat.getDateInstance(DateFormat.LONG).format(invoice.invoiceDate); + invoicesMap.invoiceDate = invoiceDate; + } else { + invoicesMap.invoiceDate = "N/A"; + } + } + invoiceDetailList.add(invoicesMap); +} + +context.invoiceDetailList = invoiceDetailList; Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=835709&r1=835708&r2=835709&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Fri Nov 13 02:16:54 2009 @@ -2180,6 +2180,11 @@ <!-- security https="true" auth="true"/ --> <response name="success" type="view" value="PrintCheckPDF"/> </request-map> + + <request-map uri="PrintInvoices"> + <security https="true" auth="true"/> + <response name="success" type="view" value="PrintInvoices"/> + </request-map> <!--Global GL Settings --> <request-map uri="globalGLSettings"> @@ -2698,6 +2703,7 @@ <!-- PDFs --> <view-map name="InvoicePDF" type="screenfop" page="component://accounting/widget/AccountingPrintScreens.xml#InvoicePDF" content-type="application/pdf" encoding="none"/> <view-map name="PrintCheckPDF" type="screenfop" page="component://accounting/widget/AccountingPrintScreens.xml#PrintCheckPDF" content-type="application/pdf" encoding="none"/> + <view-map name="PrintInvoices" type="screenfop" page="component://accounting/widget/AccountingPrintScreens.xml#PrintInvoices" content-type="application/pdf" encoding="none"/> <!-- Financial Summary Reports --> <view-map name="FinancialSummaryReportOptions" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#FinancialSummaryReportOptions"/> Added: ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl?rev=835709&view=auto ============================================================================== --- ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl (added) +++ ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl Fri Nov 13 02:16:54 2009 @@ -0,0 +1,293 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<#escape x as x?xml> + <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <fo:layout-master-set> + <fo:simple-page-master master-name="main" page-height="11in" page-width="8.5in" + margin-top="0.5in" margin-bottom="1in" margin-left=".5in" margin-right="1in"> + <fo:region-body margin-top="1in"/> + <fo:region-before extent="1in"/> + <fo:region-after extent="1in"/> + </fo:simple-page-master> + </fo:layout-master-set> + <#if invoiceDetailList?has_content> + <#list invoiceDetailList as invoiceDetail> + <#assign invoice = invoiceDetail.invoice /> + <#if invoiceDetail.billingParty?has_content> + <#assign billingParty = invoiceDetail.billingParty /> + </#if> + <fo:page-sequence master-reference="main"> + <fo:flow flow-name="xsl-region-body" font-family="Helvetica"> + <fo:block> + <fo:table> + <fo:table-column/> + <fo:table-column/> + <fo:table-body> + <fo:table-row> + <fo:table-cell> + <fo:block align="left"> + ${screens.render("component://order/widget/ordermgr/OrderPrintScreens.xml#CompanyLogo")} + </fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block align="right"> + <fo:table> + <fo:table-column column-width="1in"/> + <fo:table-column column-width="2.5in"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell> + <fo:block number-columns-spanned="2" font-weight="bold" wrap-option="no-wrap">${invoice.getRelatedOne("InvoiceType").get("description",locale)?if_exists}</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell><fo:block>${uiLabelMap.AccountingInvoiceDateAbbr}:</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${invoiceDetail.invoiceDate?if_exists}</fo:block></fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell><fo:block>${uiLabelMap.AccountingCustNr}:</fo:block></fo:table-cell> + <fo:table-cell> + <fo:block> + ${billingParty.partyId?if_exists} + </fo:block> + </fo:table-cell> + </fo:table-row> + <#if invoiceDetail.billingPartyTaxId?has_content> + <fo:table-row> + <fo:table-cell><fo:block>${uiLabelMap.PartyTaxId}:</fo:block></fo:table-cell> + <fo:table-cell><fo:block> ${invoiceDetail.billingPartyTaxId}</fo:block></fo:table-cell> + </fo:table-row> + </#if> + <fo:table-row> + <fo:table-cell><fo:block>${uiLabelMap.AccountingInvNr}:</fo:block></fo:table-cell> + <fo:table-cell><fo:block><#if invoice?has_content>${invoice.invoiceId}</#if></fo:block></fo:table-cell> + </fo:table-row> + <#if invoice?has_content && invoice.description?has_content> + <fo:table-row> + <fo:table-cell><fo:block>${uiLabelMap.AccountingDescr}:</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${invoice.description}</fo:block></fo:table-cell> + </fo:table-row> + </#if> + </fo:table-body> + </fo:table> + </fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + </fo:block> + + <#if billingParty?has_content> + <fo:block> + <fo:table space-after="0.3in"> + <fo:table-column column-width="3.5in"/> + <fo:table-body> + <fo:table-row > + <fo:table-cell> + <fo:block>${uiLabelMap.CommonTo}: </fo:block> + <#if invoiceDetail.billingAddress?has_content> + <#assign billingAddress = invoiceDetail.billingAddress /> + <#assign billingPartyNameResult = dispatcher.runSync("getPartyNameForDate", Static["org.ofbiz.base.util.UtilMisc"].toMap("partyId", billingParty.partyId, "compareDate", invoice.invoiceDate, "userLogin", userLogin))/> + <fo:block>${billingPartyNameResult.fullName?default(billingAddress.toName)?default("Billing Name Not Found")}</fo:block> + <#if billingAddress.attnName?exists> + <fo:block>${billingAddress.attnName}</fo:block> + </#if> + <fo:block>${billingAddress.address1?if_exists}</fo:block> + <#if billingAddress.address2?exists> + <fo:block>${billingAddress.address2}</fo:block> + </#if> + <fo:block>${billingAddress.city?if_exists} ${billingAddress.stateProvinceGeoId?if_exists} ${billingAddress.postalCode?if_exists}</fo:block> + <#else> + <fo:block>${uiLabelMap.AccountingNoGenBilAddressFound}${billingParty.partyId?if_exists}</fo:block> + </#if> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + </fo:block> + </#if> + + <fo:block> + <#if invoiceDetail.orders?has_content> + <#assign orders = invoiceDetail.orders?if_exists /> + <fo:table space-after="0.3in"> + <fo:table-column column-width="1in"/> + <fo:table-column column-width="5.5in"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell> + <fo:block font-size="10pt" font-weight="bold">${uiLabelMap.AccountingOrderNr}:</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block font-size ="10pt" font-weight="bold"><#list orders as order> ${order} </#list></fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + </#if> + + <#if invoiceDetail.invoiceItems?has_content> + <#assign invoiceItems = invoiceDetail.invoiceItems?if_exists /> + <fo:table> + <fo:table-column column-width="20mm"/> + <fo:table-column column-width="20mm"/> + <fo:table-column column-width="65mm"/> + <fo:table-column column-width="15mm"/> + <fo:table-column column-width="25mm"/> + <fo:table-column column-width="25mm"/> + + <fo:table-header height="14px"> + <fo:table-row> + <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black"> + <fo:block font-weight="bold">${uiLabelMap.AccountingItemNr}</fo:block> + </fo:table-cell> + <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black"> + <fo:block font-weight="bold">${uiLabelMap.AccountingProduct}</fo:block> + </fo:table-cell> + <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black"> + <fo:block font-weight="bold">${uiLabelMap.CommonDescription}</fo:block> + </fo:table-cell> + <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black"> + <fo:block font-weight="bold" text-align="center">${uiLabelMap.CommonQty}</fo:block> + </fo:table-cell> + <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black"> + <fo:block font-weight="bold" text-align="center">${uiLabelMap.AccountingUnitPrice}</fo:block> + </fo:table-cell> + <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black"> + <fo:block font-weight="bold" text-align="center">${uiLabelMap.CommonAmount}</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body font-size="10pt"> + <#assign currentShipmentId = ""> + <#assign newShipmentId = ""> + <#-- if the item has a description, then use its description. Otherwise, use the description of the invoiceItemType --> + <#list invoiceItems as invoiceItem> + <#assign itemType = invoiceItem.getRelatedOne("InvoiceItemType")> + <#assign taxRate = invoiceItem.getRelatedOne("TaxAuthorityRateProduct")?if_exists> + <#assign itemBillings = invoiceItem.getRelated("OrderItemBilling")?if_exists> + <#if itemBillings?has_content> + <#assign itemBilling = Static["org.ofbiz.entity.util.EntityUtil"].getFirst(itemBillings)> + <#if itemBilling?has_content> + <#assign itemIssuance = itemBilling.getRelatedOne("ItemIssuance")?if_exists> + <#if itemIssuance?has_content> + <#assign newShipmentId = itemIssuance.shipmentId> + </#if> + </#if> + </#if> + <#if invoiceItem.description?has_content> + <#assign description=invoiceItem.description> + <#elseif taxRate?has_content & taxRate.get("description",locale)?has_content> + <#assign description=taxRate.get("description",locale)> + <#elseif itemType.get("description",locale)?has_content> + <#assign description=itemType.get("description",locale)> + </#if> + + <#if newShipmentId?exists & newShipmentId != currentShipmentId> + <#-- the shipment id is printed at the beginning for each + group of invoice items created for the same shipment + --> + <fo:table-row height="14px"> + <fo:table-cell number-columns-spanned="6"> + <fo:block></fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row height="14px"> + <fo:table-cell number-columns-spanned="6"> + <fo:block font-weight="bold"> ${uiLabelMap.ProductShipmentId}: ${newShipmentId} </fo:block> + </fo:table-cell> + </fo:table-row> + <#assign currentShipmentId = newShipmentId> + </#if> + <fo:table-row height="7px"> + <fo:table-cell number-columns-spanned="6"> + <fo:block></fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row height="14px" space-start=".15in"> + <fo:table-cell> + <fo:block> ${invoiceItem.invoiceItemSeqId} </fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block text-align="left">${invoiceItem.productId?if_exists} </fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block text-align="right">${description?if_exists}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block text-align="center"> <#if invoiceItem.quantity?exists>${invoiceItem.quantity?string.number}</#if> </fo:block> + </fo:table-cell> + <fo:table-cell text-align="right"> + <fo:block> <#if invoiceItem.quantity?exists><@ofbizCurrency amount=invoiceItem.amount?if_exists isoCode=invoice.currencyUomId?if_exists/></#if> </fo:block> + </fo:table-cell> + <fo:table-cell text-align="right"> + <fo:block> <@ofbizCurrency amount=(Static["org.ofbiz.accounting.invoice.InvoiceWorker"].getInvoiceItemTotal(invoiceItem)) isoCode=invoice.currencyUomId?if_exists/> </fo:block> + </fo:table-cell> + </fo:table-row> + </#list> + + <#-- the grand total --> + <fo:table-row> + <fo:table-cell number-columns-spanned="3"> + <fo:block/> + </fo:table-cell> + <fo:table-cell> + <fo:block font-weight="bold">${uiLabelMap.AccountingTotalCapital}</fo:block> + </fo:table-cell> + <fo:table-cell text-align="right" number-columns-spanned="2"> + <fo:block font-weight="bold"> + <#if invoiceDetail.invoiceTotal?has_content> + <#assign invoiceTotal = invoiceDetail.invoiceTotal?if_exists /> + <@ofbizCurrency amount=invoiceTotal isoCode=invoice.currencyUomId?if_exists/> + </#if> + </fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row height="7px"> + <fo:table-cell> + <fo:block/> + </fo:table-cell> + </fo:table-row> + <fo:table-row height="14px"> + <fo:table-cell number-columns-spanned="3"> + <fo:block/> + </fo:table-cell> + <fo:table-cell number-columns-spanned="2"> + <fo:block>${uiLabelMap.AccountingTotalExclTax}</fo:block> + </fo:table-cell> + <fo:table-cell number-columns-spanned="1" text-align="right"> + <fo:block> + <#if invoiceDetail.invoiceNoTaxTotal?has_content> + <#assign invoiceNoTaxTotal = invoiceDetail.invoiceNoTaxTotal?if_exists /> + <@ofbizCurrency amount=invoiceNoTaxTotal isoCode=invoice.currencyUomId?if_exists/> + </#if> + </fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + </#if> + </fo:block> + </fo:flow> + </fo:page-sequence> + </#list> + </#if> + </fo:root> +</#escape> Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl?rev=835709&r1=835708&r2=835709&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl (original) +++ ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl Fri Nov 13 02:16:54 2009 @@ -102,6 +102,7 @@ <select name="serviceName" id="serviceName" onchange="javascript:setServiceName(this);"> <option value="">${uiLabelMap.AccountingSelectAction}</option> <option value="<@ofbizUrl>processMassCheckRun</@ofbizUrl>" id="processMassCheckRun">${uiLabelMap.AccountingIssueCheck}</option> + <option value="<@ofbizUrl>PrintInvoices</@ofbizUrl>">${uiLabelMap.AccountingPrintInvoices}</option> <option value="massInvoicesToApprove">${uiLabelMap.AccountingInvoiceStatusToApproved}</option> <option value="massInvoicesToReceive">${uiLabelMap.AccountingInvoiceStatusToReceived}</option> <option value="massInvoicesToReady">${uiLabelMap.AccountingInvoiceStatusToReady}</option> Modified: ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml?rev=835709&r1=835708&r2=835709&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml (original) +++ ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml Fri Nov 13 02:16:54 2009 @@ -100,4 +100,21 @@ </fail-widgets> </section> </screen> -</screens> \ No newline at end of file + <screen name="PrintInvoices"> + <section> + <actions> + <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/> + <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/> + <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/> + <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/> + <set field="invoiceIds" from-field="parameters.invoiceIds" type="List"/> + <script location="component://accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy"/> + </actions> + <widgets> + <platform-specific> + <xsl-fo><html-template location="component://accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl"/></xsl-fo> + </platform-specific> + </widgets> + </section> + </screen> +</screens> |
Free forum by Nabble | Edit this page |