Fehler beim speichern einer einzelnen Anwesenheit korrigiert. und Helfer jetzt editierbar

This commit is contained in:
klaas 2024-10-01 21:31:52 +02:00
parent 7f2454101e
commit 7dc599f11b
2 changed files with 19 additions and 5 deletions

21
app.js
View File

@ -903,6 +903,7 @@ app.post("/update-mitglied", requireAdmin, async (req, res) => {
vorname, vorname,
nachname, nachname,
probe, probe,
helfer,
} = req.body; } = req.body;
try { try {
if (type == "tel") { if (type == "tel") {
@ -919,8 +920,16 @@ app.post("/update-mitglied", requireAdmin, async (req, res) => {
console.log("delete numer $1", [telid]); console.log("delete numer $1", [telid]);
} else if (type == "adresse") { } else if (type == "adresse") {
await pool.query( await pool.query(
"UPDATE teilnehmende SET vorname = $1, nachname = $2, geburtsdatum = $3, adresse = $4, probe = $5 WHERE id = $6", "UPDATE teilnehmende SET vorname = $1, nachname = $2, geburtsdatum = $3, adresse = $4, probe = $5, helfer = $6 WHERE id = $7",
[vorname, nachname, geburt, adresse, probe ? true : false, id] [
vorname,
nachname,
geburt,
adresse,
probe ? true : false,
helfer ? true : false,
id,
]
); );
} }
@ -1047,7 +1056,7 @@ app.post("/changelog", requireAdmin, async (req, res) => {
}); });
app.post("/anwesend", requireAuth, async (req, res) => { app.post("/anwesend", requireAuth, async (req, res) => {
const { anw, inriege, trainingId, riege } = req.body; var { anw, inriege, trainingId, riege } = req.body;
req.session.activeTab = "anwesend"; req.session.activeTab = "anwesend";
try { try {
for (const mitgliedId of inriege) { for (const mitgliedId of inriege) {
@ -1055,8 +1064,6 @@ app.post("/anwesend", requireAuth, async (req, res) => {
"SELECT *From anwesend WHERE fid_teilnehmer = $1 AND fid_training=$2", "SELECT *From anwesend WHERE fid_teilnehmer = $1 AND fid_training=$2",
[mitgliedId, trainingId] [mitgliedId, trainingId]
); );
console.log(anw);
console.log(inriege);
if (Idresult.rows.length > 0) { if (Idresult.rows.length > 0) {
if (!anw.includes(mitgliedId)) { if (!anw.includes(mitgliedId)) {
await pool.query( await pool.query(
@ -1066,7 +1073,11 @@ app.post("/anwesend", requireAuth, async (req, res) => {
} }
} }
} }
if (!Array.isArray(anw)) {
anw = [anw];
}
for (const teilnehmer of anw) { for (const teilnehmer of anw) {
console.log(teilnehmer);
const Tnresult = await pool.query( const Tnresult = await pool.query(
"SELECT *From anwesend WHERE fid_teilnehmer = $1 AND fid_training=$2", "SELECT *From anwesend WHERE fid_teilnehmer = $1 AND fid_training=$2",
[teilnehmer, trainingId] [teilnehmer, trainingId]

View File

@ -61,6 +61,9 @@
<label for="probe"> Probetraining: </label> <label for="probe"> Probetraining: </label>
<input class="form-check-input" type="checkbox" name="probe" value="true" <%= mitglied.probe ? 'checked' : '' %>></br> <input class="form-check-input" type="checkbox" name="probe" value="true" <%= mitglied.probe ? 'checked' : '' %>></br>
<label for="probe"> Helfer_in: </label>
<input class="form-check-input" type="checkbox" name="helfer" value="true" <%= mitglied.helfer ? 'checked' : '' %>></br>
<button class="btn btn-success" type="submit">Speichern</button> <button class="btn btn-success" type="submit">Speichern</button>
</fieldset> </fieldset>