Search in sources :

Example 41 with Action

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

the class Taxonomy method applicable.

@Action(domainEvent = ApplicableToDomainEvent.class)
@ActionLayout(cssClassFa = "fa-plus")
@MemberOrder(name = "appliesTo", sequence = "1")
public Category applicable(@ParameterLayout(named = "Application tenancy") final String atPath, @ParameterLayout(named = "Domain type") final String domainTypeName) {
    Applicability applicability = new Applicability(this, atPath, domainTypeName);
    repositoryService.persistAndFlush(applicability);
    return this;
}
Also used : Applicability(org.incode.module.classification.dom.impl.applicability.Applicability) Action(org.apache.isis.applib.annotation.Action) MemberOrder(org.apache.isis.applib.annotation.MemberOrder) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 42 with Action

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

the class BudgetImportExportManager method exportBudget.

@Action(semantics = SemanticsOf.SAFE)
@ActionLayout(cssClassFa = "fa-download")
public Blob exportBudget() {
    final String fileName = withExtension(getFileName(), ".xlsx");
    WorksheetSpec spec1 = new WorksheetSpec(BudgetImportExport.class, "budget");
    WorksheetSpec spec2 = new WorksheetSpec(KeyItemImportExportLineItem.class, "keyItems");
    WorksheetSpec spec3 = new WorksheetSpec(BudgetOverrideImportExport.class, "overrides");
    WorksheetSpec spec4 = new WorksheetSpec(ChargeImport.class, "charges");
    WorksheetContent worksheetContent = new WorksheetContent(getLines(), spec1);
    WorksheetContent keyItemsContent = new WorksheetContent(getKeyItemLines(), spec2);
    WorksheetContent overridesContent = new WorksheetContent(getOverrides(), spec3);
    WorksheetContent chargesContent = new WorksheetContent(getCharges(), spec4);
    return excelService.toExcel(Arrays.asList(worksheetContent, keyItemsContent, overridesContent, chargesContent), fileName);
}
Also used : WorksheetSpec(org.isisaddons.module.excel.dom.WorksheetSpec) WorksheetContent(org.isisaddons.module.excel.dom.WorksheetContent) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 43 with Action

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

the class BudgetImportExportManager method importBudget.

@Action(publishing = Publishing.DISABLED, semantics = SemanticsOf.IDEMPOTENT)
@ActionLayout()
@CollectionLayout()
public Budget importBudget(@Parameter(fileAccept = ".xlsx") @ParameterLayout(named = "Excel spreadsheet") final Blob spreadsheet) {
    WorksheetSpec spec1 = new WorksheetSpec(BudgetImportExport.class, "budget");
    WorksheetSpec spec2 = new WorksheetSpec(KeyItemImportExportLineItem.class, "keyItems");
    WorksheetSpec spec3 = new WorksheetSpec(BudgetOverrideImportExport.class, "overrides");
    WorksheetSpec spec4 = new WorksheetSpec(ChargeImport.class, "charges");
    List<List<?>> objects = excelService.fromExcel(spreadsheet, Arrays.asList(spec1, spec2, spec3, spec4));
    // first upsert charges
    List<ChargeImport> chargeImportLines = (List<ChargeImport>) objects.get(3);
    for (ChargeImport lineItem : chargeImportLines) {
        lineItem.importData(null);
    }
    // import budget en items
    List<BudgetImportExport> budgetItemLines = importBudgetAndItems(objects);
    // import keyTables
    importKeyTables(budgetItemLines, objects);
    // import overrides
    importOverrides(objects);
    return getBudget();
}
Also used : WorksheetSpec(org.isisaddons.module.excel.dom.WorksheetSpec) ChargeImport(org.estatio.module.charge.imports.ChargeImport) ArrayList(java.util.ArrayList) List(java.util.List) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout) CollectionLayout(org.apache.isis.applib.annotation.CollectionLayout)

Example 44 with Action

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

the class DocumentTemplate_cloneWhenText method $$.

@Action(semantics = SemanticsOf.NON_IDEMPOTENT)
@ActionLayout(named = "Clone", contributed = Contributed.AS_ACTION)
public DocumentTemplate $$(@Parameter(maxLength = NameType.Meta.MAX_LEN) @ParameterLayout(named = "Name") final String name, final ApplicationTenancy applicationTenancy, @Parameter(optionality = Optionality.OPTIONAL) @ParameterLayout(named = "Date") final LocalDate date, @ParameterLayout(named = "Text", multiLine = DocumentModule.Constants.TEXT_MULTILINE) final String templateText, @ParameterLayout(named = "Content rendering strategy") final RenderingStrategy contentRenderingStrategy, @Parameter(maxLength = DocumentTemplate.NameTextType.Meta.MAX_LEN) final String nameText, @ParameterLayout(named = "Name rendering strategy") final RenderingStrategy nameRenderingStrategy, @ParameterLayout(named = "Preview only?") final boolean previewOnly) {
    final DocumentType type = documentTemplate.getType();
    final String mimeType = documentTemplate.getMimeType();
    final String fileSuffix = documentTemplate.getFileSuffix();
    final DocumentTemplate template = documentTemplateRepository.createText(type, date, applicationTenancy.getPath(), fileSuffix, previewOnly, name, mimeType, templateText, contentRenderingStrategy, nameText, nameRenderingStrategy);
    final DocumentTemplate._applicable template_applicable = factoryService.mixin(DocumentTemplate._applicable.class, template);
    for (Applicability applicability : documentTemplate.getAppliesTo()) {
        template_applicable.applicable(applicability.getDomainClassName(), applicability.getRendererModelFactoryClassName(), applicability.getAttachmentAdvisorClassName());
    }
    return template;
}
Also used : DocumentType(org.incode.module.document.dom.impl.types.DocumentType) DocumentTemplate(org.incode.module.document.dom.impl.docs.DocumentTemplate) TranslatableString(org.apache.isis.applib.services.i18n.TranslatableString) Applicability(org.incode.module.document.dom.impl.applicability.Applicability) Action(org.apache.isis.applib.annotation.Action) ActionLayout(org.apache.isis.applib.annotation.ActionLayout)

Example 45 with Action

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

the class FixedAssetRegistration method remove.

// //////////////////////////////////////
@Action(semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE)
public FixedAsset remove() {
    FixedAsset fixedAsset = getSubject();
    getContainer().remove(this);
    getContainer().flush();
    return fixedAsset;
}
Also used : FixedAsset(org.estatio.module.asset.dom.FixedAsset) Action(org.apache.isis.applib.annotation.Action)

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