Search in sources :

Example 11 with Action

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

the class IncomingDocViewModel method createSeller.

@Action(semantics = SemanticsOf.IDEMPOTENT)
@ActionLayout(named = "Create Supplier")
public IncomingDocViewModel createSeller(final OrganisationNameNumberViewModel candidate, final Country country, @Parameter(optionality = Optionality.OPTIONAL) 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);
    }
    onCreateSeller(organisation);
    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 12 with Action

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

the class Lease_DownloadBudgetCalculationsForLease method downloadBudgetCalculationsForLease.

@Action(semantics = SemanticsOf.SAFE)
@ActionLayout(cssClassFa = "fa-download")
@MemberOrder(name = "budgetCalculationRuns", sequence = "1")
public Blob downloadBudgetCalculationsForLease(Budget budget, BudgetCalculationType type) {
    final String fileName = lease.getReference() + " - budget details" + ".xlsx";
    WorksheetSpec spec = new WorksheetSpec(DetailedCalculationResultViewmodel.class, "values for lease");
    WorksheetContent worksheetContent = new WorksheetContent(budgetAssignmentService.getDetailedCalculationResults(lease, budget, type), spec);
    return excelService.toExcelPivot(worksheetContent, fileName);
}
Also used : WorksheetSpec(org.isisaddons.module.excel.dom.WorksheetSpec) WorksheetContent(org.isisaddons.module.excel.dom.WorksheetContent) Action(org.apache.isis.applib.annotation.Action) MemberOrder(org.apache.isis.applib.annotation.MemberOrder) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 13 with Action

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

the class LeaseTermForServiceChargeBudgetAuditManager method upload.

// endregion
// region > upload (action)
@Action(publishing = Publishing.DISABLED, semantics = SemanticsOf.IDEMPOTENT)
public LeaseTermForServiceChargeBudgetAuditManager upload(@Parameter(fileAccept = ".xlsx") @ParameterLayout(named = "Excel spreadsheet") final Blob spreadsheet) {
    List<LeaseTermForServiceChargeBudgetAuditLineItem> lineItems = excelService.fromExcel(spreadsheet, LeaseTermForServiceChargeBudgetAuditLineItem.class, "lease terms");
    for (LeaseTermForServiceChargeBudgetAuditLineItem lineItem : lineItems) {
        final LeaseTermForServiceCharge leaseTerm = lineItem.getLeaseTerm();
        leaseTerm.setAuditedValue(lineItem.getAuditedValue());
        leaseTerm.setBudgetedValue(lineItem.getBudgetedValue());
        final LeaseTermForServiceCharge nextLeaseTerm = (LeaseTermForServiceCharge) leaseTerm.getNext();
        final LeaseTermForServiceCharge nextLeaseTermUploaded = lineItem.getNextLeaseTerm();
        if (nextLeaseTerm != null && nextLeaseTerm == nextLeaseTermUploaded) {
            nextLeaseTerm.setBudgetedValue(lineItem.getNextBudgetedValue());
        }
    }
    return this;
}
Also used : LeaseTermForServiceCharge(org.estatio.module.lease.dom.LeaseTermForServiceCharge) Action(org.apache.isis.applib.annotation.Action)

Example 14 with Action

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

the class KeyItemImportExportLineItem method apply.

// region > apply (action)
@Action(semantics = SemanticsOf.IDEMPOTENT, invokeOn = InvokeOn.OBJECT_AND_COLLECTION, publishing = Publishing.DISABLED)
public KeyItem apply() {
    switch(getStatus()) {
        case ADDED:
            KeyItem keyItem = new KeyItem();
            keyItem.setKeyTable(getKeyTable());
            keyItem.setUnit(getUnit());
            keyItem.setValue(getKeyValue().setScale(keyTable.getPrecision(), BigDecimal.ROUND_HALF_UP));
            keyItem.setSourceValue(getSourceValue().setScale(2, BigDecimal.ROUND_HALF_UP));
            container.persistIfNotAlready(keyItem);
            break;
        case UPDATED:
            getKeyItem().changeValue(this.getKeyValue().setScale(keyTable.getPrecision(), BigDecimal.ROUND_HALF_UP));
            getKeyItem().setSourceValue(this.getSourceValue().setScale(2, BigDecimal.ROUND_HALF_UP));
            break;
        case DELETED:
            String message = "KeyItem for unit " + getKeyItem().getUnit().getReference() + " deleted";
            getKeyItem().deleteBudgetKeyItem();
            container.informUser(message);
            return null;
        case NOT_FOUND:
            container.informUser("KeyItem not found");
            return null;
        default:
            break;
    }
    return getKeyItem();
}
Also used : KeyItem(org.estatio.module.budget.dom.keyitem.KeyItem) Action(org.apache.isis.applib.annotation.Action)

Example 15 with Action

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

the class OrderInvoiceImportMenu method importOrdersAndInvoices.

@Action(semantics = SemanticsOf.SAFE)
@MemberOrder(sequence = "1")
public OrderInvoiceSheet importOrdersAndInvoices(final String sheetName, final Blob spreadSheet) {
    final List<OrderInvoiceLine> lines = orderInvoiceImportService.createLines(sheetName, spreadSheet);
    final OrderInvoiceSheet sheet = factoryService.instantiate(OrderInvoiceSheet.class);
    sheet.setLines(lines);
    return sheet;
}
Also used : OrderInvoiceSheet(org.estatio.module.capex.imports.OrderInvoiceSheet) OrderInvoiceLine(org.estatio.module.capex.imports.OrderInvoiceLine) 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