Hans,
I just read through your commits and saw this. May I ask how this is
different than createInvoiceForOrder? Also, can I ask why this
service uses the "system" login rather than the usual userLogin from
parameters?
Si
Begin forwarded message:
From: [EMAIL PROTECTED]
Date: July 26, 2006 8:52:56 PM PDT
To: [email protected]
Subject: svn commit: r425946 - in /incubator/ofbiz/trunk/
applications/accounting: servicedef/services_invoice.xml src/org/
ofbiz/accounting/invoice/InvoiceServices.java
Reply-To: [email protected]
Author: hansbak
Date: Wed Jul 26 20:52:55 2006
New Revision: 425946
URL: http://svn.apache.org/viewvc?rev=425946&view=rev
Log:
create a new service to create an invoice from an order using all
orderitems: createInvoiceForOrderAllItems
Modified:
incubator/ofbiz/trunk/applications/accounting/servicedef/
services_invoice.xml
incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/
accounting/invoice/InvoiceServices.java
Modified: incubator/ofbiz/trunk/applications/accounting/servicedef/
services_invoice.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/
applications/accounting/servicedef/services_invoice.xml?
rev=425946&r1=425945&r2=425946&view=diff
======================================================================
========
--- incubator/ofbiz/trunk/applications/accounting/servicedef/
services_invoice.xml (original)
+++ incubator/ofbiz/trunk/applications/accounting/servicedef/
services_invoice.xml Wed Jul 26 20:52:55 2006
@@ -142,6 +142,15 @@
<auto-attributes mode="IN" include="nonpk" optional="false"/>
<override name="uomId" optional="true"/>
</service>
+ <service name="createInvoiceForOrderAllItems" engine="java"
+ location="org.ofbiz.accounting.invoice.InvoiceServices"
invoke="createInvoiceForOrderAllItems">
+ <description>
+ Create an invoice from existing order using all order
items
+ orderId = The orderId to associate the invoice with
+ </description>
+ <attribute name="orderId" type="String" mode="IN"
optional="false"/>
+ <attribute name="invoiceId" type="String" mode="OUT"
optional="true"/>
+ </service>
<service name="createInvoiceForOrder" engine="java"
location="org.ofbiz.accounting.invoice.InvoiceServices"
invoke="createInvoiceForOrder">
<description>
Modified: incubator/ofbiz/trunk/applications/accounting/src/org/
ofbiz/accounting/invoice/InvoiceServices.java
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/
applications/accounting/src/org/ofbiz/accounting/invoice/
InvoiceServices.java?rev=425946&r1=425945&r2=425946&view=diff
======================================================================
========
--- incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/
accounting/invoice/InvoiceServices.java (original)
+++ incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/
accounting/invoice/InvoiceServices.java Wed Jul 26 20:52:55 2006
@@ -110,6 +110,28 @@
public static final String resource = "AccountingUiLabels";
+ // service to create an invoice for a complete order by the
system userid
+ public static Map createInvoiceForOrderAllItems
(DispatchContext dctx, Map context) {
+ GenericDelegator delegator = dctx.getDelegator();
+ try {
+ List orderItems = delegator.findByAnd("OrderItem",
UtilMisc.toMap("orderId", (String) context.get("orderId")));
+ if (orderItems != null && orderItems.size() > 0) {
+ context.put("billItems", orderItems);
+ }
+ // get the system userid and store in context
otherwise the invoice add service does not work
+ GenericValue userLogin = (GenericValue)
delegator.findByPrimaryKey("UserLogin", UtilMisc.toMap
("userLoginId", "system"));
+ if (userLogin != null) {
+ context.put("userLogin", userLogin);
+ }
+
+ } catch (GenericEntityException e) {
+ String errMsg = UtilProperties.getMessage
(resource,"AccountingEntityDataProblemCreatingInvoiceFromOrderItems",U
tilMisc.toMap("reason",e.toString()),(Locale) context.get("locale"));
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(errMsg);
+ }
+ return createInvoiceForOrder(dctx, context);
+ }
+
/* Service to create an invoice for an order */
public static Map createInvoiceForOrder(DispatchContext dctx,
Map context) {
GenericDelegator delegator = dctx.getDelegator();