Hi,

I have some other hiding/disabling issues. Did anything change on how methods are hidden/disabled?

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 == null){
        return "Some dummy reason";
    }
    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
    ...
}

Am I right here or did I miss something? (again ;-P )

Erik



On 09/25/2017 01:59 PM, Erik de Hair wrote:
Hi,

On Apache Isis <1.15.x an empty fieldset would be hidden. On 1.15.0 the fieldset is still there but without any fields. Is that on purpose?

Thanks,
Erik

Reply via email to