Search in sources :

Example 61 with Action

use of org.apache.isis.applib.annotation.Action in project estatio by estatio.

the class UnitSizeMenu method newUnitSize.

@Action(semantics = SemanticsOf.NON_IDEMPOTENT)
@MemberOrder(sequence = "1")
public UnitSize newUnitSize(final String unitSizeName) {
    UnitSize unitSize = newTransientInstance(UnitSize.class);
    unitSize.setName(unitSizeName);
    persist(unitSize);
    return unitSize;
}
Also used : UnitSize(org.estatio.module.lease.dom.occupancy.tags.UnitSize) Action(org.apache.isis.applib.annotation.Action) MemberOrder(org.apache.isis.applib.annotation.MemberOrder)

Example 62 with Action

use of org.apache.isis.applib.annotation.Action in project estatio by estatio.

the class LeaseMenu method verifyAllLeases.

@Action(semantics = SemanticsOf.IDEMPOTENT, restrictTo = RestrictTo.PROTOTYPING)
@MemberOrder(sequence = "98")
public String verifyAllLeases() {
    DateTime dt = DateTime.now();
    List<Lease> leases = allLeases();
    for (Lease lease : leases) {
        lease.verifyUntil(clockService.now());
    }
    Period p = new Period(dt, DateTime.now());
    return String.format("Verified %d leases in %s", leases.size(), JodaPeriodUtils.asString(p));
}
Also used : Lease(org.estatio.module.lease.dom.Lease) Period(org.joda.time.Period) DateTime(org.joda.time.DateTime) Action(org.apache.isis.applib.annotation.Action) MemberOrder(org.apache.isis.applib.annotation.MemberOrder)

Example 63 with Action

use of org.apache.isis.applib.annotation.Action in project estatio by estatio.

the class InvoiceForLease_sendByEmailPrelimLetterOrInvoiceDocAbstract method $$.

@Action(semantics = SemanticsOf.NON_IDEMPOTENT, domainEvent = DomainEvent.class)
@ActionLayout(cssClassFa = "at", contributed = Contributed.AS_ACTION)
public Invoice $$(@ParameterLayout(named = "to:") final EmailAddress toChannel, @Parameter(optionality = Optionality.OPTIONAL, maxLength = CommunicationChannel.EmailType.Meta.MAX_LEN, regexPattern = CommunicationChannel.EmailType.Meta.REGEX, regexPatternReplacement = CommunicationChannel.EmailType.Meta.REGEX_DESC) @ParameterLayout(named = "cc:") final String cc, @Parameter(optionality = Optionality.OPTIONAL, maxLength = CommunicationChannel.EmailType.Meta.MAX_LEN, regexPattern = CommunicationChannel.EmailType.Meta.REGEX, regexPatternReplacement = CommunicationChannel.EmailType.Meta.REGEX_DESC) @ParameterLayout(named = "cc (2):") final String cc2, @Parameter(optionality = Optionality.OPTIONAL, maxLength = CommunicationChannel.EmailType.Meta.MAX_LEN, regexPattern = CommunicationChannel.EmailType.Meta.REGEX, regexPatternReplacement = CommunicationChannel.EmailType.Meta.REGEX_DESC) @ParameterLayout(named = "cc (3):") final String cc3, @Parameter(optionality = Optionality.OPTIONAL, maxLength = CommunicationChannel.EmailType.Meta.MAX_LEN, regexPattern = CommunicationChannel.EmailType.Meta.REGEX, regexPatternReplacement = CommunicationChannel.EmailType.Meta.REGEX_DESC) @ParameterLayout(named = "bcc:") final String bcc, @Parameter(optionality = Optionality.OPTIONAL, maxLength = CommunicationChannel.EmailType.Meta.MAX_LEN, regexPattern = CommunicationChannel.EmailType.Meta.REGEX, regexPatternReplacement = CommunicationChannel.EmailType.Meta.REGEX_DESC) @ParameterLayout(named = "bcc (2):") final String bcc2) throws IOException {
    final Document document = findDocument();
    createEmailCommunication(document, toChannel, cc, cc2, cc3, bcc, bcc2);
    return invoice;
}
Also used : Document(org.incode.module.document.dom.impl.docs.Document) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 64 with Action

