From c837abcd58a740c7b7a6273eb89311cb81dfdd95 Mon Sep 17 00:00:00 2001 From: Klaas Date: Fri, 31 May 2024 21:45:21 +0200 Subject: [PATCH] Anwesenheit Fix - Doppelte speicherung --- app.js | 7 ++++++- views/mitglied.ejs | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index d15cbeb..11ae720 100644 --- a/app.js +++ b/app.js @@ -637,6 +637,8 @@ app.get('/mitglied/:id', requireAuth, async (req, res) => { const riegeResult = await pool.query('SELECT * FROM riegen WHERE fremdid_teilnehmende = $1', [id]); const riege = riegeResult.rows[0].riegennummer; req.session.activeRiege = riege; + const anwesendResult = await pool.query('SELECT * FROM anwesend WHERE fid_teilnehmer = $1', [id]); + const anwesend = anwesendResult.rows.length; const numberResult = await pool.query('SELECT telefonnummern.*, telverbindung.bezeichnung FROM telefonnummern JOIN telverbindung ON telefonnummern.verbindung = telverbindung.id WHERE telefonnummern.fid_teilnehmer = $1', [id]); const numbers = numberResult.rows if (userResult.rows.length > 0) { @@ -649,6 +651,7 @@ app.get('/mitglied/:id', requireAuth, async (req, res) => { mitglied: mitglied[0], numbers, riege, + anwesend, session: req.session }); } else { @@ -796,8 +799,10 @@ req.session.activeTab = 'anwesend'; req.session.message = [title = 'Erfolg', body = 'Die Anwesenheit wurde gespeichert', type = 'success']; try { for (const teilnehmer of anw) { + const resultAnw = await pool.query('Select * FROM anwesend WHERE fid_teilnehmer = $1 AND fid_training = $2', [teilnehmer, trainingId]); + if (resultAnw.rows.length == 0) { await pool.query('INSERT INTO anwesend (fid_teilnehmer, fid_training) VALUES ($1, $2)', [teilnehmer, trainingId]); -} +}} req.session.activeRiege = riege; res.redirect('/training'); } catch (error) { diff --git a/views/mitglied.ejs b/views/mitglied.ejs index 5af8c68..d3ab717 100644 --- a/views/mitglied.ejs +++ b/views/mitglied.ejs @@ -7,6 +7,7 @@ Geburtsdatum: <%= birthday.getDate() %>.<%= birthday.getMonth() + 1 %>.<%= birthday.getFullYear() %> (<%= mitglied.age %>)
Adresse: <%= mitglied.adresse %>
Riege: <%= riege %>
+ Anwesend: <%= anwesend %> Mal
<% numbers.forEach(number => { %> <% if (number.verbindung === 4) { %> Telefonnummer: <%= number.nummer %>