Search in sources :

Example 6 with Print

use of com.axelor.apps.base.db.Print in project axelor-open-suite by axelor.

the class PrintTemplateController method generatePrint.

public void generatePrint(ActionRequest request, ActionResponse response) {
    Context context = request.getContext();
    Map templateContext = (Map) context.get("template");
    PrintTemplate printTemplate = null;
    if (templateContext != null) {
        printTemplate = Beans.get(PrintTemplateRepository.class).find(Long.parseLong(templateContext.get("id").toString()));
    }
    Long objectId = Long.parseLong(context.get("_objectId").toString());
    try {
        response.setCanClose(true);
        Print print = Beans.get(PrintTemplateService.class).generatePrint(objectId, printTemplate);
        response.setView(getPrintView(print));
    } catch (Exception e) {
        TraceBackService.trace(response, e);
    }
}
Also used : Context(com.axelor.rpc.Context) Print(com.axelor.apps.base.db.Print) PrintTemplate(com.axelor.apps.base.db.PrintTemplate) PrintTemplateService(com.axelor.apps.base.service.PrintTemplateService) Map(java.util.Map) AxelorException(com.axelor.exception.AxelorException)

Example 7 with Print

use of com.axelor.apps.base.db.Print in project axelor-open-suite by axelor.

the class PrintTemplateController method openPrint.

public void openPrint(ActionRequest request, ActionResponse response) {
    Model context = request.getContext().asType(Model.class);
    String model = request.getModel();
    LOG.debug("Print template wizard call for model : {}", model);
    Query<PrintTemplate> printTemplateQuery = Beans.get(PrintTemplateRepository.class).all().filter("self.metaModel.fullName = ?", model);
    try {
        long templatesCount = printTemplateQuery.count();
        LOG.debug("Print templates count : {} ", templatesCount);
        if (templatesCount == 0) {
            response.setError(I18n.get("Please define a print template for the model :" + model));
        } else if (templatesCount == 1) {
            Print print = Beans.get(PrintTemplateService.class).generatePrint(context.getId(), printTemplateQuery.fetchOne());
            response.setView(getPrintView(print));
        } else if (templatesCount >= 2) {
            response.setView(ActionView.define(I18n.get("Select template")).model(Wizard.class.getName()).add("form", "select-print-template-wizard-form").param("show-confirm", "false").context("_objectId", context.getId().toString()).context("_templateContextModel", model).map());
        }
    } catch (Exception e) {
        TraceBackService.trace(response, e);
    }
}
Also used : Print(com.axelor.apps.base.db.Print) PrintTemplate(com.axelor.apps.base.db.PrintTemplate) Model(com.axelor.db.Model) Wizard(com.axelor.apps.base.db.Wizard) AxelorException(com.axelor.exception.AxelorException)

Aggregations

Print (com.axelor.apps.base.db.Print)7 AxelorException (com.axelor.exception.AxelorException)4 PrintTemplate (com.axelor.apps.base.db.PrintTemplate)3 Model (com.axelor.db.Model)3 MetaFile (com.axelor.meta.db.MetaFile)3 PrintLine (com.axelor.apps.base.db.PrintLine)2 TemplateContext (com.axelor.apps.message.db.TemplateContext)2 Context (com.axelor.rpc.Context)2 Transactional (com.google.inject.persist.Transactional)2 File (java.io.File)2 IOException (java.io.IOException)2 AppFilter (com.axelor.app.internal.AppFilter)1 Company (com.axelor.apps.base.db.Company)1 Language (com.axelor.apps.base.db.Language)1 PrintTemplateLine (com.axelor.apps.base.db.PrintTemplateLine)1 Wizard (com.axelor.apps.base.db.Wizard)1 PrintTemplateService (com.axelor.apps.base.service.PrintTemplateService)1 MetaFiles (com.axelor.meta.MetaFiles)1 MetaModel (com.axelor.meta.db.MetaModel)1 TemplateMaker (com.axelor.tool.template.TemplateMaker)1