[
https://issues.apache.org/jira/browse/ISIS-1739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dan Haywood updated ISIS-1739:
------------------------------
Fix Version/s: 1.16.0
> DisableXxx() method is always called while hideXxx() returns true
> -----------------------------------------------------------------
>
> Key: ISIS-1739
> URL: https://issues.apache.org/jira/browse/ISIS-1739
> Project: Isis
> Issue Type: Bug
> Components: Core: Viewer: Wicket
> Affects Versions: 1.15.0
> Reporter: Erik de Hair
> Fix For: 1.16.0
>
>
> I have a contributed action that must be rendered on the first parameter's
> page (OrderAbstract) on top of the page but shouldn't be rendered on the
> other parameter's page.
> public Blob downloadDealerQuotationAsPdf(final OrderAbstract order, final
> Contact recipient){
> Blob quotation = ...
> return quotation;
> }
> public String disableDownloadDealerQuotationAsPdf(final OrderAbstract order,
> final Contact recipient){
> if(order.getOrderLines().isEmpty()){
> return "No orderline added yet");
> }
> return null;
> }
> public boolean hideDownloadDealerQuotationAsPdf(final OrderAbstract order,
> final Contact recipient) {
> return order == null || !order.getCompany().hasDealer();
> }
> As far as I can see the disableXXX method wouldn't be called in Apache Isis
> 1.14.x when the Contact page was rendered, because this was suppressed by the
> fact that the action was already hidden by the hiddenXXX method. But now
> they're both called but when rendering the
> Contact page it will fail due to a NPE on the first line of the disableXXX
> method so I have to change this method to
> public String disableDownloadDealerQuotationAsPdf(final OrderAbstract order,
> final Contact recipient){
> if(order == null){
> return "Some dummy reason";
> }
> // actual disable conditions
> ...
> }
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)