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
 |     // 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.vorname, t.nachname, t.geburtsdatum, r.helfer |   SELECT r.riegennummer,  | ||||||
|         FROM riegen r |        t.id,  | ||||||
|         JOIN teilnehmende t ON r.fremdID_Teilnehmende = t.id |        t.name,  | ||||||
|         ORDER BY r.riegennummer, t.geburtsdatum ASC |        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
 |     // Gruppieren der Riegenteilnehmer nach Riegennummer
 | ||||||
|  | @ -696,6 +706,8 @@ app.get("/training", requireAuth, async (req, res) => { | ||||||
|         nachname: row.nachname, |         nachname: row.nachname, | ||||||
|         age: age, |         age: age, | ||||||
|         helfer: row.helfer, |         helfer: row.helfer, | ||||||
|  |         probe: row.probe, | ||||||
|  |         anwesenheit: row.anwesenheit, | ||||||
|         anwesend: tnAnwesend, |         anwesend: tnAnwesend, | ||||||
|         anzahl, |         anzahl, | ||||||
|       }); |       }); | ||||||
|  | @ -737,12 +749,22 @@ 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.vorname, t.nachname, t.geburtsdatum, r.helfer |   SELECT r.riegennummer,  | ||||||
|       FROM riegen r |        t.id,  | ||||||
|       JOIN teilnehmende t ON r.fremdID_Teilnehmende = t.id |        t.name,  | ||||||
|       ORDER BY r.riegennummer, t.geburtsdatum ASC |        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
 |     // Gruppieren der Riegenteilnehmer nach Riegennummer
 | ||||||
|     const riegen = {}; |     const riegen = {}; | ||||||
|     result.rows.forEach((row) => { |     result.rows.forEach((row) => { | ||||||
|  | @ -757,6 +779,8 @@ app.get("/riege", requireAuth, async (req, res) => { | ||||||
|         nachname: row.nachname, |         nachname: row.nachname, | ||||||
|         age: age, |         age: age, | ||||||
|         helfer: row.helfer, |         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) => { | app.get("/teilnehmer", requireAuth, requireAdmin, async (req, res) => { | ||||||
|   try { |   try { | ||||||
|     const teilnehmendeResult = await pool.query( |     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) => ({ |     const teilnehmende = teilnehmendeResult.rows.map((t) => ({ | ||||||
|  |  | ||||||
|  | @ -64,6 +64,12 @@ | ||||||
|             <a href="/mitglied/<%= teilnehmer.id %>" |             <a href="/mitglied/<%= teilnehmer.id %>" | ||||||
|               ><%= teilnehmer.nachname %></a |               ><%= teilnehmer.nachname %></a | ||||||
|             > |             > | ||||||
|  |             <% } %> <% if (teilnehmer.probe) { %> | ||||||
|  |             <span | ||||||
|  |               style="color: <%= teilnehmer.anwesenheit <= 3 ? 'green' : 'red' %>;" | ||||||
|  |             > | ||||||
|  |               (<%= teilnehmer.anwesenheit %>) | ||||||
|  |             </span> | ||||||
|             <% } %> |             <% } %> | ||||||
|           </td> |           </td> | ||||||
|           <td><%= teilnehmer.age %> Jahre</td> |           <td><%= teilnehmer.age %> Jahre</td> | ||||||
|  |  | ||||||
|  | @ -27,6 +27,13 @@ | ||||||
|           <% } else { %> |           <% } else { %> | ||||||
|             <a href="/mitglied/<%= teilnehmer.id %>"><%= teilnehmer.nachname %></a> |             <a href="/mitglied/<%= teilnehmer.id %>"><%= teilnehmer.nachname %></a> | ||||||
|           <% } %> |           <% } %> | ||||||
|  | <% if (teilnehmer.probe) { %> | ||||||
|  |   <span style="color: <%= teilnehmer.anwesenheit <= 3 ? 'green' : 'red' %>;"> | ||||||
|  |     (<%= teilnehmer.anwesenheit %>) | ||||||
|  |   </span> | ||||||
|  | <% } %> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|         </td> |         </td> | ||||||
|         <td><%= teilnehmer.age %> Jahre</td> |         <td><%= teilnehmer.age %> Jahre</td> | ||||||
|       </tr> |       </tr> | ||||||
|  |  | ||||||
|  | @ -303,6 +303,13 @@ | ||||||
|             </td> |             </td> | ||||||
|             <td>  |             <td>  | ||||||
|               <%= teilnehmer.nachname %> |               <%= teilnehmer.nachname %> | ||||||
|  |               <% if (teilnehmer.probe) { %> | ||||||
|  |             <span | ||||||
|  |               style="color: <%= teilnehmer.anwesenheit <= 3 ? 'green' : 'red' %>;" | ||||||
|  |             > | ||||||
|  |               (<%= teilnehmer.anwesenheit %>) | ||||||
|  |             </span> | ||||||
|  |             <% } %> | ||||||
|             </td> |             </td> | ||||||
|             <td> |             <td> | ||||||
|               <%= teilnehmer.age %> |               <%= teilnehmer.age %> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue