ofbiz-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacques Le Roux <jacques.le.r...@les7arts.com>
Subject Re: svn commit: r1723248 - in /ofbiz/trunk/applications: marketing/widget/sfa/forms/OpportunityForms.xml order/script/org/ofbiz/order/opportunity/OpportunityServices.xml order/servicedef/secas.xml
Date Fri, 15 Jan 2016 21:04:30 GMT
I don't see any relation with the "list screen" (I guessListSalesOpportunity form in at sfa/control/FindSalesOpportunity
request)

But wait, with this change

--- ofbiz/trunk/applications/order/servicedef/secas.xml	2016/01/06 07:43:59	1723247
+++ ofbiz/trunk/applications/order/servicedef/secas.xml	2016/01/06 07:53:26	1723248
@@ -421,7 +421,6 @@
          <action service="createSalesOpportunityAccountRole" mode="sync"/>
      </eca>
      <eca service="createSalesOpportunity" event="commit">
-        <condition field-name="leadPartyId" operator="is-not-empty"/>
          <action service="createSalesOpportunityLeadRole" mode="sync"/>
      </eca>
      <eca service="updateSalesOpportunity" event="commit">

You remove the need for the leadPartyId to be present when firing createSalesOpportunityLeadRole
on SalesOpportunity creation and this is blocking the creation of the opportunity (as you
can check on trunk demo)

With this error
      [java] org.ofbiz.service.ServiceValidationException: The following required parameter
is missing: [createSalesOpportunityLeadRole.leadPartyId]
      [java]     at org.ofbiz.service.ModelService.validate(ModelService.java:557) ~[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:376)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:227)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.GenericDispatcherFactory$GenericDispatcher.runSync(GenericDispatcherFactory.java:88)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.eca.ServiceEcaAction.runAction(ServiceEcaAction.java:128)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.eca.ServiceEcaRule.eval(ServiceEcaRule.java:159) [ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.eca.ServiceEcaUtil.evalRules(ServiceEcaUtil.java:188)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:492)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:227)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.GenericDispatcherFactory$GenericDispatcher.runSync(GenericDispatcherFactory.java:88)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.webapp.event.ServiceEventHandler.invoke(ServiceEventHandler.java:340)
[ofbiz-webapp.jar:?]
      [java]     at org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:759)
[ofbiz-webapp.jar:?]
      [java]     at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:476)
[ofbiz-webapp.jar:?]
      [java]     at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:213)
[ofbiz-webapp.jar:?]
[...]
      [java]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[?:1.8.0_51]
      [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[?:1.8.0_51]
      [java]     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[tomcat-7.0.65-tomcat-coyote.jar:7.0.65]
      [java]     at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
      [java] 2016-01-15 17:29:02,164 |http-bio-8443-exec-4 |ServiceDispatcher            
|T| [[Sync service failed...- total:0.0,since last(Begin):0.0]] - 'sfa / createSalesOpportunityLeadRole'
      [java] 2016-01-15 17:29:02,164 |http-bio-8443-exec-4 |TransactionUtil              
|W| Calling transaction setRollbackOnly; this stack trace shows where this is happening:
      [java] java.lang.Exception: Service [createSalesOpportunityLeadRole] threw an unexpected
exception/error
      [java]     at org.ofbiz.entity.transaction.TransactionUtil.setRollbackOnly(TransactionUtil.java:360)
[ofbiz-entity.jar:?]
      [java]     at org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:301)
[ofbiz-entity.jar:?]
      [java]     at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:512)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:227)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.GenericDispatcherFactory$GenericDispatcher.runSync(GenericDispatcherFactory.java:88)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.eca.ServiceEcaAction.runAction(ServiceEcaAction.java:128)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.eca.ServiceEcaRule.eval(ServiceEcaRule.java:159) [ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.eca.ServiceEcaUtil.evalRules(ServiceEcaUtil.java:188)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:492)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:227)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.service.GenericDispatcherFactory$GenericDispatcher.runSync(GenericDispatcherFactory.java:88)
[ofbiz-service.jar:?]
      [java]     at org.ofbiz.webapp.event.ServiceEventHandler.invoke(ServiceEventHandler.java:340)
