diff --git a/app.js b/app.js index 01c5132..148e4b4 100644 --- a/app.js +++ b/app.js @@ -597,7 +597,17 @@ 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; + var { + from, + vorname, + nachname, + geburt, + riege, + adresse, + probe, + from, + training, + } = req.body; var geb = "01.01.2024"; const name = vorname + " " + nachname; try { @@ -608,11 +618,24 @@ 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] ); + if (from === "admin") { + selectedKW = moment().isoWeek(); + selectedYear = moment().year(); + const trainingresult = await getTraining(selectedKW, selectedYear); + training = trainingresult.id; + } + 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"); + 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 +1093,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("/teilnehmer"); +}); + const server = app.listen(port, "0.0.0.0", () => { log.Info(`Server is running on ${process.env.HOST}:${port}/`); }); diff --git a/views/admin.ejs b/views/admin.ejs index 4b52f73..c1e0600 100644 --- a/views/admin.ejs +++ b/views/admin.ejs @@ -28,6 +28,8 @@
Adresse:
Probe:
+ + 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

+
+ Telefonnummern hinzufügen
@@ -113,6 +114,38 @@
+
+

+ +
+

+ + + <% } %> diff --git a/views/trainings.ejs b/views/trainings.ejs index a0220fa..0fdb582 100644 --- a/views/trainings.ejs +++ b/views/trainings.ejs @@ -328,6 +328,49 @@ <% } %> + + + + + + + + + + <% }) %>