From 8729c7b906c6e03ad509a1a925151ef1e7db2954 Mon Sep 17 00:00:00 2001 From: walamana Date: Wed, 29 Aug 2018 23:41:16 +0200 Subject: [PATCH] All altar boys are now shown in the ministranten route Signed-off-by: walamana --- app.js | 57 +++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/app.js b/app.js index d6e04f6..5dcc064 100644 --- a/app.js +++ b/app.js @@ -223,33 +223,50 @@ app.get("/ministranten", (req, res) =>{ res.send("{error: 'Invalid group id'}"); } } - con.query("SELECT `ministranten`.`USERNAME`, `ministranten`.`VORNAME`, `ministranten`.`NACHNAME`, `anwesenheit`.`ANWESENHEIT`, `anwesenheit`.`gottesdienst_ID` FROM `ministranten` LEFT JOIN `anwesenheit` ON `anwesenheit`.`USERNAME` = `ministranten`.`USERNAME`, `gottesdienst` WHERE `gottesdienst`.`ID` = `anwesenheit`.`gottesdienst_ID` AND `gottesdienst`.`gruppe_ID` = " + groupID + " ORDER BY `ministranten`.`NACHNAME`, `ministranten`.`VORNAME`, `anwesenheit`.`gottesdienst_ID` DESC LIMIT 30", (err, results) => { - if (err) throw err; - var minis = []; - - var curMini; - for(var i = 0; i < results.length; i++){ + con.query("SELECT `ministranten`.`USERNAME`, `ministranten`.`VORNAME`, `ministranten`.`NACHNAME`, `anwesenheit`.`ANWESENHEIT`, `anwesenheit`.`gottesdienst_ID` FROM `ministranten` LEFT JOIN `anwesenheit` ON `anwesenheit`.`USERNAME` = `ministranten`.`USERNAME`, `gottesdienst` WHERE `gottesdienst`.`ID` = `anwesenheit`.`gottesdienst_ID` AND `gottesdienst`.`gruppe_ID` = " + groupID + " ORDER BY `ministranten`.`NACHNAME`, `ministranten`.`VORNAME`, `anwesenheit`.`gottesdienst_ID`", (err, results) => { + + con.query("SELECT `ministranten`.`USERNAME`, `ministranten`.`VORNAME`, `ministranten`.`NACHNAME` FROM `ministranten` ORDER BY `ministranten`.`NACHNAME`, `ministranten`.`VORNAME`", (err, allMinis) => { - var result = results[i]; - if(result["USERNAME"] == "admin"){ - continue; - } - if(!curMini || curMini.username != result["USERNAME"]){ - if(curMini != undefined || curMini != null){ - minis.push(curMini); + if (err) throw err; + var minis = []; + + for(var i = 0; i < allMinis.length; i++){ + + var result = allMinis[i]; + if(result["USERNAME"] == "admin"){ + continue; } - curMini = { + minis.push({ firstname: result["VORNAME"], lastname: valid ? result["NACHNAME"] : result["NACHNAME"].substring(0, 1) + ".", username: result["USERNAME"], registered: {} - } + }) + + + // if(result["USERNAME"].includes(curMini.username)) + // curMini.registered[result["gottesdienst_ID"]] = result["ANWESENHEIT"]; } - curMini.registered[result["gottesdienst_ID"]] = result["ANWESENHEIT"]; - } - minis.push(curMini); - - res.send(JSON.stringify(minis)); + + var curMini = null; + for(let result of results){ + if(!curMini || curMini.username != result["USERNAME"]){ + var skip = false; + for(let mini of minis){ + if(skip) continue; + if(result["USERNAME"] == mini.username){ + curMini = mini; + skip = true; + } + } + } + + curMini.registered[result["gottesdienst_ID"]] = result["ANWESENHEIT"]; + } + + res.send(JSON.stringify(minis)); + + }) }); });