[ofbiz-webapp.jar:?]
      [java]     at org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:759)
[ofbiz-webapp.jar:?]
      [java]     at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:476)
[ofbiz-webapp.jar:?]
      [java]     at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:213)
[ofbiz-webapp.jar:?]
[...]
      [java]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[?:1.8.0_51]
      [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[?:1.8.0_51]
      [java]     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[tomcat-7.0.65-tomcat-coyote.jar:7.0.65]
      [java]     at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
      [java] 2016-01-15 17:29:02,165 |http-bio-8443-exec-4 |ServiceDispatcher            
|T| [[Sync service failed...- total:0.0,since last(Begin):0.0]] - 'sfa / createSalesOpportunity'


Sincerely, it's a pain to have to explain things in such details when you seem to actually
don't care and don't really answer to my questions :/

So (again) I will revert this change which is (again) not consistent (why LEAD and not ACCOUNT?)
What are you trying to do here? Did you not confuse the use of ensurePartyRole (good catch)
in createSalesOpportunityLeadRole with the SECA calls?
Of course leadPartyId is still a mandatory parameters of the createSalesOpportunityLeadRole
service!


Jacques

Le 15/01/2016 03:04, Hans Bakker a écrit :

> because this change makes the leadparty a mandatory field. If not filled in, it will
not appear in the list screen.
>
> Regards,
> Hans
>
> On 15/01/16 03:58, Jacques Le Roux wrote:
>> Le 10/01/2016 20:54, Jacques Le Roux a écrit :
>>> Hans,
>>>
>>> I have created https://issues.apache.org/jira/browse/OFBIZ-6791
>>>
>>> Before backporting, I just wonder why you committed this
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?r1=1723248&r2=1723247&pathrev=1723248
>>>
>>> Like accountPartyId, leadPartyId is optional in createSalesOpportunity and updateSalesOpportunity
so why only changing this seca?
>>> It seems not a good idea to me, except if for a reason you prefer it to fail
than skip? Then why only this seca instance and not the 3 related 
>>> others?
>>
>> OK, w/o answers for 4 days, I will revert that and will then backport the rest as
much as reasonably possible
>>
>> Jacques
>>
>>>
>>> Jacques
>>>
>>> Le 08/01/2016 13:42, Jacques Le Roux a écrit :
>>>> Hans,
>>>>
>>>> Le 08/01/2016 06:34, Hans Bakker a écrit :
>>>>> Jacques,
>>>>>
>>>>> I daid it before, I appreciate tremendously the work you put into the
OFBiz project and i am very sorry I cannot implement your request to put 
>>>>> effort in a released based philosophy which I think  does not fit in
the modern times any more. Yes I am aware that the enterprise world is very 
>>>>> conservative, on the other hand with the large customers we have, I could
always convince them not to use the older releases but the near trunk 
>>>>> version. Now that the system will move to the cloud anyway, releases
will be abandoned completely by every ERP vendor when, like a phone app, 
>>>>> the system in the cloud will be updated frequently.
>>>>
>>>> That's your point of view, but I don't think that one size fits all. For
instance what if you provide a product based on OFBiz. That's just an 
>>>> example, not everybody will use the cloud, and Cobol is still the language
with the most line of codes on the planet.
>>>>
>>>>>
>>>>> Then your second request again for releases,  I found pretty embarrassing
errors in the sales opportunity which better not appear in the change 
>>>>> list for a release..... :-( It was completely unusable, so I think not
used anyway
>>>>>
>>>>> But in future if the end user can benefit from it I will create a Jira.
>>>>
>>>> Thanks! I will take care of those 2.
>>>>
>>>> Cheers
>>>>
>>>> Jacques
>>>>
>>>>>
>>>>> Regards,
>>>>> Hans
>>>>>
>>>>>
>>>>>
>>>>> On 08/01/16 12:05, Jacques Le Roux wrote:
>>>>>> Hi Hans,
>>>>>>
>>>>>> Le 07/01/2016 03:09, Hans Bakker a écrit :
>>>>>>> Jacques,
>>>>>>>
>>>>>>> As you know, we in AntWebsystems are using a 'near' trunk version
which we test for a month and then deploy in production. We do this for the 
>>>>>>> last 4 years without major problems. We also support the continuous
testing and deployment with the Kanban methodology with 'rolling' 
>>>>>>> releases. So for us, we do not use the official ofbiz releases.
>>>>>>>
>>>>>>> So my question, is it mandatory when we fix problems in the trunk
that we have to backport even if we do not use the releases?
>>>>>>
>>>>>> No, it's not mandatory but would be fair, hence my question.
>>>>>>
>>>>>>>
>>>>>>> The changes I did, were simple fixes, do we need a Jira for that
too?
>>>>>>
>>>>>> Yes, that would help others who rely on releases. I think you know
creating Jira issues help to automatically generate releases notes like 
>>>>>> http://ofbiz.apache.org/release-notes-13.07.02.html
>>>>>> Remember we have been successful so far because we behave as a global
team. You and AntWebsystems are an important part of this team, so I hope 
>>>>>> you will consider contributing a Jira and backports for these 2 cases
and in the future.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Jacques
>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>> Hans
>>>>>>>
>>>>>>> On 06/01/16 16:00, Jacques Le Roux wrote:
>>>>>>>> Hi Hans,
>>>>>>>>
>>>>>>>> With this commit and r1723007 will you not create a Jira
and backport fixes in released branches?
>>>>>>>>
>>>>>>>> Jacques
>>>>>>>>
>>>>>>>> Le 06/01/2016 08:53, hansbak@apache.org a écrit :
>>>>>>>>> Author: hansbak
>>>>>>>>> Date: Wed Jan  6 07:53:26 2016
>>>>>>>>> New Revision: 1723248
>>>>>>>>>
>>>>>>>>> URL: http://svn.apache.org/viewvc?rev=1723248&view=rev
>>>>>>>>> Log:
>>>>>>>>> various fixes to the salesopportunity list and create
functions
>>>>>>>>>
>>>>>>>>> Modified:
>>>>>>>>> ofbiz/trunk/applications/marketing/widget/sfa/forms/OpportunityForms.xml
>>>>>>>>> ofbiz/trunk/applications/order/script/org/ofbiz/order/opportunity/OpportunityServices.xml
>>>>>>>>> ofbiz/trunk/applications/order/servicedef/secas.xml
>>>>>>>>>
>>>>>>>>> Modified: ofbiz/trunk/applications/marketing/widget/sfa/forms/OpportunityForms.xml
>>>>>>>>> URL: 
>>>>>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/forms/OpportunityForms.xml?rev=1723248&r1=1723247&r2=1723248&view=diff
>>>>>>>>> ==============================================================================
>>>>>>>>> --- ofbiz/trunk/applications/marketing/widget/sfa/forms/OpportunityForms.xml
(original)
>>>>>>>>> +++ ofbiz/trunk/applications/marketing/widget/sfa/forms/OpportunityForms.xml
Wed Jan  6 07:53:26 2016
>>>>>>>>> @@ -64,7 +64,6 @@ under the License.
>>>>>>>>>               </service>
>>>>>>>>>           </actions>
>>>>>>>>>           <row-actions>
>>>>>>>>> -            <set field="isDateAfterNow" value="${groovy:org.ofbiz.base.util.UtilValidate.isDateAfterNow(estimatedCloseDate)}"
type="Boolean"/>
>>>>>>>>>               <entity-one entity-name="SalesOpportunity"
value-field="salesOpportunity"/>
>>>>>>>>>           </row-actions>
>>>>>>>>>           <field name="salesOpportunityId"><hidden/></field>
>>>>>>>>> @@ -85,7 +84,7 @@ under the License.
>>>>>>>>>           <field name="estimatedAmount" title="${uiLabelMap.SfaEstimatedAmount}"><display/></field>
>>>>>>>>>           <field name="nextStepDate" position="1"
title="${uiLabelMap.SfaNextStepDate}" sort-field="true"><display/></field>
>>>>>>>>>           <field name="estimatedCloseDate" title="${uiLabelMap.SfaCloseDate}"><display/></field>
>>>>>>>>> -        <field name="editButton" title="${uiLabelMap.CommonClose}"
use-when="${groovy: estimatedCloseDate == null || isDateAfterNow == true 
>>>>>>>>> || opportunityStageId != &quot;SOSTG_CLOSED&quot;}"
widget-style="buttontext">
>>>>>>>>> +        <field name="editButton" title="${uiLabelMap.CommonClose}"
use-when="estimatedCloseDate == void || estimatedCloseDate == null || 
>>>>>>>>> org.ofbiz.base.util.UtilValidate.isDateAfterNow(estimatedCloseDate)
|| opportunityStageId != &quot;SOSTG_CLOSED&quot;" 
>>>>>>>>> widget-style="buttontext">
>>>>>>>>>               <hyperlink target="closeSalesOpportunity"
description="${uiLabelMap.CommonClose}">
>>>>>>>>>                   <parameter param-name="salesOpportunityId"/>
>>>>>>>>>                   <parameter param-name="opportunityStageId"
value="SOSTG_CLOSED"/>
>>>>>>>>> @@ -151,10 +150,10 @@ under the License.
>>>>>>>>>                   </entity-options>
>>>>>>>>>               </drop-down>
>>>>>>>>>           </field>
>>>>>>>>> -        <field name="accountPartyId" use-when="communicationEvent==null"
title="${uiLabelMap.SfaInitialAccount}" ><lookup 
>>>>>>>>> target-form-name="LookupPartyGroup" default-value="${accountPartyId}"/></field>
>>>>>>>>> -        <field name="accountPartyId" use-when="communicationEvent!=null"
title="${uiLabelMap.SfaInitialAccount}" ><lookup 
>>>>>>>>> target-form-name="LookupPartyGroup" default-value="${accountPartyId}"/></field>
>>>>>>>>> -        <field name="leadPartyId" use-when="communicationEvent==null"
title="${uiLabelMap.SfaLead}"><lookup target-form-name="LookupPerson" 
>>>>>>>>> default-value="${leadPartyId}"/></field>
>>>>>>>>> -        <field name="leadPartyId" use-when="communicationEvent!=null"
title="${uiLabelMap.SfaLead}"><lookup target-form-name="LookupPerson" 
>>>>>>>>> default-value="${communicationEvent.partyIdFrom}"/></field>
>>>>>>>>> +        <field name="accountPartyId" use-when="communicationEvent==null"
title="${uiLabelMap.SfaInitialAccount}" ><lookup 
>>>>>>>>> target-form-name="LookupAccount" default-value="${accountPartyId}"/></field>
>>>>>>>>> +        <field name="accountPartyId" use-when="communicationEvent!=null"
title="${uiLabelMap.SfaInitialAccount}" ><lookup 
>>>>>>>>> target-form-name="LookupAccount" default-value="${accountPartyId}"/></field>
>>>>>>>>> +        <field name="leadPartyId" use-when="communicationEvent==null"
title="${uiLabelMap.SfaLead}"><lookup target-form-name="LookupLead" 
>>>>>>>>> default-value="${leadPartyId}"/></field>
>>>>>>>>> +        <field name="leadPartyId" use-when="communicationEvent!=null"
title="${uiLabelMap.SfaLead}"><lookup target-form-name="LookupLead" 
>>>>>>>>> default-value="${communicationEvent.partyIdFrom}"/></field>
>>>>>>>>>           <field name="submitButton" title="${uiLabelMap.CommonSave}"
use-when="salesOpportunity==null"><submit button-type="button"/></field>
>>>>>>>>>           <field name="submitButton" title="${uiLabelMap.CommonUpdate}"
use-when="salesOpportunity!=null"><submit 
>>>>>>>>> button-type="button"/></field>
>>>>>>>>>       </form>
>>>>>>>>>
>>>>>>>>> Modified: ofbiz/trunk/applications/order/script/org/ofbiz/order/opportunity/OpportunityServices.xml
>>>>>>>>> URL: 
>>>>>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/script/org/ofbiz/order/opportunity/OpportunityServices.xml?rev=1723248&r1=1723247&r2=1723248&view=diff
>>>>>>>>> ==============================================================================
>>>>>>>>> --- ofbiz/trunk/applications/order/script/org/ofbiz/order/opportunity/OpportunityServices.xml
(original)
>>>>>>>>> +++ ofbiz/trunk/applications/order/script/org/ofbiz/order/opportunity/OpportunityServices.xml
Wed Jan  6 07:53:26 2016
>>>>>>>>> @@ -143,13 +143,11 @@ This file contains basic services
for Sa
>>>>>>>>>               </if-not-empty>
>>>>>>>>>               <!-- Check party role for create Account
Role -->
>>>>>>>>>               <if-not-empty field="parameters.accountPartyId">
>>>>>>>>> -                <set field="roleMap.roleTypeId" value="ACCOUNT"/>
>>>>>>>>> -                <set field="roleMap.partyId" from-field="parameters.accountPartyId"/>
>>>>>>>>> -                <call-service service-name="ensurePartyRole"
in-map-name="roleMap"/>
>>>>>>>>> -            </if-not-empty>
>>>>>>>>>               <set field="salesOpportunityRole.roleTypeId"
value="ACCOUNT"/>
>>>>>>>>> -            <set field="salesOpportunityRole.salesOpportunityId"
from-field="parameters.salesOpportunityId"/>
>>>>>>>>>               <set field="salesOpportunityRole.partyId"
from-field="parameters.accountPartyId"/>
>>>>>>>>> +                <call-service service-name="ensurePartyRole"
in-map-name="salesOpportunityRole"/>
>>>>>>>>> +            </if-not-empty>
>>>>>>>>> +            <set field="salesOpportunityRole.salesOpportunityId"
from-field="parameters.salesOpportunityId"/>
>>>>>>>>>               <call-service service-name="createSalesOpportunityRole"
in-map-name="salesOpportunityRole"/>
>>>>>>>>>           </if-compare-field>
>>>>>>>>>       </simple-method>
>>>>>>>>> @@ -164,12 +162,10 @@ This file contains basic services
for Sa
>>>>>>>>>                   <remove-value value-field="lookedUpValue"/>
>>>>>>>>>               </if-not-empty>
>>>>>>>>>               <!-- Check party role for create Lead
Role -->
>>>>>>>>> -            <if-not-empty field="parameters.leadPartyId">
>>>>>>>>> -                <call-service service-name="ensurePartyRole"
in-map-name="roleMap"/>
>>>>>>>>> -            </if-not-empty>
>>>>>>>>>               <set field="salesOpportunityRole.roleTypeId"
value="LEAD"/>
>>>>>>>>> -            <set field="salesOpportunityRole.salesOpportunityId"
from-field="parameters.salesOpportunityId"/>
>>>>>>>>>               <set field="salesOpportunityRole.partyId"
from-field="parameters.leadPartyId"/>
>>>>>>>>> +            <call-service service-name="ensurePartyRole"
in-map-name="salesOpportunityRole"/>
>>>>>>>>> +            <set field="salesOpportunityRole.salesOpportunityId"
from-field="parameters.salesOpportunityId"/>
>>>>>>>>>               <call-service service-name="createSalesOpportunityRole"
in-map-name="salesOpportunityRole"/>
>>>>>>>>>           </if-compare-field>
>>>>>>>>>       </simple-method>
>>>>>>>>>
>>>>>>>>> Modified: ofbiz/trunk/applications/order/servicedef/secas.xml
>>>>>>>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=1723248&r1=1723247&r2=1723248&view=diff
>>>>>>>>> ==============================================================================
>>>>>>>>> --- ofbiz/trunk/applications/order/servicedef/secas.xml
(original)
>>>>>>>>> +++ ofbiz/trunk/applications/order/servicedef/secas.xml
Wed Jan 6 07:53:26 2016
>>>>>>>>> @@ -421,7 +421,6 @@ under the License.
>>>>>>>>>           <action service="createSalesOpportunityAccountRole"
mode="sync"/>
>>>>>>>>>       </eca>
>>>>>>>>>       <eca service="createSalesOpportunity" event="commit">
>>>>>>>>> -        <condition field-name="leadPartyId" operator="is-not-empty"/>
>>>>>>>>>           <action service="createSalesOpportunityLeadRole"
mode="sync"/>
>>>>>>>>>       </eca>
>>>>>>>>>       <eca service="updateSalesOpportunity" event="commit">
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>
>>>
>
>

Mime
View raw message