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