From 52f36328d5a1d71e7951e04b74ef8919f4a835a2 Mon Sep 17 00:00:00 2001
From: klaas
Date: Sat, 28 Sep 2024 13:32:37 +0200
Subject: [PATCH] Neue Mitglieder aus der Anwesenheitsliste erstellen. Neue
Mitglieder sind automatisch anwesend
---
app.js | 26 ++++++++++++++++++++++++--
views/mitglied.ejs | 35 ++++++++++++++++++++++++++++++++++-
views/trainings.ejs | 43 +++++++++++++++++++++++++++++++++++++++++++
3 files changed, 101 insertions(+), 3 deletions(-)
diff --git a/app.js b/app.js
index 01c5132..b31ed3b 100644
--- a/app.js
+++ b/app.js
@@ -597,7 +597,8 @@ app.get("/admin", requireAuth, requireAdmin, async (req, res) => {
});
app.post("/new-member", requireAuth, requireAdmin, async (req, res) => {
- const { vorname, nachname, geburt, riege, adresse, probe } = req.body;
+ const { from, vorname, nachname, geburt, riege, adresse, probe, training } =
+ req.body;
var geb = "01.01.2024";
const name = vorname + " " + nachname;
try {
@@ -608,11 +609,22 @@ app.post("/new-member", requireAuth, requireAdmin, async (req, res) => {
"INSERT INTO teilnehmende (name, geburtsdatum, adresse, vorname, nachname, probe) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id",
[name, geb, adresse, vorname, nachname, probe ? true : false]
);
+ await pool.query(
+ "INSERT INTO anwesend (fid_teilnehmer, fid_training) VALUES ($1, $2)",
+ [teilnehmerID.rows[0].id, training]
+ );
+
log.Info(
"Mitglied " + name + " durch " + req.session.userName + " angelegt"
);
putInRiege(riege, teilnehmerID.rows[0].id);
- res.redirect("/riege");
+ if (from === "admin") {
+ res.redirect("/riege");
+ } else if (from === "training") {
+ req.session.activeRiege = riege;
+ req.session.activeTab = "anwesend";
+ res.redirect("/training");
+ }
} catch (error) {
const message = "Error:" + error;
res.render("error", { session: req.session, message });
@@ -1070,6 +1082,16 @@ app.post("/anwesend", requireAuth, async (req, res) => {
}
});
+app.post('/deleteMember', requireAuth, async (req, res) => {
+ const { id } = req.body
+ try {
+ await pool.query('DELETE from teilnehmende WHERE id = $1', [id])
+ } catch (error) {
+ console.error('Error:', error)
+ }
+ res.redirect('/training')
+})
+
const server = app.listen(port, "0.0.0.0", () => {
log.Info(`Server is running on ${process.env.HOST}:${port}/`);
});
diff --git a/views/mitglied.ejs b/views/mitglied.ejs
index ff0d1f4..47fdcb2 100644
--- a/views/mitglied.ejs
+++ b/views/mitglied.ejs
@@ -97,7 +97,8 @@
-Telefonnummer hinzufügen
+
+
+
+
+
+
+
+
+
+
+
+
Möchtest du das Mitglied <%= mitglied.vorname %> <%= mitglied.nachname %> wirklich löschen?
+ Diese Aktion kann nicht rüchgängig gemacht werden!
+
+
+
+
+
+
+
<% } %>
diff --git a/views/trainings.ejs b/views/trainings.ejs
index ba9d803..123699c 100644
--- a/views/trainings.ejs
+++ b/views/trainings.ejs
@@ -328,6 +328,49 @@
<% } %>
+
+
+
+
+
+
+
+
+
+
<% }) %>