Mitglieder edit-Admin ansicht
This commit is contained in:
parent
f65c07c52b
commit
7eab4884c8
29
app.js
29
app.js
|
@ -167,13 +167,14 @@ ORDER BY weeks_since_last DESC;
|
||||||
|
|
||||||
const putInRiege = async (riege, teilnehmerID) => {
|
const putInRiege = async (riege, teilnehmerID) => {
|
||||||
try {
|
try {
|
||||||
const resultRiege = await pool.query('SELECT * FROM riegen WHERE fremdid_teilnehmende = $1', [teilnehmerID]);
|
const resultRiege = await pool.query('SELECT * FROM riegen WHERE fremdid_teilnehmende = $1;', [teilnehmerID]);
|
||||||
if (resultRiege.rows > 0) {
|
|
||||||
|
if (resultRiege.rows.length > 0) {
|
||||||
const resultRiege = await pool.query('UPDATE riegen SET riegennummer = $1 WHERE fremdid_teilnehmende = $2', [riege, teilnehmerID]);
|
const resultRiege = await pool.query('UPDATE riegen SET riegennummer = $1 WHERE fremdid_teilnehmende = $2', [riege, teilnehmerID]);
|
||||||
console.log("Mitglied ist jetzt in Riege $1", [riege]);
|
console.log("Mitglied ist jetzt in Riege $1", [riege]);
|
||||||
} else {
|
} else {
|
||||||
const resultRiege = await pool.query('INSERT INTO riegen (fremdid_teilnehmende, riegennummer) VALUES ($1, $2)', [teilnehmerID, riege]);
|
const resultRiege = await pool.query('INSERT INTO riegen (fremdid_teilnehmende, riegennummer) VALUES ($1, $2)', [teilnehmerID, riege]);
|
||||||
console.log("Mitglied neu in Riegen eingefügt.");
|
console.log("Mitglied neu in Riege $1 eingefügt.", [riege]);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error adding new spiel:', error);
|
console.error('Error adding new spiel:', error);
|
||||||
|
@ -531,7 +532,9 @@ app.get('/mitglied/:id', requireAuth, async (req, res) => {
|
||||||
const { id } = req.params;
|
const { id } = req.params;
|
||||||
try {
|
try {
|
||||||
const userResult = await pool.query('SELECT * FROM teilnehmende WHERE id = $1', [id]);
|
const userResult = await pool.query('SELECT * FROM teilnehmende WHERE id = $1', [id]);
|
||||||
const numberResult = await pool.query('SELECT * FROM telefonnummern JOIN telverbindung ON telefonnummern.verbindung = telverbindung.id WHERE telefonnummern.fid_teilnehmer = $1', [id]);
|
const riegeResult = await pool.query('SELECT * FROM riegen WHERE fremdid_teilnehmende = $1', [id]);
|
||||||
|
const riege = riegeResult.rows[0].riegennummer;
|
||||||
|
const numberResult = await pool.query('SELECT telefonnummern.*, telverbindung.bezeichnung FROM telefonnummern JOIN telverbindung ON telefonnummern.verbindung = telverbindung.id WHERE telefonnummern.fid_teilnehmer = $1', [id]);
|
||||||
const numbers = numberResult.rows
|
const numbers = numberResult.rows
|
||||||
if (userResult.rows.length > 0) {
|
if (userResult.rows.length > 0) {
|
||||||
const mitglied = userResult.rows.map(t => ({
|
const mitglied = userResult.rows.map(t => ({
|
||||||
|
@ -542,6 +545,7 @@ app.get('/mitglied/:id', requireAuth, async (req, res) => {
|
||||||
id,
|
id,
|
||||||
mitglied: mitglied[0],
|
mitglied: mitglied[0],
|
||||||
numbers,
|
numbers,
|
||||||
|
riege,
|
||||||
session: req.session
|
session: req.session
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -560,12 +564,19 @@ app.post('/set-riege', requireAuth, async (req, res) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
app.post('/update-mitglied', async (req, res) => {
|
app.post('/update-mitglied', async (req, res) => {
|
||||||
const { mitgliedId, name, verbindung, nummer } = req.body;
|
const { type, id, telid, adresse, name, verbindung, nummer } = req.body;
|
||||||
try{
|
try{
|
||||||
console.log('INSERT INTO telefonnummern (fid_teilnehmer, name, verbindung, nummer, stand) VALUES ($1, $2, $3, $4, $5)', [mitgliedId, name, verbindung, nummer, moment().toDate()]);
|
if (type=="tel"){
|
||||||
await pool.query('INSERT INTO telefonnummern (fid_teilnehmer, name, verbindung, nummer, stand) VALUES ($1, $2, $3, $4, $5)', [mitgliedId, name, verbindung, nummer, moment().toDate()]);
|
console.log('INSERT INTO telefonnummern (fid_teilnehmer, name, verbindung, nummer, stand) VALUES ($1, $2, $3, $4, $5)', [id, name, verbindung, nummer, moment().toDate()]);
|
||||||
console.log('/mitglied/' + mitgliedId);
|
await pool.query('INSERT INTO telefonnummern (fid_teilnehmer, name, verbindung, nummer, stand) VALUES ($1, $2, $3, $4, $5)', [id, name, verbindung, nummer, moment().toDate()]);
|
||||||
res.redirect('/mitglied/' + mitgliedId);
|
} else if (type=="tel-delete"){
|
||||||
|
await pool.query('DELETE FROM telefonnummern WHERE id = $1', [telid]);
|
||||||
|
console.log('delete numer $1', [telid]);
|
||||||
|
} else if (type=="adresse"){
|
||||||
|
await pool.query('UPDATE teilnehmende SET adresse = $1 WHERE id = $2', [adresse, id]);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.redirect('/mitglied/' + id);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
res.send("Error " + err);
|
res.send("Error " + err);
|
||||||
|
|
|
@ -1,24 +1,12 @@
|
||||||
<%- include('partials/header') %>
|
<%- include('partials/header') %>
|
||||||
<% birthday = new Date(mitglied.geburtsdatum) %>
|
<% birthday = new Date(mitglied.geburtsdatum) %>
|
||||||
|
|
||||||
|
|
||||||
<h1> <%= mitglied.name %> </h1>
|
<h1> <%= mitglied.name %> </h1>
|
||||||
|
|
||||||
<form method="POST" action="/set-Riege">
|
<div id="view" class="mt-5">
|
||||||
<input type="hidden" name="id" value="<%= id %>">
|
|
||||||
<select name="riege">
|
|
||||||
<option value=1> Riege 1</option>
|
|
||||||
<option value=2> Riege 2</option>
|
|
||||||
<option value=3> Riege 3</option>
|
|
||||||
<option value=4> Riege 4</option>
|
|
||||||
<option value=5> Riege 5</option>
|
|
||||||
</select></br>
|
|
||||||
<button type="submit">Speichern</button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
<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>
|
||||||
<strong> Adresse: </strong> <%= mitglied.adresse %> </br>
|
<strong> Adresse: </strong> <%= mitglied.adresse %> </br>
|
||||||
|
<strong> Riege: </strong> <%= riege %> </br>
|
||||||
<% numbers.forEach(number => { %>
|
<% numbers.forEach(number => { %>
|
||||||
<% if (number.verbindung === 4) { %>
|
<% if (number.verbindung === 4) { %>
|
||||||
<strong> Telefonnummer: </strong> <%= number.nummer %> </br>
|
<strong> Telefonnummer: </strong> <%= number.nummer %> </br>
|
||||||
|
@ -28,12 +16,55 @@
|
||||||
<p>
|
<p>
|
||||||
<% numbers.forEach(number => { %>
|
<% numbers.forEach(number => { %>
|
||||||
<% if (number.verbindung != 4) { %>
|
<% if (number.verbindung != 4) { %>
|
||||||
<strong><%= number.bezeichnung %> - <%= number.name %>: </strong> <%= number.nummer %> (stand: <%= number.stand.getDate() %>.<%= number.stand.getMonth() %>.<%= number.stand.getFullYear() %>) </br>
|
<strong><%= number.bezeichnung %> - <%= number.name %>: </strong> <%= number.nummer %> <% if (number.stand) { %>(stand: <%= number.stand.getDate() %>.<%= number.stand.getMonth() %>.<%= number.stand.getFullYear() %>) <% } %></br>
|
||||||
<% }}) %>
|
<% }}) %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<% if (session && session.role === 'admin') { %>
|
||||||
|
<button class="btn btn-primary" onclick="toggleDivs()">Zum Edit-Modus wechseln</button>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% if (session && session.role === 'admin') { %>
|
||||||
|
<div id="edit" class="mt-5 d-none">
|
||||||
|
<strong> Geburtsdatum: </strong> <%= birthday.getDate() %>.<%= birthday.getMonth() + 1 %>.<%= birthday.getFullYear() %> (<%= mitglied.age %>)</br>
|
||||||
<form method="POST" action="/update-mitglied">
|
<form method="POST" action="/update-mitglied">
|
||||||
<input type="hidden" name="mitgliedId" value="<%= id %>">
|
<input type="hidden" name="id" value="<%= id %>">
|
||||||
|
<input type="hidden" name="type" value="adresse">
|
||||||
|
<strong> Adresse: </strong> <input name="adresse" type="text" value="<%= mitglied.adresse %>">
|
||||||
|
<button type="submit">Speichern</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
<form method="POST" action="/set-Riege">
|
||||||
|
<input type="hidden" name="id" value="<%= id %>">
|
||||||
|
<strong>Riege: </strong><select name="riege">
|
||||||
|
<option value=1 <% if ( riege === 1) { %> selected <% } %>> Riege 1</option>
|
||||||
|
<option value=2 <% if ( riege === 2) { %> selected <% } %>> Riege 2</option>
|
||||||
|
<option value=3 <% if ( riege === 3) { %> selected <% } %>> Riege 3</option>
|
||||||
|
<option value=4 <% if ( riege === 4) { %> selected <% } %>> Riege 4</option>
|
||||||
|
<option value=5 <% if ( riege === 5) { %> selected <% } %>> Riege 5</option>
|
||||||
|
</select>
|
||||||
|
<button type="submit">Speichern</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<% numbers.forEach(number => { %>
|
||||||
|
<form method="POST" action="/update-mitglied">
|
||||||
|
<input type="hidden" name="telid" value="<%= number.id %>">
|
||||||
|
<input type="hidden" name="type" value="tel-delete">
|
||||||
|
<input type="hidden" name="id" value="<%= id %>">
|
||||||
|
<strong><%= number.bezeichnung %> - <%= number.name %>: </strong> <%= number.nummer %>
|
||||||
|
<button type="submit">löschen</button>
|
||||||
|
</form>
|
||||||
|
<% }) %>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Telefonnummer hinzufügen</h2>
|
||||||
|
<form method="POST" action="/update-mitglied">
|
||||||
|
<input type="hidden" name="id" value="<%= id %>">
|
||||||
|
<input type="hidden" name="type" value="tel">
|
||||||
<select name="verbindung">
|
<select name="verbindung">
|
||||||
<option value=1>Mutter</option>
|
<option value=1>Mutter</option>
|
||||||
<option value=2>Vater</option>
|
<option value=2>Vater</option>
|
||||||
|
@ -46,7 +77,16 @@
|
||||||
<input name="nummer" placeholder="+49 123 456 789" type="text">
|
<input name="nummer" placeholder="+49 123 456 789" type="text">
|
||||||
<button type="submit">Speichern</button>
|
<button type="submit">Speichern</button>
|
||||||
</form>
|
</form>
|
||||||
|
<button class="btn btn-secondary" onclick="toggleDivs()">Zum View-Modus wechseln</button>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function toggleDivs() {
|
||||||
|
$('#view').toggleClass('d-none d-block');
|
||||||
|
$('#edit').toggleClass('d-none d-block');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<%- include('partials/footer') %>
|
<%- include('partials/footer') %>
|
||||||
|
|
Loading…
Reference in New Issue