Author: sichen
Date: Wed Mar 7 09:45:29 2007
New Revision: 515660
URL: http://svn.apache.org/viewvc?view=rev&rev=515660
Log:
OFBIZ-781: Implement setting to control auto-approval of sales invoice
Modified:
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml
ofbiz/trunk/applications/ecommerce/data/DemoRentalProduct.xml
ofbiz/trunk/applications/product/entitydef/entitymodel.xml
ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml
Modified:
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java?view=diff&rev=515660&r1=515659&r2=515660
==============================================================================
---
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
(original)
+++
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
Wed Mar 7 09:45:29 2007
@@ -740,14 +740,18 @@
}
}
- // should all be in place now, so set status to INVOICE_READY
(unless it's a purchase invoice, which we sets to INVOICE_IN_PROCESS)
- String nextStatusId = "INVOICE_READY";
- if (invoiceType.equals("PURCHASE_INVOICE")) {
- nextStatusId = "INVOICE_IN_PROCESS";
- }
- Map setInvoiceStatusResult =
dispatcher.runSync("setInvoiceStatus", UtilMisc.toMap("invoiceId", invoiceId,
"statusId", nextStatusId, "userLogin", userLogin));
- if (ServiceUtil.isError(setInvoiceStatusResult)) {
- return
ServiceUtil.returnError(UtilProperties.getMessage(resource,"AccountingErrorCreatingInvoiceFromOrder",locale),
null, null, setInvoiceStatusResult);
+ // Should all be in place now. Depending on the
ProductStore.autoApproveInvoice setting, set status to INVOICE_READY (unless
it's a purchase
+ // invoice, which we set to INVOICE_IN_PROCESS)
+ boolean autoApproveInvoice =
UtilValidate.isEmpty(productStore.get("autoApproveInvoice")) ||
"Y".equals(productStore.getString("autoApproveInvoice"));
+ if(autoApproveInvoice) {
+ String nextStatusId = "INVOICE_READY";
+ if (invoiceType.equals("PURCHASE_INVOICE")) {
+ nextStatusId = "INVOICE_IN_PROCESS";
+ }
+ Map setInvoiceStatusResult =
dispatcher.runSync("setInvoiceStatus", UtilMisc.toMap("invoiceId", invoiceId,
"statusId", nextStatusId, "userLogin", userLogin));
+ if (ServiceUtil.isError(setInvoiceStatusResult)) {
+ return
ServiceUtil.returnError(UtilProperties.getMessage(resource,"AccountingErrorCreatingInvoiceFromOrder",locale),
null, null, setInvoiceStatusResult);
+ }
}
// check to see if we are all paid up
Modified: ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml?view=diff&rev=515660&r1=515659&r2=515660
==============================================================================
--- ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml (original)
+++ ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml Wed Mar 7 09:45:29
2007
@@ -49,7 +49,7 @@
authFraudMessage="Your order has been rejected and your account has
been disabled due to fraud."
authErrorMessage="Problem connecting to payment processor; we will
continue to retry and notify you by email."
storeCreditValidDays="90"
- styleSheet="/images/ecommain.css" headerLogo="/images/ofbiz_logo.jpg"/>
+ styleSheet="/images/ecommain.css" headerLogo="/images/ofbiz_logo.jpg"
autoApproveInvoice="Y"/>
<ProductStorePaymentSetting productStoreId="9000"
paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_AUTH"
paymentService="alwaysApproveCCProcessor"/>
<ProductStorePaymentSetting productStoreId="9000"
paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_RELEASE"
paymentService="testCCRelease"/>
<ProductStorePaymentSetting productStoreId="9000"
paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_CAPTURE"
paymentService="testCCCapture"/>
Modified: ofbiz/trunk/applications/ecommerce/data/DemoRentalProduct.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/data/DemoRentalProduct.xml?view=diff&rev=515660&r1=515659&r2=515660
==============================================================================
--- ofbiz/trunk/applications/ecommerce/data/DemoRentalProduct.xml (original)
+++ ofbiz/trunk/applications/ecommerce/data/DemoRentalProduct.xml Wed Mar 7
09:45:29 2007
@@ -28,7 +28,7 @@
authDeclinedMessage="There has been a problem with your method of
payment. Please try a different method or call customer service."
authFraudMessage="Your order has been rejected and your account has
been disabled due to fraud."
authErrorMessage="Problem connecting to payment processor; we will
continue to retry and notify you by email."
- styleSheet="/images/ecommain.css"
headerLogo="/images/opentravelsystem_logo.jpg"/>
+ styleSheet="/images/ecommain.css"
headerLogo="/images/opentravelsystem_logo.jpg" autoApproveInvoice="Y"/>
<ProductStorePaymentSetting productStoreId="RentalStore"
paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_AUTH"
paymentService="alwaysApproveCCProcessor"/>
<ProductStorePaymentSetting productStoreId="RentalStore"
paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_RELEASE"
paymentService="testCCRelease"/>
<ProductStorePaymentSetting productStoreId="RentalStore"
paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_CAPTURE"
paymentService="testCCCapture"/>
Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?view=diff&rev=515660&r1=515659&r2=515660
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Wed Mar 7
09:45:29 2007
@@ -3148,6 +3148,7 @@
<field name="autoOrderCcTryLaterNsf" type="indicator"><description>For
auto-orders if Credit Cards fails for NSF (Not Sufficient Funds) try again
later?</description></field>
<field name="autoOrderCcTryLaterMax" type="numeric"><description>For
auto-orders if Credit Cards fails for NSF try again how many
times?</description></field>
<field name="storeCreditValidDays" type="numeric"><description>How many
days that store credit is valid for. Null value implies no
expiration.</description></field>
+ <field name="autoApproveInvoice" type="indicator"><description>If Y or
empty, sales invoices created from orders will be marked
ready.</description></field>
<prim-key field="productStoreId"/>
<relation type="one" fk-name="PROD_STR_PRSTRGP" title="Primary"
rel-entity-name="ProductStoreGroup">
<key-map field-name="primaryStoreGroupId"
rel-field-name="productStoreGroupId"/>
Modified: ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml?view=diff&rev=515660&r1=515659&r2=515660
==============================================================================
--- ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml (original)
+++ ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml Wed Mar 7 09:45:29 2007
@@ -53,7 +53,7 @@
authDeclinedMessage="There has been a problem with your method of
payment. Please try a different method or call customer service."
authFraudMessage="Your order has been rejected and your account has
been disabled due to fraud."
authErrorMessage="Problem connecting to payment processor; we will
continue to retry and notify you by email."
- styleSheet="" headerLogo=""/>
+ styleSheet="" headerLogo="" autoApproveInvoice="Y"/>
<ProductStorePaymentSetting productStoreId="9100"
paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_AUTH"
paymentService="alwaysApproveWithCaptureCCProcessor"/>
<ProductStorePaymentSetting productStoreId="9100"
paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_RELEASE"
paymentService="testCCRelease"/>