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