diff --git a/src/components/pdf_generation/GenerateRunnerCards.svelte b/src/components/pdf_generation/GenerateRunnerCards.svelte index 28078256..bc0ee84b 100644 --- a/src/components/pdf_generation/GenerateRunnerCards.svelte +++ b/src/components/pdf_generation/GenerateRunnerCards.svelte @@ -90,11 +90,13 @@ duration: -1, }).showToast(); const current_cards = await RunnerCardService.runnerCardControllerGetAll(); - let cards = [] - for(let runner of generate_runners){ - let card = current_cards.find((c)=>c.runner?.id == runner.id) - if(!card){ - card = await RunnerCardService.runnerCardControllerPost({runner: runner.id}); + let cards = []; + for (let runner of generate_runners) { + let card = current_cards.find((c) => c.runner?.id == runner.id); + if (!card) { + card = await RunnerCardService.runnerCardControllerPost({ + runner: runner.id, + }); } cards.push(card); } @@ -130,12 +132,12 @@ a.click(); a.remove(); toast.hideToast(); - Toastify({ - text: $_("pdf-successfully-generated"), - duration: 3500, - backgroundColor: - "linear-gradient(to right, #00b09b, #96c93d)", - }).showToast(); + Toastify({ + text: $_("pdf-successfully-generated"), + duration: 3500, + backgroundColor: + "linear-gradient(to right, #00b09b, #96c93d)", + }).showToast(); }) .catch((err) => {}); } @@ -146,19 +148,30 @@ duration: -1, }).showToast(); let count = 0; + const current_cards = await RunnerCardService.runnerCardControllerGetAll(); for await (const t of generate_teams) { count++; const runners = await RunnerTeamService.runnerTeamControllerGetRunners( t.id ); + let cards = []; + for (let runner of runners) { + let card = current_cards.find((c) => c.runner?.id == runner.id); + if (!card) { + card = await RunnerCardService.runnerCardControllerPost({ + runner: runner.id, + }); + } + cards.push(card); + } fetch( - `${config.baseurl}/documents/contracts?locale=${locale}&download=true&key=${config.documentserver_key}`, + `${config.baseurl}/documents/cards?locale=${locale}&download=true&key=${config.documentserver_key}`, { method: "POST", headers: { "Content-Type": "application/json", }, - body: JSON.stringify(runners), + body: JSON.stringify(cards), } ) .then((response) => { @@ -175,6 +188,7 @@ } }) .then((blob) => { + count++; const url = window.URL.createObjectURL(blob); let a = document.createElement("a"); a.href = url; diff --git a/src/components/teams/TeamsOverview.svelte b/src/components/teams/TeamsOverview.svelte index 1683803f..ff6ed46d 100644 --- a/src/components/teams/TeamsOverview.svelte +++ b/src/components/teams/TeamsOverview.svelte @@ -8,11 +8,15 @@ import ConfirmTeamDeletion from "./ConfirmTeamDeletion.svelte"; import { clickOutside } from "../base/outsideclick"; import GenerateSponsoringContracts from "../pdf_generation/GenerateSponsoringContracts.svelte"; + import GenerateRunnerCards from "../pdf_generation/GenerateRunnerCards.svelte"; $: searchvalue = ""; $: active_deletes = []; $: sponsoring_contracts_show = current_teams.some( (r) => r.is_selected === true ); + $: cards_show = current_teams.some( + (r) => r.is_selected === true + ); $: generate_teams = current_teams.filter((r) => r.is_selected === true); export let current_teams = []; let modal_open = false; @@ -54,6 +58,9 @@ +