use of org.apache.isis.applib.annotation.Action in project estatio by estatio.

the class LeaseTermRepository method newLeaseTerm.

@Action(semantics = SemanticsOf.NON_IDEMPOTENT, hidden = Where.EVERYWHERE)
public LeaseTerm newLeaseTerm(final LeaseItem leaseItem, final LeaseTerm previous, final LocalDate startDate, final LocalDate endDate) {
    LeaseTerm leaseTerm = leaseItem.getType().create(factoryService);
    leaseTerm.setLeaseItem(leaseItem);
    leaseTerm.setPrevious(previous);
    if (previous != null) {
        previous.setNext(leaseTerm);
    }
    leaseTerm.modifyStartDate(startDate);
    if (endDate == null && !leaseTerm.allowOpenEndDate()) {
        LocalDate nextEndDate = leaseTerm.getFrequency().nextDate(startDate).minusDays(1);
        leaseTerm.modifyEndDate(nextEndDate);
    } else {
        leaseTerm.modifyEndDate(endDate);
    }
    // TOFIX: When changing the user in the integration test from 'tester' to 'estatio-admin' the getPrevious method returns null. Setting both sides of the bi-directional relationship makes them pass.
    leaseTerm.initialize();
    leaseTerm.align();
    if (previous != null) {
        previous.setNext(leaseTerm);
    }
    // TOFIX: without this flush and refresh, the collection of terms on the
    // item is not updated. Removing code below will fail integration tests
    // too.
    persistIfNotAlready(leaseTerm);
    getContainer().flush();
    // getIsisJdoSupport().getJdoPersistenceManager().flush();
    getIsisJdoSupport().refresh(leaseItem);
    return leaseTerm;
}
Also used : LocalDate(org.joda.time.LocalDate) Action(org.apache.isis.applib.annotation.Action)

Example 65 with Action

use of org.apache.isis.applib.annotation.Action in project estatio by estatio.

the class LeaseTermRepository method findTermsWithInvalidInterval.

@Action(semantics = SemanticsOf.SAFE)
@MemberOrder(sequence = "30")
public List<LeaseTerm> findTermsWithInvalidInterval() {
    List<LeaseTerm> lts = allLeaseTerms();
    List<LeaseTerm> returnList = new ArrayList<>();
    LocalDateInterval ldi;
    for (LeaseTerm lt : lts) {
        try {
            if ((ldi = lt.getEffectiveInterval()) == null) {
                returnList.add(lt);
                continue;
            }
            if (!ldi.isValid()) {
                returnList.add(lt);
                continue;
            }
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
            returnList.add(lt);
        }
    }
    if (returnList.isEmpty()) {
        return null;
    } else {
        return returnList;
    }
}
Also used : ArrayList(java.util.ArrayList) LocalDateInterval(org.incode.module.base.dom.valuetypes.LocalDateInterval) Action(org.apache.isis.applib.annotation.Action) MemberOrder(org.apache.isis.applib.annotation.MemberOrder)

Aggregations

Action (org.apache.isis.applib.annotation.Action)117 ActionLayout (org.apache.isis.applib.annotation.ActionLayout)63 MemberOrder (org.apache.isis.applib.annotation.MemberOrder)31 Document (org.incode.module.document.dom.impl.docs.Document)23 IncomingInvoice (org.estatio.module.capex.dom.invoice.IncomingInvoice)12 ArrayList (java.util.ArrayList)11 Blob (org.apache.isis.applib.value.Blob)10 WorksheetSpec (org.isisaddons.module.excel.dom.WorksheetSpec)10 LocalDate (org.joda.time.LocalDate)9 WorksheetContent (org.isisaddons.module.excel.dom.WorksheetContent)8 DomainObject (org.apache.isis.applib.annotation.DomainObject)6 DateTime (org.joda.time.DateTime)6 List (java.util.List)5 SemanticsOf (org.apache.isis.applib.annotation.SemanticsOf)5 PaymentBatch (org.estatio.module.capex.dom.payment.PaymentBatch)5 BankAccount (org.estatio.module.financial.dom.BankAccount)5 Lease (org.estatio.module.lease.dom.Lease)5 Organisation (org.estatio.module.party.dom.Organisation)5 BigDecimal (java.math.BigDecimal)4 Collectors (java.util.stream.Collectors)4