[ https://issues.apache.org/jira/browse/OFBIZ-615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12466372 ]
Andrew Zeneski commented on OFBIZ-615: -------------------------------------- Anil, This is starting to look really good! The only thing I see off hand right now is that permissions can be recursive. So, when creating a new workeffort, I may NOT be a assigned to the parent workeffort, but I MAY be assigned to its parent or the parent's parent. That said, we will want to walk through and look at the parent workefforts and their parent has well. Logic: If this workeffort has a parent, check its parent. If that does not pass, and the parent has a parent check that parent. Do this until the parent ID == null (walk the tree). This will also apply to updating the parentWorkeffortId. I must be allowed to edit the current workeffort to change its parent. I must also be allowed to edit the new parent OR any of the parent workefforts up the tree. Also just FYI, the tag permission-service has an attribute main-action which gets passed to the permission services as a parameter. This CAN be used if you make a generic service and decide what to do based on the main-action. This doesn't have to be this way, but if it can keep things cleaner it would make a good practice. If things are too complex, that is fine as well. Also, ECAs can be used to do AND/OR on permissions. One example of this would be: createWorkEffort: - Permission service (genericWorkEffortCreatePermission) check; do I have WORKEFFORTMGR_CREATE permission? - ECA condition -> hasPermission == false Call check role permission. The ECA would trigger on the 'genericWorkEffortCreatePermission' service pre-commit and would be OR (by using hasPermission == false). You can AND these together as well but using hasPermission == true as the condition of the ECA. This will be the best practice pattern for overriding default permissions. I'm not sure that WorkEffort needs this, but I thought I would bring it up in case you found it useful. > Re-Factor WorkEffort permissions to follow new patterns > ------------------------------------------------------- > > Key: OFBIZ-615 > URL: https://issues.apache.org/jira/browse/OFBIZ-615 > Project: Apache OFBiz (The Open for Business Project) > Issue Type: Sub-task > Components: workeffort > Reporter: Andrew Zeneski > Attachments: WorkEffortSecurity.patch > > -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira