parent
a596188c00
commit
6f81566cb8
@ -34,7 +34,8 @@ export class PdfCreator {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public async generateSponsoringContract(runner: Runner): Promise<any> {
|
public async generateSponsoringContract(runner: Runner, locale: string = "en"): Promise<any> {
|
||||||
|
i18next.changeLanguage(locale);
|
||||||
const template_source = fs.readFileSync(`${this.templateDir}/sponsoring_contract.html`, 'utf8');
|
const template_source = fs.readFileSync(`${this.templateDir}/sponsoring_contract.html`, 'utf8');
|
||||||
const template = Handlebars.compile(template_source);
|
const template = Handlebars.compile(template_source);
|
||||||
const result = template({ runner: runner })
|
const result = template({ runner: runner })
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Body, JsonController, Post, Res } from 'routing-controllers';
|
import { Body, JsonController, Post, QueryParam, Res } from 'routing-controllers';
|
||||||
import { OpenAPI } from 'routing-controllers-openapi';
|
import { OpenAPI } from 'routing-controllers-openapi';
|
||||||
import { Runner } from '../models/Runner';
|
import { Runner } from '../models/Runner';
|
||||||
import { PdfCreator } from '../PdfCreator';
|
import { PdfCreator } from '../PdfCreator';
|
||||||
@ -12,8 +12,8 @@ export class PdfController {
|
|||||||
|
|
||||||
@Post('/contracts')
|
@Post('/contracts')
|
||||||
@OpenAPI({ description: "Generate Sponsoring contract pdfs from runner objects." })
|
@OpenAPI({ description: "Generate Sponsoring contract pdfs from runner objects." })
|
||||||
async generateContracts(@Body({ validate: true }) runner: Runner, @Res() res: any) {
|
async generateContracts(@Body({ validate: true }) runner: Runner, @Res() res: any, @QueryParam("locale") locale: string) {
|
||||||
const contracts = await this.pdf.generateSponsoringContract(runner);
|
const contracts = await this.pdf.generateSponsoringContract(runner, locale);
|
||||||
res.setHeader('content-type', 'application/pdf');
|
res.setHeader('content-type', 'application/pdf');
|
||||||
return await contracts;
|
return await contracts;
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
<div class="page">
|
<div class="page">
|
||||||
<p>ID: {{runner.id}}</p>
|
<p>ID: {{runner.id}}</p>
|
||||||
<p>{{__ "firstname"}}: {{runner.firstname}}</p>
|
<p>{{__ "firstname"}}: {{runner.firstname}}</p>
|
||||||
<p>{__ "lastname"}: {{runner.lastname}}</p>
|
<p>{{__ "lastname"}}: {{runner.lastname}}</p>
|
||||||
<p>{__ "group"}: {{runner.group.name}}</p>
|
<p>{{__ "group"}}: {{runner.group.name}}</p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
Loading…
x
Reference in New Issue
Block a user