diff --git a/src/templates/templatemanager.js b/src/templates/templatemanager.js index e262f95..8081f0b 100644 --- a/src/templates/templatemanager.js +++ b/src/templates/templatemanager.js @@ -427,24 +427,37 @@ export class TemplateManager { var templateWithParentContent; + var parentTemplate = documentTemplate.parent; + if (documentTemplate.parent != undefined) { + if (typeof parentTemplate === 'string') { + parentTemplate = await getObject({ + model: documentTemplateModel, + id: parentTemplate, + populate: [ + { path: 'documentSize' }, + { path: 'parent', strictPopulate: false } + ], + cached: true + }); + } // Validate parent content if ( - documentTemplate.parent.content == null || - typeof documentTemplate.parent.content !== 'string' + parentTemplate.content == null || + typeof parentTemplate.content !== 'string' ) { logger.error( 'Parent template content is required and must be a string.', - documentTemplate.parent.content + parentTemplate.content ); return { error: 'Parent template content is required and must be a string.' + - documentTemplate.parent.content + parentTemplate.content }; } templateWithParentContent = await ejs.render( - documentTemplate.parent.content, + parentTemplate.content, { content: templateContent, fc: this.fc }, defaultOptions );