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

ASF subversion and git services commented on ISIS-1739:
-------------------------------------------------------

Commit 558b04f45bed00e8fd6ed0ee43829593157e8895 in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=558b04f ]

ISIS-1739: don't call disableXxx if hideXxx returns true for actions.


> 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
>            Assignee: Dan Haywood
>             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)

Reply via email to