From f296b9299c75dc8b56c181cb042d97b0e376dad1 Mon Sep 17 00:00:00 2001 From: Beni <bucsy.beni@gmail.com> Date: Thu, 9 Apr 2020 00:58:26 +0200 Subject: [PATCH] hf4 done --- middleware/bunker/getBunker.js | 35 ++++++++++++++++++++++++++- middleware/bunker/getBunkerList.js | 36 +++++++++++++++++++++++++++- middleware/bunker/saveBunker.js | 29 ++++++++++++++++++---- middleware/common/handleWrongPass.js | 2 -- middleware/common/login.js | 1 - middleware/food/getFood.js | 10 +++++++- middleware/food/getFoodList.js | 26 +++++++++++++++++++- middleware/food/saveFood.js | 23 +++++++++++++++++- middleware/storage/addStorageItem.js | 25 ++++++++++++++++++- views/bunkereditcreate.ejs | 28 +++++++++++++++------- views/bunkerinfo.ejs | 36 ++++++++++++---------------- views/bunkers.ejs | 32 ++++++++++--------------- views/foodeditcreate.ejs | 27 +++++++++++++-------- views/foodtable.ejs | 21 ++++++---------- views/storageadd.ejs | 32 ++++++++++++++++--------- 15 files changed, 265 insertions(+), 98 deletions(-) diff --git a/middleware/bunker/getBunker.js b/middleware/bunker/getBunker.js index d18bc5c..55e6417 100644 --- a/middleware/bunker/getBunker.js +++ b/middleware/bunker/getBunker.js @@ -7,7 +7,40 @@ module.exports = function (objectrepository) { return function (req, res, next) { - next(); + + res.locals.bunker = { + _id: 'bnkr2', + name: 'Bunker2', + adress: 'Teszt utca 2', + capacity: 10, + stock_dur: 400, + stock:[ + { + _id:'stockid1', + type: 'Szárított marha', + quantity: 100, + dop: '2017.03.11', + style: 'text-danger' + }, + { + _id:'stockid2', + type: 'Szárított marha', + quantity: 50, + dop: '2019.8.13', + style: 'text-warning' + }, + { + _id:'qualityfood', + type: 'Kínai tésztás porleves', + quantity: 500, + dop: '2020.04.01', + style: 'text-success' + }, + ] + }; + + + return next(); }; }; \ No newline at end of file diff --git a/middleware/bunker/getBunkerList.js b/middleware/bunker/getBunkerList.js index 4666cf8..2594743 100644 --- a/middleware/bunker/getBunkerList.js +++ b/middleware/bunker/getBunkerList.js @@ -6,7 +6,41 @@ module.exports = function (objectrepository) { return function (req, res, next) { - next(); + + res.locals.bunkers = [ + { + _id: 'bnkr1', + name: 'Bunker1', + stock_dur: 365, + warning: { + level: 0, + message: '-', + class: 'text-secondary' + } + }, + { + _id: 'bnkr2', + name: 'Bunker2', + stock_dur: 400, + warning: { + level: 1, + message: 'Fél éven belűl romlandó étel', + class: 'text-warning' + } + }, + { + _id: 'bnkr3', + name: 'Bunker3', + stock_dur: 150, + warning: { + level: 2, + message: 'Romlott étel ', + class: 'text-danger' + } + }, + ]; + + return next(); }; }; \ No newline at end of file diff --git a/middleware/bunker/saveBunker.js b/middleware/bunker/saveBunker.js index e26d841..176c25e 100644 --- a/middleware/bunker/saveBunker.js +++ b/middleware/bunker/saveBunker.js @@ -1,4 +1,3 @@ - /** * Creates/Updates a bunker if gets the necesary data * -- if get no data, calls next @@ -8,7 +7,29 @@ module.exports = function (objectrepository) { return function (req, res, next) { - next(); + + if (typeof req.body.name === 'undefined' || + typeof req.body.adress === 'undefined' || + typeof req.body.capacity === 'undefined'){ + + return next(); + } + + + if (req.body.name === '' || + req.body.adress === '' || + req.body.capacity === '' ){ + + res.locals.warning = 'Töltsd ki az összes mezőt'; + + return next(); + } + + + + + console.log('TODO: implement save'); + return res.redirect('/bunkers'); }; - - }; \ No newline at end of file + +}; \ No newline at end of file diff --git a/middleware/common/handleWrongPass.js b/middleware/common/handleWrongPass.js index 03ed0f3..75c363b 100644 --- a/middleware/common/handleWrongPass.js +++ b/middleware/common/handleWrongPass.js @@ -5,9 +5,7 @@ module.exports = function (objectrepository) { return function (req, res, next) { - console.log(req.query); if(typeof req.query.error != 'undefined' && req.query.error === 'wrongpass'){ - console.log('wp'); res.locals.error = { type: 'Wrong username or password.', message: 'Try admin/123456 combination ;)' diff --git a/middleware/common/login.js b/middleware/common/login.js index 0659ace..6708d8b 100644 --- a/middleware/common/login.js +++ b/middleware/common/login.js @@ -6,7 +6,6 @@ module.exports = function (objectrepository) { return function (req, res, next) { - console.log(req.body); if(req.body && req.body.username == 'admin' && req.body.password == '123456'){ req.session.user = req.body.username; return next(); diff --git a/middleware/food/getFood.js b/middleware/food/getFood.js index 35ef82d..911c94a 100644 --- a/middleware/food/getFood.js +++ b/middleware/food/getFood.js @@ -6,7 +6,15 @@ module.exports = function (objectrepository) { return function (req, res, next) { - next(); + + res.locals.food = { + _id:'qualityfood', + name: 'Kínai tésztás porleves', + kcal: 1000, + lasts: 5000 + }; + + return next(); }; }; \ No newline at end of file diff --git a/middleware/food/getFoodList.js b/middleware/food/getFoodList.js index 828c4d8..c96b578 100644 --- a/middleware/food/getFoodList.js +++ b/middleware/food/getFoodList.js @@ -5,7 +5,31 @@ module.exports = function (objectrepository) { return function (req, res, next) { - next(); + + res.locals.foods = [ + { + _id:'foodid1', + name: 'Szárított marha', + kcal: 250, + lasts: 200 + }, + { + _id:'foodid2', + name: 'Konzervbab', + kcal: 500, + lasts: 720 + }, + { + _id:'qualityfood', + name: 'Kínai tésztás porleves', + kcal: 1000, + lasts: 5000 + }, + ]; + + + + return next(); }; }; \ No newline at end of file diff --git a/middleware/food/saveFood.js b/middleware/food/saveFood.js index e028e8a..2db1418 100644 --- a/middleware/food/saveFood.js +++ b/middleware/food/saveFood.js @@ -6,7 +6,28 @@ module.exports = function (objectrepository) { return function (req, res, next) { - next(); + + if (typeof req.body.name === 'undefined' || + typeof req.body.kcal === 'undefined' || + typeof req.body.lasts === 'undefined'){ + return next(); + } + + if (req.body.name === '' || + req.body.kcal === '' || + req.body.lasts === '' ){ + + res.locals.warning = 'Töltsd ki az összes mezőt'; + + return next(); + } + + + + + + console.log('TODO: implement save'); + return res.redirect('/foods'); }; }; \ No newline at end of file diff --git a/middleware/storage/addStorageItem.js b/middleware/storage/addStorageItem.js index 29580d0..6b8bb2d 100644 --- a/middleware/storage/addStorageItem.js +++ b/middleware/storage/addStorageItem.js @@ -5,7 +5,30 @@ module.exports = function (objectrepository) { return function (req, res, next) { - next(); + if (typeof req.body.type === 'undefined' || + typeof req.body.dop === 'undefined' || + typeof req.body.quantity === 'undefined'){ + + + + return next(); + } + + + if (req.body.type === '' || + req.body.dop === '' || + req.body.quantity === '' ){ + + res.locals.warning = 'Töltsd ki az összes mezőt'; + + return next(); + } + + + + + console.log('TODO: implement save'); + return res.redirect('/bunkers/info/' + req.param('bunkerid')); }; }; \ No newline at end of file diff --git a/views/bunkereditcreate.ejs b/views/bunkereditcreate.ejs index fbef84a..7aa3486 100644 --- a/views/bunkereditcreate.ejs +++ b/views/bunkereditcreate.ejs @@ -1,25 +1,35 @@ <%- include('header') %> <%- include('menu') %> + +<% if(typeof warning != 'undefined'){ %> + + <div class="alert alert-warning" role="alert"> + <h2>A mentés nem sikerült</h2> + <p><%= warning %></p> + </div> + +<% } %> + <!-- Content --> <div class="container"> <div class="row"> <div class="col-12"> - <h2>Bunker létrehozása / szerkeztése</h2> - <form> + <h2>Bunker <%=(typeof bunker === 'undefined')? 'létrehozása' : 'szerkeztése' %></h2> + <form method="post"> <div class="form-group"> - <label for="Name">Bunker név</label> - <input type="text" class="form-control" id="Name"> + <label for="name">Bunker név</label> + <input type="text" class="form-control" id="name" name="name" value="<%=(typeof bunker === 'undefined')? '' : bunker.name%>"> </div> <div class="form-group"> - <label for="Adress">Cím</label> - <input type="text" class="form-control" id="Adress"> + <label for="adress">Cím</label> + <input type="text" class="form-control" id="adress" name="adress" value="<%=(typeof bunker === 'undefined')? '' : bunker.adress%>"> </div> <div class="form-group"> - <label for="Size">Férőhely</label> - <input type="number" class="form-control" id="Size"> + <label for="capacity">Férőhely</label> + <input type="number" class="form-control" id="capacity" name="capacity" value="<%=(typeof bunker === 'undefined')? '' : bunker.capacity%>"> </div> - <a href="/bunkers" type="submit" class="btn btn-primary">Mentés</a> + <input type="submit" class="btn btn-primary" value="Mentés"/> <a href="/bunkers" type="submit" class="btn btn-secondary">Mégsem</a> </form> </div> diff --git a/views/bunkerinfo.ejs b/views/bunkerinfo.ejs index f37134a..36f01e7 100644 --- a/views/bunkerinfo.ejs +++ b/views/bunkerinfo.ejs @@ -7,10 +7,10 @@ <div class="col-12"> <h2>Bunker adatok:</h2> <ul class="list-group list-group-flush"> - <li class="list-group-item">Név: Bunker1</li> - <li class="list-group-item">Cím: Teszt utca</li> - <li class="list-group-item">Férőhely: 10 ember</li> - <li class="list-group-item">Becsült készlet: 365 nap</li> + <li class="list-group-item">Név: <%=bunker.name%></li> + <li class="list-group-item">Cím: <%=bunker.adress%></li> + <li class="list-group-item">Férőhely: <%=bunker.capacity%> ember</li> + <li class="list-group-item">Becsült készlet: <%=bunker.stock_dur%> nap</li> </ul> </div> </div> @@ -27,25 +27,19 @@ </tr> </thead> <tbody> - <tr> - <td>Szárított marha</td> - <td>100 adag</td> - <td class="text-danger">2017.03.11</td> - <td> - <a href="/bunkers/storage/del/bunkerid/itemid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> - <tr> - <td>Szárított marha</td> - <td>250 adag</td> - <td class="text-success">2020.03.02</td> - <td> - <a href="/bunkers/storage/del/bunkerid/itemid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> + <%for (let entry of bunker.stock) {%> + <tr> + <td><%=entry.type%></td> + <td><%=entry.quantity%> adag</td> + <td class="<%=entry.style%>"><%=entry.dop%></td> + <td> + <a href="/bunkers/storage/del/<%=bunker._id%>/<%=entry._id%>" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + </td> + </tr> + <%}%> </tbody> </table> - <a href="/bunkers/storage/add/bunkerid/" type="button" class="btn btn-primary btn-lg btn-block">Raktárelem hozzáadása</a> + <a href="/bunkers/storage/add/<%=bunker._id%>/" type="button" class="btn btn-primary btn-lg btn-block">Raktárelem hozzáadása</a> </div> </div> </div> diff --git a/views/bunkers.ejs b/views/bunkers.ejs index f95956f..7fd6a6c 100644 --- a/views/bunkers.ejs +++ b/views/bunkers.ejs @@ -16,26 +16,18 @@ </tr> </thead> <tbody> - <tr> - <td>Bunker0</td> - <td>365 nap</td> - <td>-</td> - <td> - <a href="/bunkers/info/bunkerid" type="button" class="btn btn-secondary btn-sm"><i class="fas fa-info-circle"></i></a> - <a href="/bunkers/edit/bunkerid" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> - <a href="/bunkers/del/bunkerid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> - <tr> - <td>Bunker1</td> - <td>256 nap</td> - <td class="text-warning">Fél éven belűl romlandó étel <i class="fas fa-exclamation-triangle"></i></td> - <td> - <a href="/bunkers/info/bunkerid" type="button" class="btn btn-secondary btn-sm"><i class="fas fa-info-circle"></i></a> - <a href="/bunkers/edit/bunkerid" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> - <a href="/bunkers/del/bunkerid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> + <% for(let bunker of bunkers) {%> + <tr> + <td><%= bunker.name %></td> + <td><%= bunker.stock_dur %> nap</td> + <td class="<%=bunker.warning.class%>"><%=bunker.warning.message%></td> + <td> + <a href="/bunkers/info/<%=bunker._id%>" type="button" class="btn btn-secondary btn-sm"><i class="fas fa-info-circle"></i></a> + <a href="/bunkers/edit/<%=bunker._id%>" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> + <a href="/bunkers/del/<%=bunker._id%>" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + </td> + </tr> + <% } %> </tbody> </table> <a href="/bunkers/new" type="button" class="btn btn-primary btn-lg btn-block">Új bunker</a> diff --git a/views/foodeditcreate.ejs b/views/foodeditcreate.ejs index 068076d..e8a114c 100644 --- a/views/foodeditcreate.ejs +++ b/views/foodeditcreate.ejs @@ -1,27 +1,34 @@ <%- include('header') %> <%- include('menu') %> +<% if(typeof warning != 'undefined'){ %> + <div class="alert alert-warning" role="alert"> + <h2>A mentés nem sikerült</h2> + <p><%= warning %></p> + </div> + +<% } %> <!-- Content --> <div class="container"> <div class="row"> <div class="col-12"> - <h2>Étel létrehozása / szerkeztése</h2> - <form> + <h2>Étel <%=(typeof food === 'undefined')? 'létrehozása': 'szerkeztése'%></h2> + <form method="POST"> <div class="form-group"> - <label for="Name">Név</label> - <input type="text" class="form-control" id="Name"> + <label for="name">Név</label> + <input type="text" class="form-control" id="name" name="name" value="<%=(typeof food === 'undefined')? '' : food.name%>"> </div> <div class="form-group"> - <label for="Nutrition">Tápérték (Kcal-ban)</label> - <input type="number" class="form-control" id="Nutrition"> + <label for="kcal">Tápérték (Kcal-ban)</label> + <input type="number" class="form-control" id="kcal" name="kcal" value="<%=(typeof food === 'undefined')? '' : food.kcal%>"> </div> <div class="form-group"> - <label for="Longevity">Tartósság (napokban)</label> - <input type="number" class="form-control" id="Longevity"> + <label for="lasts">Tartósság (napokban)</label> + <input type="number" class="form-control" id="lasts" name="lasts" value="<%=(typeof food === 'undefined')? '' : food.lasts%>"> </div> - <a href="/foods" type="submit" class="btn btn-primary">Mentés</a> - <a href="/foods" type="submit" class="btn btn-secondary">Mégsem</a> + <input type="submit" class="btn btn-primary" value="Mentés"/> + <a href="/foods" class="btn btn-secondary">Mégsem</a> </form> </div> </div> diff --git a/views/foodtable.ejs b/views/foodtable.ejs index 1c60c35..7c5f143 100644 --- a/views/foodtable.ejs +++ b/views/foodtable.ejs @@ -17,24 +17,17 @@ </tr> </thead> <tbody> + <% for(let food of foods) {%> <tr> - <td>Szárított marha</td> - <td>250 Kcal</td> - <td>200 nap</td> + <td><%=food.name%></td> + <td><%=food.kcal%> Kcal</td> + <td><%=food.lasts%> nap</td> <td> - <a href="/foods/edit/foodid" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> - <a href="/foods/del/foodid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> - <tr> - <td>Konzerv bab</td> - <td>500 Kcal</td> - <td>720 nap</td> - <td> - <a href="/foods/edit/foodid" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> - <a href="/foods/del/foodid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + <a href="/foods/edit/<%=food._id%>" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> + <a href="/foods/del/<%=food._id%>" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> </td> </tr> + <% } %> </tbody> </table> <a href="/foods/new" type="button" class="btn btn-primary btn-lg btn-block">Új étel</a> diff --git a/views/storageadd.ejs b/views/storageadd.ejs index 95cfc95..306a689 100644 --- a/views/storageadd.ejs +++ b/views/storageadd.ejs @@ -1,29 +1,39 @@ <%- include('header') %> <%- include('menu') %> + +<% if(typeof warning != 'undefined'){ %> + + <div class="alert alert-warning" role="alert"> + <h2>A mentés nem sikerült</h2> + <p><%= warning %></p> + </div> + +<% } %> <!-- Content --> <div class="container"> <div class="row"> <div class="col-12"> <h2>Raktárelem hozzáadása</h2> - <form> + <form method="POST"> <div class="form-group"> - <label for="Foodtype">Example select</label> - <select class="form-control" id="Foodtype"> - <option>Konzerv bab</option> - <option>Szárított marha</option> + <label for="type">Élelmiszer típus</label> + <select class="form-control" id="type" name="type"> + <% for(let food of foods) {%> + <option value="<%=food._id%>"><%=food.name%></option> + <% } %> </select> </div> <div class="form-group"> - <label for="CreateTime">Gyártási idő</label> - <input type="date" class="form-control" id="CreateTime"> + <label for="dop">Gyártási idő</label> + <input type="date" class="form-control" id="dop" name="dop"> </div> <div class="form-group"> - <label for="Count">Darabszám</label> - <input type="number" class="form-control" id="Count"> + <label for="quantity">Darabszám</label> + <input type="number" class="form-control" id="quantity" name="quantity"> </div> - <a href="/bunkers/info/bunkerid" type="submit" class="btn btn-primary">Mentés</a> - <a href="/bunkers/info/bunkerid" type="submit" class="btn btn-secondary">Mégsem</a> + <input type="submit" class="btn btn-primary" value="Mentés"/> + <a href="/bunkers/info/<%=bunker._id%>" type="submit" class="btn btn-secondary">Mégsem</a> </form> </div> </div> -- GitLab