[ 
https://issues.apache.org/jira/browse/OFBIZ-12424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17451807#comment-17451807
 ] 

Pierre Smits commented on OFBIZ-12424:
--------------------------------------

Vis-a-vis this and PartyRelationship records of the 'From Party', there is no 
need to move/remove such records. Any PartyRelationship record has lifespan 
fields (fromDate and thruDate). Deactivating the 'From Party' should set the 
end of the lifespan of the PartyRelationship records.

Such record can then be the basis for the new PartyRelationship record for the 
new 'From Party' and there should be a check whether such PartyRelationship 
record already exists. And if it already exists it should not override the 
original fromDate value.

> Link Party feature stop the EECA rules globally
> -----------------------------------------------
>
>                 Key: OFBIZ-12424
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-12424
>             Project: OFBiz
>          Issue Type: Bug
>    Affects Versions: Release Branch 18.12, Release Branch 17.12, Trunk
>            Reporter: Rohit Koushal
>            Assignee: Rohit Koushal
>            Priority: Major
>         Attachments: OFBIZ-12424.patch, image-2021-12-01-17-18-37-279.png, 
> image-2021-12-01-17-20-21-196.png, image-2021-12-01-18-18-40-267.png
>
>
> In the Link Party Feature({_}*partymgr > profile > Link Party*{_}) there is a 
> code that stops EECA rules globally in the system and as a result it caused 
> major issues in the process which are driven from EECA's.
> *PartyServices.java*
> {code:java}
> public static Map<String, Object> linkParty(DispatchContext dctx, Map<String, 
> ? extends Object> context) {
>     Delegator delegator = dctx.getDelegator();
>     Locale locale = (Locale) context.get("locale");
>     delegator.setEntityEcaHandler(null);
> .
> .
> .
> } {code}
>  
> In the above code you can see that we are updating EntityEcaHandler on 
> delegator object to null.  
> *GenericDelegator.java*
> {code:java}
> protected void evalRules(String event, String currentOperation, GenericEntity 
> value, boolean isError) throws GenericEntityException {
>     if (entityEcaHandler == null) {
>         return;
>     }
>     entityEcaHandler.evalRules(currentOperation, eventMap, event, value, 
> isError);
> } {code}
> On any DB operation(find, create and store) using delegator above method run 
> and due to null EntityEcaHandler object it won't execute any EECA's globally 
> in the system



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to