Author: pgil
Date: Fri Jan 26 15:48:02 2018
New Revision: 1822316
URL: http://svn.apache.org/viewvc?rev=1822316&view=rev
Log:
Improved: When completing communicationEvent through setCommEventComplete, if
datetimeEnded is null, set it to nowTimestamp (OFBIZ-10181)
Modified:
ofbiz/ofbiz-framework/trunk/applications/party/servicedef/services.xml
ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/communication/CommunicationEventServices.java
Modified: ofbiz/ofbiz-framework/trunk/applications/party/servicedef/services.xml
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/party/servicedef/services.xml?rev=1822316&r1=1822315&r2=1822316&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/party/servicedef/services.xml
(original)
+++ ofbiz/ofbiz-framework/trunk/applications/party/servicedef/services.xml Fri
Jan 26 15:48:02 2018
@@ -939,7 +939,8 @@ under the License.
<service name="setCommEventComplete" engine="java"
location="org.apache.ofbiz.party.communication.CommunicationEventServices"
invoke="setCommEventComplete" auth="true">
- <description>Sets the status of a communication event to COM_COMPLETE
using the updateCommunicationEvent service</description>
+ <description>Sets the status of a communication event to COM_COMPLETE
using the updateCommunicationEvent service,
+ set datetimeEnded to now if not defined</description>
<attribute name="communicationEventId" type="String" mode="IN"
optional="false"/>
<attribute name="partyIdFrom" type="String" mode="IN" optional="true"/>
</service>
Modified:
ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/communication/CommunicationEventServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/communication/CommunicationEventServices.java?rev=1822316&r1=1822315&r2=1822316&view=diff
==============================================================================
---
ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/communication/CommunicationEventServices.java
(original)
+++
ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/communication/CommunicationEventServices.java
Fri Jan 26 15:48:02 2018
@@ -508,17 +508,27 @@ public class CommunicationEventServices
public static Map<String, Object> setCommEventComplete(DispatchContext
dctx, Map<String, ? extends Object> context) {
LocalDispatcher dispatcher = dctx.getDispatcher();
+ Delegator delegator = dctx.getDelegator();
GenericValue userLogin = (GenericValue) context.get("userLogin");
String communicationEventId = (String)
context.get("communicationEventId");
String partyIdFrom = (String) context.get("partyIdFrom");
try {
+ GenericValue communicationEvent =
delegator.findOne("CommunicationEvent", true, "communicationEventId",
communicationEventId);
+ if (communicationEvent == null) {
+ return
ServiceUtil.returnError(UtilProperties.getMessage("PartyUiLabels",
"PartyCommunicationEventNotFound",
+ UtilMisc.toMap("communicationEventId",
communicationEventId), (Locale) context.get("locale")));
+ }
+ Timestamp endDate =
communicationEvent.getTimestamp("datetimeEnded");
+ if (endDate == null) {
+ endDate = UtilDateTime.nowTimestamp();
+ }
Map<String, Object> result =
dispatcher.runSync("updateCommunicationEvent", UtilMisc.<String,
Object>toMap("communicationEventId", communicationEventId,
- "partyIdFrom", partyIdFrom, "statusId", "COM_COMPLETE",
"userLogin", userLogin));
+ "partyIdFrom", partyIdFrom, "statusId", "COM_COMPLETE",
"datetimeEnded", endDate, "userLogin", userLogin));
if (ServiceUtil.isError(result)) {
return
ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
}
- } catch (GenericServiceException esx) {
+ } catch (GeneralException esx) {
return ServiceUtil.returnError(esx.getMessage());
}