Anwesenheiten bei Probemitgliedern in Listen Grün für 1-3 Anwesenheiten, rot bei mehr
This commit is contained in:
		
							parent
							
								
									dbdd7a2176
								
							
						
					
					
						commit
						44f3aac98b
					
				
							
								
								
									
										44
									
								
								app.js
								
								
								
								
							
							
						
						
									
										44
									
								
								app.js
								
								
								
								
							|  | @ -675,10 +675,20 @@ app.get("/training", requireAuth, async (req, res) => { | |||
| 
 | ||||
|     // Abrufen der Riegendaten einschließlich der Teilnehmer und deren Altersberechnung
 | ||||
|     const result = await pool.query(` | ||||
|         SELECT r.riegennummer, t.id, t.name, t.vorname, t.nachname, t.geburtsdatum, r.helfer | ||||
|         FROM riegen r | ||||
|         JOIN teilnehmende t ON r.fremdID_Teilnehmende = t.id | ||||
|         ORDER BY r.riegennummer, t.geburtsdatum ASC | ||||
|   SELECT r.riegennummer,  | ||||
|        t.id,  | ||||
|        t.name,  | ||||
|        t.vorname,  | ||||
|        t.nachname,  | ||||
|        t.geburtsdatum,  | ||||
|        t.probe,  | ||||
|        r.helfer, | ||||
|        COUNT(a.fid_teilnehmer) AS anwesenheit | ||||
|   FROM riegen r | ||||
| JOIN teilnehmende t ON r.fremdID_Teilnehmende = t.id | ||||
| LEFT JOIN anwesend a ON t.id = a.fid_teilnehmer | ||||
| GROUP BY r.riegennummer, t.id, t.name, t.vorname, t.nachname, t.geburtsdatum, r.helfer | ||||
| ORDER BY r.riegennummer, t.geburtsdatum ASC; | ||||
|       `);
 | ||||
| 
 | ||||
|     // Gruppieren der Riegenteilnehmer nach Riegennummer
 | ||||
|  | @ -696,6 +706,8 @@ app.get("/training", requireAuth, async (req, res) => { | |||
|         nachname: row.nachname, | ||||
|         age: age, | ||||
|         helfer: row.helfer, | ||||
|         probe: row.probe, | ||||
|         anwesenheit: row.anwesenheit, | ||||
|         anwesend: tnAnwesend, | ||||
|         anzahl, | ||||
|       }); | ||||
|  | @ -737,12 +749,22 @@ app.get("/riege", requireAuth, async (req, res) => { | |||
|   try { | ||||
|     // Abrufen der Riegendaten einschließlich der Teilnehmer und deren Altersberechnung
 | ||||
|     const result = await pool.query(` | ||||
|       SELECT r.riegennummer, t.id, t.name, t.vorname, t.nachname, t.geburtsdatum, r.helfer | ||||
|       FROM riegen r | ||||
|       JOIN teilnehmende t ON r.fremdID_Teilnehmende = t.id | ||||
|       ORDER BY r.riegennummer, t.geburtsdatum ASC | ||||
|     `);
 | ||||
|   SELECT r.riegennummer,  | ||||
|        t.id,  | ||||
|        t.name,  | ||||
|        t.vorname,  | ||||
|        t.nachname,  | ||||
|        t.geburtsdatum,  | ||||
|        t.probe,  | ||||
|        r.helfer, | ||||
|        COUNT(a.fid_teilnehmer) AS anwesenheit | ||||
|   FROM riegen r | ||||
| JOIN teilnehmende t ON r.fremdID_Teilnehmende = t.id | ||||
| LEFT JOIN anwesend a ON t.id = a.fid_teilnehmer | ||||
| GROUP BY r.riegennummer, t.id, t.name, t.vorname, t.nachname, t.geburtsdatum, r.helfer | ||||
| ORDER BY r.riegennummer, t.geburtsdatum ASC; | ||||
| 
 | ||||
|     `);
 | ||||
|     // Gruppieren der Riegenteilnehmer nach Riegennummer
 | ||||
|     const riegen = {}; | ||||
|     result.rows.forEach((row) => { | ||||
|  | @ -757,6 +779,8 @@ app.get("/riege", requireAuth, async (req, res) => { | |||
|         nachname: row.nachname, | ||||
|         age: age, | ||||
|         helfer: row.helfer, | ||||
|         probe: row.probe, | ||||
|         anwesenheit: row.anwesenheit, | ||||
|       }); | ||||
|     }); | ||||
| 
 | ||||
|  | @ -771,7 +795,7 @@ app.get("/riege", requireAuth, async (req, res) => { | |||
| app.get("/teilnehmer", requireAuth, requireAdmin, async (req, res) => { | ||||
|   try { | ||||
|     const teilnehmendeResult = await pool.query( | ||||
|       "SELECT * FROM teilnehmende ORDER BY helfer DESC, vorname ASC" | ||||
|       "SELECT m.*, COUNT(a.fid_teilnehmer) AS anwesenheit FROM teilnehmende m LEFT JOIN anwesend a ON m.id = a.fid_teilnehmer GROUP BY m.id ORDER BY helfer DESC, vorname ASC" | ||||
|     ); | ||||
| 
 | ||||
|     const teilnehmende = teilnehmendeResult.rows.map((t) => ({ | ||||
|  |  | |||
|  | @ -64,6 +64,12 @@ | |||
|             <a href="/mitglied/<%= teilnehmer.id %>" | ||||
|               ><%= teilnehmer.nachname %></a | ||||
|             > | ||||
|             <% } %> <% if (teilnehmer.probe) { %> | ||||
|             <span | ||||
|               style="color: <%= teilnehmer.anwesenheit <= 3 ? 'green' : 'red' %>;" | ||||
|             > | ||||
|               (<%= teilnehmer.anwesenheit %>) | ||||
|             </span> | ||||
|             <% } %> | ||||
|           </td> | ||||
|           <td><%= teilnehmer.age %> Jahre</td> | ||||
|  |  | |||
|  | @ -27,6 +27,13 @@ | |||
|           <% } else { %> | ||||
|             <a href="/mitglied/<%= teilnehmer.id %>"><%= teilnehmer.nachname %></a> | ||||
|           <% } %> | ||||
| <% if (teilnehmer.probe) { %> | ||||
|   <span style="color: <%= teilnehmer.anwesenheit <= 3 ? 'green' : 'red' %>;"> | ||||
|     (<%= teilnehmer.anwesenheit %>) | ||||
|   </span> | ||||
| <% } %> | ||||
| 
 | ||||
| 
 | ||||
|         </td> | ||||
|         <td><%= teilnehmer.age %> Jahre</td> | ||||
|       </tr> | ||||
|  |  | |||
|  | @ -303,6 +303,13 @@ | |||
|             </td> | ||||
|             <td>  | ||||
|               <%= teilnehmer.nachname %> | ||||
|               <% if (teilnehmer.probe) { %> | ||||
|             <span | ||||
|               style="color: <%= teilnehmer.anwesenheit <= 3 ? 'green' : 'red' %>;" | ||||
|             > | ||||
|               (<%= teilnehmer.anwesenheit %>) | ||||
|             </span> | ||||
|             <% } %> | ||||
|             </td> | ||||
|             <td> | ||||
|               <%= teilnehmer.age %> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue