You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2013/06/19 07:59:13 UTC
svn commit: r1494466 - in /ofbiz/trunk/applications/order:
config/OrderErrorUiLabels.xml src/org/ofbiz/order/OrderManagerEvents.java
webapp/ordermgr/order/receivepayment.ftl widget/ordermgr/OrderViewScreens.xml
Author: hansbak
Date: Wed Jun 19 05:59:13 2013
New Revision: 1494466
URL: http://svn.apache.org/r1494466
Log:
now you can also (next to the payment method type) enter the payment on the sales order using the payment method used by the related receiving accounting company
Modified:
ofbiz/trunk/applications/order/config/OrderErrorUiLabels.xml
ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java
ofbiz/trunk/applications/order/webapp/ordermgr/order/receivepayment.ftl
ofbiz/trunk/applications/order/widget/ordermgr/OrderViewScreens.xml
Modified: ofbiz/trunk/applications/order/config/OrderErrorUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/config/OrderErrorUiLabels.xml?rev=1494466&r1=1494465&r2=1494466&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/config/OrderErrorUiLabels.xml (original)
+++ ofbiz/trunk/applications/order/config/OrderErrorUiLabels.xml Wed Jun 19 05:59:13 2013
@@ -2805,6 +2805,9 @@
<value xml:lang="zh">æ订åè·åéè´§éé¢æ¶åºç°é®é¢</value>
<value xml:lang="zh_TW">æè¨å®ç²åé貨éé¡æåºç¾åé¡</value>
</property>
+ <property key="OrderProblemsWithPaymentMethodLookup">
+ <value xml:lang="en">Problems with PaymentMethod lookup. </value>
+ </property>
<property key="OrderProblemsWithPaymentTypeLookup">
<value xml:lang="de">Problem mit Zahlungsart-Suchhilfe. </value>
<value xml:lang="en">Problems with PaymentType lookup. </value>
Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java?rev=1494466&r1=1494465&r2=1494466&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java Wed Jun 19 05:59:13 2013
@@ -131,11 +131,14 @@ public class OrderManagerEvents {
Locale locale = UtilHttp.getLocale(request);
String orderId = request.getParameter("orderId");
+ String partyId = request.getParameter("partyId");
// get the order header & payment preferences
GenericValue orderHeader = null;
+ List<GenericValue> orderRoles = null;
try {
orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false);
+ orderRoles = delegator.findList("OrderRole", EntityCondition.makeCondition("orderId", EntityOperator.EQUALS, orderId), null, null, null, false);
} catch (GenericEntityException e) {
Debug.logError(e, "Problems reading order header from datasource.", module);
request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage(resource_error,"OrderProblemsReadingOrderHeaderInformation", locale));
@@ -164,7 +167,17 @@ public class OrderManagerEvents {
return "error";
}
- List<GenericValue> toBeStored = FastList.newInstance();
+ // get the payment methods to receive
+ List<GenericValue> paymentMethods = null;
+ try {
+ EntityExpr ee = EntityCondition.makeCondition("partyId", EntityOperator.EQUALS, partyId);
+ paymentMethods = delegator.findList("PaymentMethod", ee, null, null, null, false);
+ } catch (GenericEntityException e) {
+ Debug.logError(e, "Problems getting payment methods", module);
+ request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage(resource_error,"OrderProblemsWithPaymentMethodLookup", locale));
+ return "error";
+ }
+
GenericValue placingCustomer = null;
try {
List<GenericValue> pRoles = delegator.findByAnd("OrderRole", UtilMisc.toMap("orderId", orderId, "roleTypeId", "PLACING_CUSTOMER"), null, false);
@@ -176,6 +189,48 @@ public class OrderManagerEvents {
return "error";
}
+ for(GenericValue paymentMethod : paymentMethods) {
+ String paymentMethodId = paymentMethod.getString("paymentMethodId");
+ String paymentMethodAmountStr = request.getParameter(paymentMethodId + "_amount");
+ String paymentMethodReference = request.getParameter(paymentMethodId + "_reference");
+ if (!UtilValidate.isEmpty(paymentMethodAmountStr)) {
+ BigDecimal paymentMethodAmount = BigDecimal.ZERO;
+ try {
+ paymentMethodAmount = (BigDecimal) ObjectType.simpleTypeConvert(paymentMethodAmountStr, "BigDecimal", null, locale);
+ } catch (GeneralException e) {
+ request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage(resource_error,"OrderProblemsPaymentParsingAmount", locale));
+ return "error";
+ }
+ if (paymentMethodAmount.compareTo(BigDecimal.ZERO) > 0) {
+ // create a payment, payment reference and payment appl record, when not exist yet.
+ Map<String, Object> results = null;
+ try {
+ results = dispatcher.runSync("createPaymentFromOrder",
+ UtilMisc.toMap("orderId", orderId,
+ "paymentMethodId", paymentMethodId,
+ "paymentRefNum", paymentMethodReference,
+ "comments", "Payment received offline and manually entered.",
+ "userLogin", userLogin));
+ } catch (GenericServiceException e) {
+ Debug.logError(e, "Failed to execute service createPaymentFromOrder", module);
+ request.setAttribute("_ERROR_MESSAGE_", e.getMessage());
+ return "error";
+ }
+
+ if ((results == null) || (results.get(ModelService.RESPONSE_MESSAGE).equals(ModelService.RESPOND_ERROR))) {
+ Debug.logError((String) results.get(ModelService.ERROR_MESSAGE), module);
+ request.setAttribute("_ERROR_MESSAGE_", results.get(ModelService.ERROR_MESSAGE));
+ return "error";
+ }
+
+ }
+ OrderChangeHelper.approveOrder(dispatcher, userLogin, orderId);
+ return "success";
+ }
+ }
+
+
+ List<GenericValue> toBeStored = FastList.newInstance();
for(GenericValue paymentMethodType : paymentMethodTypes) {
String paymentMethodTypeId = paymentMethodType.getString("paymentMethodTypeId");
String amountStr = request.getParameter(paymentMethodTypeId + "_amount");
@@ -189,7 +244,6 @@ public class OrderManagerEvents {
return "error";
}
if (paymentTypeAmount.compareTo(BigDecimal.ZERO) > 0) {
-
// create the OrderPaymentPreference
// TODO: this should be done with a service
Map<String, String> prefFields = UtilMisc.<String, String>toMap("orderPaymentPreferenceId", delegator.getNextSeqId("OrderPaymentPreference"));
Modified: ofbiz/trunk/applications/order/webapp/ordermgr/order/receivepayment.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/order/receivepayment.ftl?rev=1494466&r1=1494465&r2=1494466&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/webapp/ordermgr/order/receivepayment.ftl (original)
+++ ofbiz/trunk/applications/order/webapp/ordermgr/order/receivepayment.ftl Wed Jun 19 05:59:13 2013
@@ -33,6 +33,30 @@ under the License.
<#if requestParameters.workEffortId?exists>
<input type="hidden" name="workEffortId" value="${requestParameters.workEffortId}" />
</#if>
+ <input type="hidden" name="partyId" value="${orderRoles[0].partyId}" />
+
+ <#if paymentMethods?has_content>
+ <table class="basic-table" cellspacing='0'>
+ <tr class="header-row">
+ <td width="30%" align="right">${uiLabelMap.PaymentMethod}</td>
+ <td width="1"> </td>
+ <td width="1">${uiLabelMap.OrderAmount}</td>
+ <td width="1"> </td>
+ <td width="70%">${uiLabelMap.OrderReference}</td>
+ </tr>
+ <#list paymentMethods as payMethod>
+ <tr>
+ <td width="30%" align="right">${payMethod.get("description",locale)?default(payMethod.paymentMethodId)}</td>
+ <td width="1"> </td>
+ <td width="1"><input type="text" size="7" name="${payMethod.paymentMethodId}_amount" /></td>
+ <td width="1"> </td>
+ <td width="70%"><input type="text" size="15" name="${payMethod.paymentMethodId}_reference" /></td>
+ </tr>
+ </#list>
+ </table>
+ </#if>
+ <br /> <br />
+ <#if paymentMethodTypes?has_content>
<table class="basic-table" cellspacing='0'>
<tr class="header-row">
<td width="30%" align="right">${uiLabelMap.OrderPaymentType}</td>
@@ -51,6 +75,7 @@ under the License.
</tr>
</#list>
</table>
+ </#if>
</form>
<a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.CommonBack}</a>
Modified: ofbiz/trunk/applications/order/widget/ordermgr/OrderViewScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/OrderViewScreens.xml?rev=1494466&r1=1494465&r2=1494466&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/widget/ordermgr/OrderViewScreens.xml (original)
+++ ofbiz/trunk/applications/order/widget/ordermgr/OrderViewScreens.xml Wed Jun 19 05:59:13 2013
@@ -331,8 +331,15 @@ under the License.
<section>
<actions>
<set field="titleProperty" value="OrderReceiveOfflinePayments"/>
- <set field="headerItem" value="findorders"/>
+ <set field="headerItem" value="findorders"/>
<script location="component://order/webapp/ordermgr/WEB-INF/actions/order/ReceivePayment.groovy"/>
+ <entity-and entity-name="OrderRole" list="orderRoles">
+ <field-map field-name="orderId" value="${parameters.orderId}"/>
+ <field-map field-name="roleTypeId" value="BILL_FROM_VENDOR"/>
+ </entity-and>
+ <entity-and entity-name="PaymentMethod" list="paymentMethods">
+ <field-map field-name="partyId" from-field="orderRoles[0].partyId"/>
+ </entity-and>
</actions>
<widgets>
<decorator-screen name="CommonOrderViewDecorator">