Compare commits
No commits in common. "e97e2097463f4c88947e865a38ea1e5aa2be1f5d" and "3c02e13997b1626fb0e6496da4c58eac2cc6fcf8" have entirely different histories.
e97e209746
...
3c02e13997
@ -157,7 +157,7 @@ export class PdfCreator {
|
||||
let i, j;
|
||||
for (i = 0, j = cards.length; i < j; i += 10) {
|
||||
let chunk = cards.slice(i, i + 10);
|
||||
pdf_promises.push(this.generateRunnerCards(chunk, locale, codeformat));
|
||||
pdf_promises.push(this.generateRunnerCards(chunk, locale));
|
||||
}
|
||||
const pdfs = await Promise.all(pdf_promises);
|
||||
return await this.mergePdfs(pdfs);
|
||||
@ -166,7 +166,7 @@ export class PdfCreator {
|
||||
await i18next.changeLanguage(locale);
|
||||
const template_source = fs.readFileSync(`${this.templateDir}/runner_card.html`, 'utf8');
|
||||
const template = Handlebars.compile(template_source);
|
||||
let result = template({ cards, cards_swapped, eventname: config.eventname, codeformat: codeformat, card_subtitle: config.card_subtitle })
|
||||
let result = template({ cards, cards_swapped, eventname: config.eventname, codeformat: codeformat })
|
||||
result = await awaitAsyncHandlebarHelpers(result);
|
||||
const pdf = await this.renderPdf(result, { format: "A4", landscape: false });
|
||||
return pdf
|
||||
|
@ -15,7 +15,6 @@ export const config = {
|
||||
disclaimer_text: process.env.DISCLAIMER_TEXT || "",
|
||||
donations_footer_text: process.env.DONATIONS_FOOTER_TEXT || "",
|
||||
contracts_per_runner: parseInt(process.env.CONTRACTS_PER_RUNNER) || 1,
|
||||
card_subtitle: process.env.CARD_SUBTITLE || ""
|
||||
}
|
||||
let errors = 0
|
||||
if (typeof config.internal_port !== "number") {
|
||||
|
@ -38,7 +38,7 @@ export class PdfController {
|
||||
|
||||
@Post('/cards')
|
||||
@OpenAPI({ description: "Generate runner card pdfs from runner card objects.<br>You can choose your prefered locale by passing the 'locale' query-param." })
|
||||
async generateCards(@Body({ validate: true, options: { limit: "500mb" } }) cards: RunnerCard | RunnerCard[], @Res() res: any, @QueryParam("locale") locale: string, @QueryParam("codeformat") codeformat: string, @QueryParam("download") download: boolean) {
|
||||
async generateCards(@Body({ validate: true, options: { limit: "500mb" } }) cards: RunnerCard | RunnerCard[], @Res() res: any, @QueryParam("locale") locale: string, @QueryParam("download") download: boolean) {
|
||||
if (!this.initialized) {
|
||||
await this.pdf.init();
|
||||
this.initialized = true;
|
||||
@ -47,7 +47,7 @@ export class PdfController {
|
||||
cards = [cards];
|
||||
}
|
||||
cards = this.mapCardGroupNames(cards);
|
||||
const contracts = await this.pdf.generateRunnerCards(cards, locale, codeformat);
|
||||
const contracts = await this.pdf.generateRunnerCards(cards, locale);
|
||||
res.setHeader('content-type', 'application/pdf');
|
||||
if (download) {
|
||||
res.setHeader('Content-Disposition', 'attachment; filename="cards.pdf"')
|
||||
|
@ -13,7 +13,6 @@
|
||||
"id": "ID",
|
||||
"lastname": "Nachname",
|
||||
"location": "Ort",
|
||||
"mit_unterstuetzung_von": "Mit Unterstützung von:",
|
||||
"please_use_blockletters": "Bitte in DRUCKBUCHSTABEN schreiben",
|
||||
"postalcode": "Postleitzahl",
|
||||
"signature": "Unterschrift",
|
||||
|
@ -13,7 +13,6 @@
|
||||
"id": "ID",
|
||||
"lastname": "Last name",
|
||||
"location": "Location",
|
||||
"mit_unterstuetzung_von": "Supported by:",
|
||||
"please_use_blockletters": "Please write in BLOCK LETTERS.",
|
||||
"postalcode": "Postal code",
|
||||
"signature": "Signature",
|
||||
|
@ -33,18 +33,18 @@
|
||||
{{#each cards}}
|
||||
<div class="column is-half runnercard">
|
||||
<p class="title is-5" style="text-align: center; padding-bottom: 0; margin-top: -0.75rem;">{{../eventname}}</p>
|
||||
<p style="text-align: center; margin-top: -1.5rem; font-size: small;">{{../card_subtitle}}</p>
|
||||
<p style="font-size: small;">{{__ "mit_unterstuetzung_von"}}</p>
|
||||
<p style="text-align: center; margin-top: -1.5rem; font-size: small;">lauf-fuer-kaya.de - am 01.01.2021</p>
|
||||
<p style="font-size: small;">Mit unterstützung von:</p>
|
||||
<div class="columns" style="height: 6rem; overflow: hidden;">
|
||||
<div class="column is-half">
|
||||
<div class="column is-two-thirds">
|
||||
<!--SPONSOR LOGO HERE-->
|
||||
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
|
||||
src="{{--sponsor this.id}}" />
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div class="column is-one-third">
|
||||
<!--BARCODE HERE-->
|
||||
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
|
||||
src="{{--bc this.code ../codeformat}}" />
|
||||
src="{{--bc this.id ../codeformat}}" />
|
||||
</div>
|
||||
</div>
|
||||
<p>{{this.runner.lastname}}, {{this.runner.firstname}} {{this.runner.middlename}}</p>
|
||||
@ -61,7 +61,7 @@
|
||||
<div style="height: 2cm; padding: 0 0 2.25cm 0">
|
||||
<img style="object-fit: cover; max-height: 2cm;" src="{{--sponsor this.id}}" />
|
||||
</div>
|
||||
<img style="object-fit: cover; max-height: 2.5cm; position: relative;" src="{{--bc this.code ../codeformat}}" />
|
||||
<img style="object-fit: cover; max-height: 2.5cm; position: relative;" src="{{--bc this.id ../codeformat}}" />
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user