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

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

{noformat}
The above error is only because in the Link Party Feature the code is removing 
PartyRole without remove PartyRelationship{noformat}
This is not what the line in the screen states "This will set the status of 
'partyId' to disabled however will link it to 'partyTo' in the party Attributes"

Does not talk about removal of one (or more) PartyRole record(s), or removing a 
PartyRelationShip record. I guess there expectations go wrong. 
Deactivation of a Party should have more explanation (e.g. in associated help 
page) regarding consequences. Same applies to this screen. When I would link 
one party to another, I would assume a new PartyRelationship record. Not 
removal of other records.

> 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: image-2021-12-01-17-18-37-279.png, 
> image-2021-12-01-17-20-21-196.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