Jahreswechsel

This commit is contained in:
Klaas Börgmann 2025-01-09 21:21:17 +01:00
parent 11e1e7462a
commit 48eddac62d
3 changed files with 50 additions and 18 deletions

48
app.js
View File

@ -156,6 +156,31 @@ const getTraining = async (kw, jahr) => {
return result.rows[0]; return result.rows[0];
}; };
const getTrainingbyID = async (id) => {
const result = await pool.query(
`
SELECT tr.*, g1.name AS geraet_riege_1_name, g2.name AS geraet_riege_2_name,
g3.name AS geraet_riege_3_name, g4.name AS geraet_riege_4_name,
g5.name AS geraet_riege_5_name,
t1.name AS aufwaermleiter_name, t2.name AS spielleiter_name,
sp1.name AS aufwaermen_name, sp2.name AS spiel_name
FROM trainings tr
LEFT JOIN geraete g1 ON tr.geraet_riege_1 = g1.id
LEFT JOIN geraete g2 ON tr.geraet_riege_2 = g2.id
LEFT JOIN geraete g3 ON tr.geraet_riege_3 = g3.id
LEFT JOIN geraete g4 ON tr.geraet_riege_4 = g4.id
LEFT JOIN geraete g5 ON tr.geraet_riege_5 = g5.id
LEFT JOIN teilnehmende t1 ON tr.aufwaermleiter = t1.id
LEFT JOIN teilnehmende t2 ON tr.spielleiter = t2.id
LEFT JOIN spiele sp1 ON tr.aufwaermen = sp1.id
LEFT JOIN spiele sp2 ON tr.spiel = sp2.id
WHERE tr.id=$1
`,
[id]
);
return result.rows[0];
};
// Funktion zum Laden aller Spiele // Funktion zum Laden aller Spiele
const getAllSpiele = async () => { const getAllSpiele = async () => {
const result = await pool.query(` const result = await pool.query(`
@ -670,23 +695,27 @@ app.get("/training", requireAuth, async (req, res) => {
let dateParam = req.query.date; let dateParam = req.query.date;
let kwParam = req.query.kw; let kwParam = req.query.kw;
let jahrParam = req.query.jahr; let jahrParam = req.query.jahr;
let idParam = req.query.id;
let selectedDate; let selectedDate;
let selectedKW; let selectedKW;
let selectetYear; let selectetYear;
let training;
if (kwParam) { if (idParam) {
training = await getTrainingbyID(idParam);
} else if (kwParam) {
selectedKW = kwParam; selectedKW = kwParam;
} else {
selectedKW = moment().isoWeek();
}
if (jahrParam) { if (jahrParam) {
selectedYear = jahrParam; selectedYear = jahrParam;
} else { } else {
selectedYear = moment().year(); selectedYear = moment().year();
} }
training = await getTraining(selectedKW, selectedYear);
const training = await getTraining(selectedKW, selectedYear); } else {
selectedKW = moment().isoWeek();
selectedYear = moment().year();
training = await getTraining(selectedKW, selectedYear);
}
const anwesendResult = await pool.query( const anwesendResult = await pool.query(
"SELECT * FROM anwesend WHERE fid_training = $1", "SELECT * FROM anwesend WHERE fid_training = $1",
@ -695,10 +724,12 @@ app.get("/training", requireAuth, async (req, res) => {
anwesend = anwesendResult.rows; anwesend = anwesendResult.rows;
const anzahl = anwesend.length; const anzahl = anwesend.length;
const trainingsResult = await pool.query( const trainingsResult = await pool.query(
"SELECT kw, jahr FROM trainings ORDER BY kw ASC" "SELECT id, kw, jahr FROM trainings ORDER BY jahr DESC, kw DESC"
); );
const trainingsDates = trainingsResult.rows.map((tr) => ({ const trainingsDates = trainingsResult.rows.map((tr) => ({
kw: tr.kw, kw: tr.kw,
id: tr.id,
jahr: tr.jahr,
datum: formatDate(getdayOfWeek(tr.kw, tr.jahr)), datum: formatDate(getdayOfWeek(tr.kw, tr.jahr)),
})); }));
@ -1191,5 +1222,6 @@ app.post("/feature", requireAdmin, async (req, res) => {
}); });
const server = app.listen(port, "0.0.0.0", () => { const server = app.listen(port, "0.0.0.0", () => {
console.log(`Server is running on ${process.env.HOST}:${port}/`);
log.Info(`Server is running on ${process.env.HOST}:${port}/`); log.Info(`Server is running on ${process.env.HOST}:${port}/`);
}); });

View File

@ -2,11 +2,11 @@
<h1> <h1>
<div> <div>
<% if (previousTraining) { %> <% if (previousTraining) { %>
<a href="/training?kw=<%= previousTraining.kw %>"> &lt; </a> <a href="/training?kw=<%= previousTraining.kw %>&jahr=<%= previousTraining.jahr %>"> &lt; </a>
<% } %> <% } %>
Training <%= moment(training.datum).format('DD.MM.YYYY') %> Training <%= moment(training.datum).format('DD.MM.YYYY') %>
<% if (nextTraining) { %> <% if (nextTraining) { %>
<a href="/training?kw=<%= nextTraining.kw %>"> &gt; </a> <a href="/training?kw=<%= nextTraining.kw %>&jahr=<%= nextTraining.jahr %>"> &gt; </a>
<% } %> <% } %>
</h1> </h1>
</div> </div>
@ -272,9 +272,9 @@
<div> <div>
<form method="GET" action="/training"> <form method="GET" action="/training">
<label for="training-date">Datum wählen:</label> <label for="training-date">Datum wählen:</label>
<select id="training-date" name="kw" onchange="this.form.submit()"> <select id="training-date" name="id" onchange="this.form.submit()">
<% trainingsDates.forEach(date => { %> <% trainingsDates.forEach(date => { %>
<option value="<%= date.kw %>" <%= selectedKW === date.kw ? 'selected' : '' %>> <option value="<%= date.id %>" <%= selectedKW === date.kw ? 'selected' : '' %>>
<%= date.datum %> %> <%= date.datum %> %>
</option> </option>
<% }) %> <% }) %>

View File

@ -2,11 +2,11 @@
<h1> <h1>
<div> <div>
<% if (previousTraining) { %> <% if (previousTraining) { %>
<a href="/training?kw=<%= previousTraining.kw %>"> &lt; </a> <a href="/training?kw=<%= previousTraining.kw %>&jahr=<%= previousTraining.jahr %>"> &lt; </a>
<% } %> <% } %>
Training <%= moment(training.datum).format('DD.MM.YYYY') %> Training <%= moment(training.datum).format('DD.MM.YYYY') %>
<% if (nextTraining) { %> <% if (nextTraining) { %>
<a href="/training?kw=<%= nextTraining.kw %>"> &gt; </a> <a href="/training?kw=<%= nextTraining.kw %>&jahr=<%= nextTraining.jahr %>"> &gt; </a>
<% } %> <% } %>
</h1> </h1>
</div> </div>
@ -387,9 +387,9 @@
<div> <div>
<form method="GET" action="/training"> <form method="GET" action="/training">
<label for="training-date">Datum wählen:</label> <label for="training-date">Datum wählen:</label>
<select id="training-date" name="kw" onchange="this.form.submit()"> <select id="training-date" name="id" onchange="this.form.submit()">
<% trainingsDates.forEach(date => { %> <% trainingsDates.forEach(date => { %>
<option value="<%= date.kw %>" <%= selectedKW === date.kw ? 'selected' : '' %>> <option value="<%= date.id %>" <%= selectedKW === date.kw && selectedYear == date.jahr ? 'selected' : '' %>>
<%= date.datum %> %> <%= date.datum %> %>
</option> </option>
<% }) %> <% }) %>