diff --git a/src/PdfCreator.ts b/src/PdfCreator.ts index a994e90..bf37a23 100644 --- a/src/PdfCreator.ts +++ b/src/PdfCreator.ts @@ -34,7 +34,8 @@ export class PdfCreator { }); } - public async generateSponsoringContract(runner: Runner): Promise { + public async generateSponsoringContract(runner: Runner, locale: string = "en"): Promise { + i18next.changeLanguage(locale); const template_source = fs.readFileSync(`${this.templateDir}/sponsoring_contract.html`, 'utf8'); const template = Handlebars.compile(template_source); const result = template({ runner: runner }) diff --git a/src/controllers/PdfController.ts b/src/controllers/PdfController.ts index 00fd6ff..1a8e0c1 100644 --- a/src/controllers/PdfController.ts +++ b/src/controllers/PdfController.ts @@ -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 { Runner } from '../models/Runner'; import { PdfCreator } from '../PdfCreator'; @@ -12,8 +12,8 @@ export class PdfController { @Post('/contracts') @OpenAPI({ description: "Generate Sponsoring contract pdfs from runner objects." }) - async generateContracts(@Body({ validate: true }) runner: Runner, @Res() res: any) { - const contracts = await this.pdf.generateSponsoringContract(runner); + async generateContracts(@Body({ validate: true }) runner: Runner, @Res() res: any, @QueryParam("locale") locale: string) { + const contracts = await this.pdf.generateSponsoringContract(runner, locale); res.setHeader('content-type', 'application/pdf'); return await contracts; } diff --git a/src/templates/sponsoring_contract.html b/src/templates/sponsoring_contract.html index 1ec061d..d21ada1 100644 --- a/src/templates/sponsoring_contract.html +++ b/src/templates/sponsoring_contract.html @@ -8,8 +8,8 @@

ID: {{runner.id}}

{{__ "firstname"}}: {{runner.firstname}}

-

{__ "lastname"}: {{runner.lastname}}

-

{__ "group"}: {{runner.group.name}}

+

{{__ "lastname"}}: {{runner.lastname}}

+

{{__ "group"}}: {{runner.group.name}}

\ No newline at end of file