Errorhandling und Namen fix
This commit is contained in:
parent
13db1314c4
commit
5327ac2f8b
104
app.js
104
app.js
|
@ -216,7 +216,8 @@ app.post('/register', async (req, res) => {
|
||||||
res.redirect('/login');
|
res.redirect('/login');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error registering user:', error);
|
console.error('Error registering user:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error registering user:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -242,14 +243,17 @@ app.post('/login', async (req, res) => {
|
||||||
res.redirect('/freischaltung')
|
res.redirect('/freischaltung')
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
res.redirect('/login');
|
const message = 'Falscher Benutzername oder falsches Passwort';
|
||||||
|
res.render('login', {session: req.session, username, message});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
res.redirect('/login');
|
const message = 'Falscher Benutzername oder falsches Passwort';
|
||||||
|
res.render('login', {session: req.session, username, message});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error logging in:', error);
|
console.error('Error logging in:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error logging in:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -283,7 +287,8 @@ app.post('/userrights', requireAuth, requireAdmin, async (req, res) => {
|
||||||
res.redirect('/admin');
|
res.redirect('/admin');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error activating user:', error);
|
console.error('Error activating user:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error activating user:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -308,17 +313,21 @@ app.post('/send-password', async (req, res) => {
|
||||||
transporter.sendMail(mailOptions, (err) => {
|
transporter.sendMail(mailOptions, (err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error sending email:', err);
|
console.error('Error sending email:', err);
|
||||||
res.status(500).send('Error sending email');
|
const message = 'Error sending Mail:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
} else {
|
} else {
|
||||||
res.send('Password reset link sent');
|
const message = 'Password reset link sent';
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
res.status(400).send('Email not found');
|
const message = 'Email not found';
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error in forgot-password:', error);
|
console.error('Error in forgot-password:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error in forgot-password';
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -334,11 +343,13 @@ app.get('/reset-password/:token', async (req, res) => {
|
||||||
if (userResult.rows.length > 0) {
|
if (userResult.rows.length > 0) {
|
||||||
res.render('reset-password', { token }); // Stelle sicher, dass es eine reset-password.ejs gibt
|
res.render('reset-password', { token }); // Stelle sicher, dass es eine reset-password.ejs gibt
|
||||||
} else {
|
} else {
|
||||||
res.status(400).send('Password reset token is invalid or has expired');
|
const message = 'Token ungültig oder abgelaufen';
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error in reset-password:', error);
|
console.error('Error in reset-password:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error in reset-password';
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -353,11 +364,13 @@ app.post('/reset-password/:token', async (req, res) => {
|
||||||
await pool.query('UPDATE users SET password = $1, reset_password_token = NULL, reset_password_expires = NULL WHERE id = $2', [hashedPassword, user.id]);
|
await pool.query('UPDATE users SET password = $1, reset_password_token = NULL, reset_password_expires = NULL WHERE id = $2', [hashedPassword, user.id]);
|
||||||
res.redirect('/login');
|
res.redirect('/login');
|
||||||
} else {
|
} else {
|
||||||
res.status(400).send('Password reset token is invalid or has expired');
|
const message = 'Token ungültig oder abgelaufen';
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error in reset-password:', error);
|
console.error('Error in reset-password:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error in reset-password';
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -379,7 +392,8 @@ app.post('/profile', requireAuth, async (req, res) => {
|
||||||
res.redirect('/profile');
|
res.redirect('/profile');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error updating profile:', error);
|
console.error('Error updating profile:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error updating profile:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -405,9 +419,10 @@ app.post('/update-training', requireAuth, async (req, res) => {
|
||||||
await pool.query('UPDATE trainings SET aufwaermen = $1 WHERE id = $2', [ spielId, trainingId ]);
|
await pool.query('UPDATE trainings SET aufwaermen = $1 WHERE id = $2', [ spielId, trainingId ]);
|
||||||
}
|
}
|
||||||
res.redirect('/training');
|
res.redirect('/training');
|
||||||
} catch (err) {
|
} catch (error) {
|
||||||
console.error(err);
|
console.error(error);
|
||||||
res.send("Error " + err);
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -421,9 +436,10 @@ app.post('/update-leader', requireAuth , async (req, res) => {
|
||||||
await pool.query('UPDATE trainings SET spielleiter = $1 WHERE id = $2', [leaderId, trainingId]);
|
await pool.query('UPDATE trainings SET spielleiter = $1 WHERE id = $2', [leaderId, trainingId]);
|
||||||
}
|
}
|
||||||
res.redirect('/training');
|
res.redirect('/training');
|
||||||
} catch (err) {
|
} catch (error) {
|
||||||
console.error(err);
|
console.error(error);
|
||||||
res.send("Error " + err);
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -440,9 +456,9 @@ try {
|
||||||
const teilnehmerID = await pool.query('INSERT INTO teilnehmende (name, geburtsdatum, adresse) VALUES ($1, $2, $3) RETURNING id', [name, geburt, adresse]);
|
const teilnehmerID = await pool.query('INSERT INTO teilnehmende (name, geburtsdatum, adresse) VALUES ($1, $2, $3) RETURNING id', [name, geburt, adresse]);
|
||||||
putInRiege(riege, teilnehmerID);
|
putInRiege(riege, teilnehmerID);
|
||||||
res.redirect('/riege');
|
res.redirect('/riege');
|
||||||
}catch (err) {
|
}catch (error) {
|
||||||
console.error(err);
|
const message = 'Error:' + error;
|
||||||
res.send("Error " + err);
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -495,9 +511,10 @@ app.get('/training', requireAuth, async (req, res) => {
|
||||||
nextTraining,
|
nextTraining,
|
||||||
moment
|
moment
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (error) {
|
||||||
console.error(err);
|
console.error(error);
|
||||||
res.send("Error " + err);
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -505,7 +522,7 @@ app.get('/riege', requireAuth, async (req, res) => {
|
||||||
try {
|
try {
|
||||||
// Abrufen der Riegendaten einschließlich der Teilnehmer und deren Altersberechnung
|
// Abrufen der Riegendaten einschließlich der Teilnehmer und deren Altersberechnung
|
||||||
const result = await pool.query(`
|
const result = await pool.query(`
|
||||||
SELECT r.riegennummer, t.id, t.name, t.geburtsdatum, r.helfer
|
SELECT r.riegennummer, t.id, t.name, t.vorname, t.nachname, t.geburtsdatum, r.helfer
|
||||||
FROM riegen r
|
FROM riegen r
|
||||||
JOIN teilnehmende t ON r.fremdID_Teilnehmende = t.id
|
JOIN teilnehmende t ON r.fremdID_Teilnehmende = t.id
|
||||||
ORDER BY r.riegennummer, t.geburtsdatum ASC
|
ORDER BY r.riegennummer, t.geburtsdatum ASC
|
||||||
|
@ -521,6 +538,8 @@ app.get('/riege', requireAuth, async (req, res) => {
|
||||||
riegen[row.riegennummer].push({
|
riegen[row.riegennummer].push({
|
||||||
id: row.id,
|
id: row.id,
|
||||||
name: row.name,
|
name: row.name,
|
||||||
|
vorname: row.vorname,
|
||||||
|
nachname: row.nachname,
|
||||||
age: age,
|
age: age,
|
||||||
helfer: row.helfer,
|
helfer: row.helfer,
|
||||||
});
|
});
|
||||||
|
@ -529,7 +548,8 @@ app.get('/riege', requireAuth, async (req, res) => {
|
||||||
res.render('riegen', { riegen: riegen, session: req.session });
|
res.render('riegen', { riegen: riegen, session: req.session });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error fetching riegen:', error);
|
console.error('Error fetching riegen:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error fetching riegen:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -543,9 +563,10 @@ app.get('/teilnehmer', requireAuth, async (req, res) => {
|
||||||
})).sort((a, b) => b.age - a.age);
|
})).sort((a, b) => b.age - a.age);
|
||||||
|
|
||||||
res.render('teilnehmer', { teilnehmende, session: req.session });
|
res.render('teilnehmer', { teilnehmende, session: req.session });
|
||||||
} catch (err) {
|
} catch (error) {
|
||||||
console.error(err);
|
console.error(error);
|
||||||
res.send("Error " + err);
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -574,7 +595,8 @@ app.get('/mitglied/:id', requireAuth, async (req, res) => {
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error in Mitglied:', error);
|
console.error('Error in Mitglied:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -598,9 +620,10 @@ app.post('/update-mitglied', requireAdmin, async (req, res) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
res.redirect('/mitglied/' + id);
|
res.redirect('/mitglied/' + id);
|
||||||
} catch (err) {
|
} catch (error) {
|
||||||
console.error(err);
|
console.error(error);
|
||||||
res.send("Error " + err);
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -622,7 +645,8 @@ app.get('/spiele', async (req, res) => {
|
||||||
res.render('spiele', { spiele, session: req.session });
|
res.render('spiele', { spiele, session: req.session });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error in Mitglied:', error);
|
console.error('Error in Mitglied:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -635,7 +659,8 @@ app.get('/spiel/:id', async (req, res) => {
|
||||||
res.render('spiel', { spiel, session: req.session });
|
res.render('spiel', { spiel, session: req.session });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error in Mitglied:', error);
|
console.error('Error in Mitglied:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -646,8 +671,9 @@ try {
|
||||||
const queryResult = await pool.query('UPDATE spiele set material = $1, regeln = $2, dauer = $3, variationen = $4 Where id = $5 ', [material, regeln, dauer, variationen, id]);
|
const queryResult = await pool.query('UPDATE spiele set material = $1, regeln = $2, dauer = $3, variationen = $4 Where id = $5 ', [material, regeln, dauer, variationen, id]);
|
||||||
res.redirect('/spiel/' + id);
|
res.redirect('/spiel/' + id);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error in Mitglied:', error);
|
console.error('Error in edit Spiel:', error);
|
||||||
res.status(500).send('Internal Server Error');
|
const message = 'Error:' + error;
|
||||||
|
res.render('error', {session: req.session, message});
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
<%- include('partials/header') %>
|
<%- include('partials/header') %>
|
||||||
|
|
||||||
<h1>Login</h1>
|
<h1>Login</h1>
|
||||||
|
|
||||||
|
<% if (locals.message) { %>
|
||||||
|
<p><%= message %></p>
|
||||||
|
<% } %>
|
||||||
<form action="/login" method="post">
|
<form action="/login" method="post">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="username" class="form-label">Username</label>
|
<label for="username" class="form-label">Username</label>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<%- include('partials/header') %>
|
<%- include('partials/header') %>
|
||||||
<% birthday = new Date(mitglied.geburtsdatum) %>
|
<% birthday = new Date(mitglied.geburtsdatum) %>
|
||||||
|
|
||||||
<h1> <%= teilnehmer.vorname %> <%= teilnehmer.nachname %> </h1>
|
<h1> <%= mitglied.vorname %> <%= mitglied.nachname %> </h1>
|
||||||
|
|
||||||
<div id="view" class="mt-5">
|
<div id="view" class="mt-5">
|
||||||
<strong> Geburtsdatum: </strong> <%= birthday.getDate() %>.<%= birthday.getMonth() + 1 %>.<%= birthday.getFullYear() %> (<%= mitglied.age %>)</br>
|
<strong> Geburtsdatum: </strong> <%= birthday.getDate() %>.<%= birthday.getMonth() + 1 %>.<%= birthday.getFullYear() %> (<%= mitglied.age %>)</br>
|
||||||
|
|
Loading…
Reference in New Issue