Anwesenheit Fix

This commit is contained in:
Klaas 2024-06-11 17:25:32 +02:00
parent 66e0569912
commit ab79c7749c
2 changed files with 15 additions and 6 deletions

15
app.js
View File

@ -824,14 +824,23 @@ app.post('/changelog', requireAdmin, async (req, res) => {
}) })
app.post('/anwesend', requireAuth, async (req, res) => { app.post('/anwesend', requireAuth, async (req, res) => {
const { anw, trainingId, riege } = req.body; const { anw, inriege , trainingId, riege } = req.body;
req.session.activeTab = 'anwesend'; req.session.activeTab = 'anwesend';
try { try {
// await pool.query('Delete FROM anwesend WHERE fid_training = $1', [trainingId]); for (const mitgliedId of inriege){
const Idresult = await pool.query('SELECT *From anwesend WHERE fid_teilnehmer = $1 AND fid_training=$2', [mitgliedId, trainingId])
if (Idresult.rows.length > 0) {
if (!anw.includes(mitgliedId)){
await pool.query('Delete FROM anwesend WHERE fid_teilnehmer = $1 AND fid_training=$2', [mitgliedId, trainingId])
}
}
}
for (const teilnehmer of anw) { for (const teilnehmer of anw) {
const Tnresult = await pool.query('SELECT *From anwesend WHERE fid_teilnehmer = $1 AND fid_training=$2', [teilnehmer, trainingId])
if (Tnresult.rows.length === 0) {
await pool.query('INSERT INTO anwesend (fid_teilnehmer, fid_training) VALUES ($1, $2)', [teilnehmer, trainingId]); await pool.query('INSERT INTO anwesend (fid_teilnehmer, fid_training) VALUES ($1, $2)', [teilnehmer, trainingId]);
} }
}
req.session.activeRiege = riege; req.session.activeRiege = riege;
req.session.activeTab = 'anwesend'; req.session.activeTab = 'anwesend';
req.session.message = [title = 'Erfolg', body = 'Die Anwesenheit wurde gespeichert', type = 'success']; req.session.message = [title = 'Erfolg', body = 'Die Anwesenheit wurde gespeichert', type = 'success'];

View File

@ -150,7 +150,7 @@
<% riegen[riegennummer].forEach(teilnehmer => { if(!teilnehmer.helfer) { %> <% riegen[riegennummer].forEach(teilnehmer => { if(!teilnehmer.helfer) { %>
<tr> <tr>
<td><%= teilnehmer.vorname %> <%= teilnehmer.nachname %> </td><td> <input type="checkbox" name="anw" <%= teilnehmer.anwesend ? 'checked' : '' %> value="<%= teilnehmer.id %>"></td> <td><%= teilnehmer.vorname %> <%= teilnehmer.nachname %> </td><td> <input type="hidden" name="inriege" value="<%= teilnehmer.id %>" /><input type="checkbox" name="anw" <%= teilnehmer.anwesend ? 'checked' : '' %> value="<%= teilnehmer.id %>"></td>
</tr> </tr>
<% }}) %> <% }}) %>