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;
}
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);
}
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();
}
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;
}
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;
}
Aggregations