Search in sources :

Example 31 with Action

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

the class IncomingInvoice_recategorize method act.

@Action(semantics = SemanticsOf.IDEMPOTENT_ARE_YOU_SURE)
@ActionLayout(cssClassFa = "mail-reply", cssClass = "btn-danger")
public Document act(@Nullable final String comment) {
    Document document = lookupPdf();
    document.setType(DocumentTypeData.INCOMING.findUsing(documentTypeRepository));
    stateTransitionService.trigger(document, IncomingDocumentCategorisationStateTransition.class, IncomingDocumentCategorisationStateTransitionType.RESET, comment, null);
    // use events to cascade delete, eg paperclips and state transitions/tasks
    incomingInvoiceRepository.delete(incomingInvoice);
    return document;
}
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 32 with Action

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

the class Order method createSeller.

@Action(semantics = SemanticsOf.IDEMPOTENT)
@ActionLayout(named = "Create Supplier")
public Order createSeller(final OrganisationNameNumberViewModel candidate, final Country country, @Nullable final String ibanNumber) {
    Organisation organisation = organisationRepository.newOrganisation(null, true, candidate.getOrganisationName(), country);
    if (candidate.getChamberOfCommerceCode() != null)
        organisation.setChamberOfCommerceCode(candidate.getChamberOfCommerceCode());
    setSeller(organisation);
    if (ibanNumber != null) {
        bankAccountRepository.newBankAccount(organisation, ibanNumber, null);
    }
    partyRoleRepository.findOrCreate(organisation, IncomingInvoiceRoleTypeEnum.SUPPLIER);
    return this;
}
Also used : Organisation(org.estatio.module.party.dom.Organisation) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 33 with Action

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

the class IncomingInvoice_approve method act.

@Action(domainEvent = ActionDomainEvent.class, semantics = SemanticsOf.IDEMPOTENT)
@ActionLayout(cssClassFa = "fa-thumbs-o-up")
public Object act(final String role, @Nullable final Person personToAssignNextTo, @Nullable final String comment, final boolean goToNext) {
    final IncomingInvoice next = nextAfterPendingIfRequested(goToNext);
    trigger(personToAssignNextTo, comment, null);
    return objectToReturn(next);
}
Also used : IncomingInvoice(org.estatio.module.capex.dom.invoice.IncomingInvoice) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 34 with Action

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

the class IncomingDocViewModel_verifySupplier method $$.

@Action(semantics = SemanticsOf.IDEMPOTENT_ARE_YOU_SURE)
public IncomingDocViewModel $$(final OrganisationNameNumberViewModel organisationCheck) {
    Organisation orgToVerify = (Organisation) incomingDocViewModel.getSeller();
    orgToVerify.verify(organisationCheck);
    return incomingDocViewModel;
}
Also used : Organisation(org.estatio.module.party.dom.Organisation) Action(org.apache.isis.applib.annotation.Action)

Example 35 with Action

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

the class Task_discardDocument method act.

@Action(domainEvent = Task_categoriseDocumentAsOrder.ActionDomainEvent.class, semantics = SemanticsOf.IDEMPOTENT_ARE_YOU_SURE)
@ActionLayout(contributed = Contributed.AS_ACTION, cssClassFa = "trash-o")
public Object act(@Nullable final String comment, final boolean goToNext) {
    final Object nextTaskIfAny = nextTaskOrWarnIfRequired(goToNext);
    Document mixinResult = mixin().act(comment);
    return coalesce(nextTaskIfAny, mixinResult);
}
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)

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