Search in sources :

Example 36 with ReasonBuffer2

use of org.estatio.module.base.platform.applib.ReasonBuffer2 in project estatio by estatio.

the class IncomingInvoiceItem method fixedAssetIsImmutableReason.

String fixedAssetIsImmutableReason() {
    // nb: dimensions *are* allowed to change irrespective of state,
    // so we don't check IncomingInvoice#isImmutableDueToState()
    final ReasonBuffer2 buf = ReasonBuffer2.forAll("Fixed asset cannot be changed because");
    appendReasonIfReversalOrReported(buf);
    appendReasonIfLinkedToAnOrder(buf);
    appendReasonIfLinkedToABudget(buf);
    appendReasonIfLinkedToAProject(buf);
    return buf.getReason();
}
Also used : ReasonBuffer2(org.estatio.module.base.platform.applib.ReasonBuffer2)

Example 37 with ReasonBuffer2

use of org.estatio.module.base.platform.applib.ReasonBuffer2 in project estatio by estatio.

the class IncomingInvoiceItem method periodIsImmutableReason.

String periodIsImmutableReason() {
    // nb: dimensions *are* allowed to change irrespective of state,
    // so we don't check IncomingInvoice#isImmutableDueToState()
    final ReasonBuffer2 buf = ReasonBuffer2.forAll("Period cannot be changed because");
    appendReasonIfReversalOrReported(buf);
    appendReasonIfLinkedToABudget(buf);
    return buf.getReason();
}
Also used : ReasonBuffer2(org.estatio.module.base.platform.applib.ReasonBuffer2)

Example 38 with ReasonBuffer2

use of org.estatio.module.base.platform.applib.ReasonBuffer2 in project estatio by estatio.

the class IncomingInvoiceItem method neitherReversalNorReported.

boolean neitherReversalNorReported() {
    final ReasonBuffer2 buf = ReasonBuffer2.forSingle();
    appendReasonIfReversalOrReported(buf);
    return buf.getReason() == null;
}
Also used : ReasonBuffer2(org.estatio.module.base.platform.applib.ReasonBuffer2)

Example 39 with ReasonBuffer2

use of org.estatio.module.base.platform.applib.ReasonBuffer2 in project estatio by estatio.

the class IncomingInvoiceItem method budgetItemIsImmutableReason.

String budgetItemIsImmutableReason() {
    // nb: dimensions *are* allowed to change irrespective of state,
    // so we don't check IncomingInvoice#isImmutableDueToState()
    final ReasonBuffer2 buf = ReasonBuffer2.forAll("Budget item cannot be changed because");
    appendReasonIfReversalOrReported(buf);
    buf.append(!hasType(IncomingInvoiceType.SERVICE_CHARGES), "parent invoice is not for service charges");
    appendReasonIfLinkedToAnOrder(buf);
    return buf.getReason();
}
Also used : ReasonBuffer2(org.estatio.module.base.platform.applib.ReasonBuffer2)

Example 40 with ReasonBuffer2

use of org.estatio.module.base.platform.applib.ReasonBuffer2 in project estatio by estatio.

the class IncomingInvoiceItem method disableEditDescription.

public String disableEditDescription() {
    final ReasonBuffer2 buf = ReasonBuffer2.forSingle("Cannot edit description because");
    appendReasonIfReversalOrReportedOrApprovalState(buf);
    return buf.getReason();
}
Also used : ReasonBuffer2(org.estatio.module.base.platform.applib.ReasonBuffer2)

Aggregations

ReasonBuffer2 (org.estatio.module.base.platform.applib.ReasonBuffer2)40 Test (org.junit.Test)10 DomainObject (org.apache.isis.applib.annotation.DomainObject)7 IncomingInvoice (org.estatio.module.capex.dom.invoice.IncomingInvoice)1 IncomingInvoiceItem (org.estatio.module.capex.dom.invoice.IncomingInvoiceItem)1 InvoiceItem (org.estatio.module.invoice.dom.InvoiceItem)1