Search in sources :

Example 26 with Action

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

the class InvoiceSummaryForPropertyDueDateStatus_sendByPostAbstract method $$.

@Action(semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE)
@ActionLayout(contributed = Contributed.AS_ACTION)
public Blob $$(final String fileName) throws IOException {
    final List<byte[]> pdfBytes = Lists.newArrayList();
    for (final InvoiceAndDocument invoiceAndDocument : invoiceAndDocumentsToSend()) {
        final Invoice invoice = invoiceAndDocument.getInvoice();
        final Document prelimLetterOrInvoiceNote = invoiceAndDocument.getDocument();
        final InvoiceForLease_sendByPost invoice_sendByPost = invoice_sendByPost(invoice);
        final PostalAddress postalAddress = invoice_sendByPost.default1$$(prelimLetterOrInvoiceNote);
        invoice_sendByPost.createPostalCommunicationAsSent(prelimLetterOrInvoiceNote, postalAddress);
        invoice_sendByPost.appendPdfBytes(prelimLetterOrInvoiceNote, pdfBytes);
    }
    final byte[] mergedBytes = pdfBoxService.merge(pdfBytes.toArray(new byte[][] {}));
    return new Blob(fileName, DocumentConstants.MIME_TYPE_APPLICATION_PDF, mergedBytes);
}
Also used : PostalAddress(org.incode.module.communications.dom.impl.commchannel.PostalAddress) Blob(org.apache.isis.applib.value.Blob) Invoice(org.estatio.module.invoice.dom.Invoice) Document(org.incode.module.document.dom.impl.docs.Document) InvoiceForLease_sendByPost(org.estatio.module.lease.dom.invoicing.comms.InvoiceForLease_sendByPost) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 27 with Action

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

the class DocAndCommAbstract_download method act.

@Action(semantics = SemanticsOf.SAFE, invokeOn = InvokeOn.OBJECT_ONLY)
@ActionLayout(contributed = Contributed.AS_ACTION)
public Blob act() throws IOException {
    final List<byte[]> pdfBytes = Lists.newArrayList();
    final Document document = getDocument();
    appendBytes(document, pdfBytes);
    final List<Document> supportingDocs = attachmentsProvider.attachmentsFor(document);
    for (Document supportingDoc : supportingDocs) {
        appendBytes(supportingDoc, pdfBytes);
    }
    final byte[] mergedBytes = pdfBoxService.merge(pdfBytes.toArray(new byte[][] {}));
    return new Blob(fileName, MIME_TYPE_APPLICATION_PDF, mergedBytes);
}
Also used : Blob(org.apache.isis.applib.value.Blob) Document(org.incode.module.document.dom.impl.docs.Document) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 28 with Action

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

the class DocAndCommAbstract_downloadSelected method act.

@Action(semantics = SemanticsOf.SAFE, invokeOn = InvokeOn.COLLECTION_ONLY)
@ActionLayout(contributed = Contributed.AS_ACTION)
public Object act() throws IOException {
    final List<byte[]> pdfBytes = createOrLookupPdfBytes();
    final Document document = getDocument();
    // we just ignore those that do not
    if (document != null) {
        appendBytes(document, pdfBytes);
        final List<Document> supportingDocs = attachmentsProvider.attachmentsFor(document);
        for (Document supportingDoc : supportingDocs) {
            appendBytes(supportingDoc, pdfBytes);
        }
    }
    if (interactionContext.isLast()) {
        if (pdfBytes.isEmpty()) {
            messageService.warnUser("No documents to be merged");
            return null;
        }
        final byte[] mergedBytes = pdfBoxService.merge(pdfBytes.toArray(new byte[][] {}));
        return new Blob(fileName, MIME_TYPE_APPLICATION_PDF, mergedBytes);
    }
    return null;
}
Also used : Blob(org.apache.isis.applib.value.Blob) Document(org.incode.module.document.dom.impl.docs.Document) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 29 with Action

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

the class InvoiceSummaryForPropertyDueDateStatus_backgroundPrepareAbstract method $$.

@Action(semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE)
@ActionLayout(contributed = Contributed.AS_ACTION)
public InvoiceSummaryForPropertyDueDateStatus $$() throws IOException {
    final List<InvoiceForLease> invoices = invoicesToPrepare();
    for (Invoice invoice : invoices) {
        final DocumentTemplate documentTemplate = documentTemplateFor(invoice);
        factoryService.mixin(InvoiceForLease_backgroundPrepare.class, invoice).$$(documentTemplate);
    }
    return this.invoiceSummary;
}
Also used : Invoice(org.estatio.module.invoice.dom.Invoice) InvoiceForLease(org.estatio.module.lease.dom.invoicing.InvoiceForLease) DocumentTemplate(org.incode.module.document.dom.impl.docs.DocumentTemplate) InvoiceForLease_backgroundPrepare(org.estatio.module.lease.dom.invoicing.comms.InvoiceForLease_backgroundPrepare) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 30 with Action

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

the class EstatioAppHomePage_verifyBankAccounts method act.

@Action(semantics = SemanticsOf.IDEMPOTENT, restrictTo = RestrictTo.PROTOTYPING)
@ActionLayout(position = ActionLayout.Position.PANEL)
public EstatioAppHomePage act(final List<IncomingInvoice> invoices, @Nullable final String comment) {
    for (IncomingInvoice invoice : invoices) {
        final BankAccount bankAccount = invoice.getBankAccount();
        factoryService.mixin(BankAccount_verify.class, bankAccount).act(comment);
        factoryService.mixin(IncomingInvoice_checkApprovalState.class, invoice).act();
    }
    return homePage;
}
Also used : BankAccount_verify(org.estatio.module.capex.dom.bankaccount.verification.triggers.BankAccount_verify) IncomingInvoice(org.estatio.module.capex.dom.invoice.IncomingInvoice) BankAccount(org.estatio.module.financial.dom.BankAccount) IncomingInvoice_checkApprovalState(org.estatio.module.capex.dom.invoice.approval.tasks.IncomingInvoice_checkApprovalState) 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