svn commit: r1711020 - /ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1711020 - /ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml

Taher Alkhateeb
Author: taher
Date: Wed Oct 28 14:16:00 2015
New Revision: 1711020

URL: http://svn.apache.org/viewvc?rev=1711020&view=rev
Log:
Fix a bug in createLead service as described in OFBIZ-6703

Fix a bug in createLead service in which a system user cannot create
a lead more than one time in the SFA screens. The reason is that
the createLead service tries everytime to create a PartyRole of type
OWNER in this service even if it already exists which leads to a failure
and transaction rollback for the entire call.

REF https://issues.apache.org/jira/browse/OFBIZ-6703

Modified:
    ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml

Modified: ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml?rev=1711020&r1=1711019&r2=1711020&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml (original)
+++ ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml Wed Oct 28 14:16:00 2015
@@ -38,9 +38,19 @@
             </then>
         </if>
         <check-errors/>
+
+        <!-- PartyRole check start - if the user does not have OWNER roleType then add it -->
         <set field="createPartyRoleCtx.partyId" from-field="userLogin.partyId"/>
         <set field="createPartyRoleCtx.roleTypeId" value="OWNER"/>
-        <call-service service-name="createPartyRole" in-map-name="createPartyRoleCtx"/>
+        <entity-one entity-name="PartyRole" value-field="roleFound">
+            <field-map field-name="partyId" from-field="createPartyRoleCtx.partyId"/>
+            <field-map field-name="roleTypeId" from-field="createPartyRoleCtx.roleTypeId"/>
+        </entity-one>
+        <if-empty field="roleFound">
+            <call-service service-name="createPartyRole" in-map-name="createPartyRoleCtx"/>
+        </if-empty>
+        <!-- PartyRole check end -->
+
         <if>
             <condition>
                 <and>