[jira] [Commented] (OFBIZ-9185) The deleteWorkEffort service is incomplete and even wrong

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

[jira] [Commented] (OFBIZ-9185) The deleteWorkEffort service is incomplete and even wrong

Nicolas Malin (Jira)

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

Jacques Le Roux commented on OFBIZ-9185:
----------------------------------------

Actually I even think we should do that by using remove-related with a default remove-foreign-key attribute sets to no.
Because this issue is not only deleteWorkEffort but everywhere remove-related is used.
If remove-foreign-key is set to yes then we 1st remove, from the WorkEffort record, the value linking it to the related entity. Then the EE will not prevent to remove the related entity, et voilĂ .

> The deleteWorkEffort service is incomplete and even wrong
> ---------------------------------------------------------
>
>                 Key: OFBIZ-9185
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-9185
>             Project: OFBiz
>          Issue Type: Bug
>          Components: workeffort
>    Affects Versions: Trunk
>            Reporter: Jacques Le Roux
>            Priority: Minor
>
> This issue is very old (pre Apache) so all versions are affected (I just tested with R09.04)
> When you try to delete a Workeffort which has an established relationship with a RuntimeData or any of the entities Workeffort has a relation with (eg NoteData, RecurrenceInfo) using the the deleteWorkEffort service this one fails
> Also from my experience CustRequestWorkEffort is missing in deleteWorkEffort, would be to add
> {code}
> <remove-related value-field="lookedUpValue" relation-name="CustRequestWorkEffort"/>
> {code}
> Besides (minor) ApplicationSandbox is maybe missing in the implementation of deleteWorkEffort.
> There is indeed a workeffortId in ApplicationSandbox.
> So ApplicationSandbox is indirectly linked to Workeffort by RuntimeData.
> But it can anyway be deleted by a simple delete-by-and (or alike), so not a problem for deleteWorkEffort, though this case could be handled there also.
> Summary: the deleteWorkEffort service  needs more work. The only solution I see is to remove the FK from the Workeffort (ie put null in the related field if it's not) and then deleted the related entity instead of directly calling remove-related



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)