Browse Source

* aggiunta gestione base delle pagine in GET e POST
* aggiunta grafica base tabelle e step per binding etichette

Giancarlo 8 years ago
parent
commit
36a84a3f86
17 changed files with 165 additions and 55 deletions
  1. 3 1
      .gitignore
  2. 1 6
      build.js
  3. 0 0
      bundle.css
  4. 1 0
      bundle.js
  5. 5 0
      index.php
  6. 7 5
      src/Modules/BaseController.php
  7. 33 5
      src/Modules/Pages.php
  8. 14 0
      ui/bars.tpl
  9. 18 0
      ui/bind.tpl
  10. 5 4
      ui/custom.css
  11. 0 1
      ui/custom.js
  12. 1 1
      ui/custom.min.js
  13. 42 0
      ui/distinta.tpl
  14. 20 31
      ui/homemenu.tpl
  15. BIN
      ui/images/bindcarrello.png
  16. 1 1
      ui/login.tpl
  17. 14 0
      ui/pick2light.tpl

+ 3 - 1
.gitignore

@@ -46,4 +46,6 @@ node_modules
 tmp
 tmp
 
 
 # Custom for current project
 # Custom for current project
-assets
+/bundle.js
+/bundle.css
+

+ 1 - 6
build.js

@@ -1,8 +1,3 @@
-// const concat = require('concat');
-//
-// concat(["node_modules/bootstrap/dist/css/bootstrap.min.css", "ui/custom.css"], "bundle.css");
-//
-
 var compressor = require('node-minify');
 var compressor = require('node-minify');
 
 
 compressor.minify({
 compressor.minify({
@@ -27,8 +22,8 @@ compressor.minify({
 compressor.minify({
 compressor.minify({
         compressor: 'no-compress',
         compressor: 'no-compress',
         input: [
         input: [
-            "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",
             "node_modules/jquery/dist/jquery.min.js",
             "node_modules/jquery/dist/jquery.min.js",
+            "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",
             "ui/custom.min.js"
             "ui/custom.min.js"
         ],
         ],
         output: 'bundle.js'
         output: 'bundle.js'

File diff suppressed because it is too large
+ 0 - 0
bundle.css


File diff suppressed because it is too large
+ 1 - 0
bundle.js


+ 5 - 0
index.php

@@ -15,8 +15,13 @@ $f3->config('config.ini', true);
 
 
 // Pages
 // Pages
 $f3->route('GET /', "Modules\Pages->Login", $f3->get('CACHE_TTL'));
 $f3->route('GET /', "Modules\Pages->Login", $f3->get('CACHE_TTL'));
+$f3->route('GET /homemenu', "Modules\Pages->HomeMenu", $f3->get('CACHE_TTL'));
+$f3->route('GET|POST /pick2light', "Modules\Pages->Pick2Light", $f3->get('CACHE_TTL'));
+$f3->route("GET|POST /bind/@step", 'Modules\Pages->Bind', $f3->get('CACHE_TTL'));
+$f3->route('GET /elencodistinta', "Modules\Pages->ElencoDistinta", $f3->get('CACHE_TTL'));
 
 
 // Services
 // Services
 $f3->route("POST /login", 'Modules\BaseController->Login');
 $f3->route("POST /login", 'Modules\BaseController->Login');
+$f3->route("GET /logout", 'Modules\BaseController->Logout');
 
 
 $f3->run();
 $f3->run();

+ 7 - 5
src/Modules/BaseController.php

@@ -14,7 +14,6 @@ class BaseController
 
 
     public function __construct($f3)
     public function __construct($f3)
     {
     {
-//    $this->db = new \DB\SQL($f3->get('DB'), $f3->get('dbuser'), $f3->get('dbpass'), array(\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, \PDO::ATTR_PERSISTENT => TRUE));
         $this->isLogged = $this->checkLogin($f3->get('COOKIE.username'), $f3->get('COOKIE.password'));
         $this->isLogged = $this->checkLogin($f3->get('COOKIE.username'), $f3->get('COOKIE.password'));
 
 
         if ($this->isLogged)
         if ($this->isLogged)
@@ -23,6 +22,9 @@ class BaseController
         $f3->clear('COOKIE.username');
         $f3->clear('COOKIE.username');
         $f3->clear('COOKIE.password');
         $f3->clear('COOKIE.password');
 
 
+        if (!in_array($f3->get('PATTERN'), ['/login', '/']))
+            $f3->reroute('/');
+
         return;
         return;
     }
     }
 
 
@@ -45,13 +47,14 @@ class BaseController
 
 
         if (!$this->checkLogin($accountData['username'], $accountData['password'])) {
         if (!$this->checkLogin($accountData['username'], $accountData['password'])) {
             http_response_code(500);
             http_response_code(500);
-            echo "Dati di accesso non corretto";
+            echo "Dati di accesso non corretti";
             return;
             return;
         }
         }
 
 
         $f3->set('COOKIE.username', $accountData['username']);
         $f3->set('COOKIE.username', $accountData['username']);
         $f3->set('COOKIE.password', $accountData['password']);
         $f3->set('COOKIE.password', $accountData['password']);
-        http_response_code(200);
+        //http_response_code(200);
+        $f3->reroute('/homemenu');
     }
     }
 
 
     public function Logout($f3)
     public function Logout($f3)
@@ -59,7 +62,6 @@ class BaseController
         $f3->clear('SESSION');
         $f3->clear('SESSION');
         $f3->clear('COOKIE.username');
         $f3->clear('COOKIE.username');
         $f3->clear('COOKIE.password');
         $f3->clear('COOKIE.password');
-        $f3->reroute($f3->get('BASEURL'));
+        $f3->reroute('/');
     }
     }
-
 }
 }

+ 33 - 5
src/Modules/Pages.php

@@ -11,12 +11,11 @@ class Pages extends BaseController
 {
 {
     public function Login($f3)
     public function Login($f3)
     {
     {
-        if ($this->isLogged) {
-            $this->HomeMenu($f3);
-            return;
-        }
+        if ($this->isLogged)
+            $f3->reroute('/homemenu');
+        else
+            $f3->set('CONTENT', 'login.tpl');
 
 
-        $f3->set('CONTENT', 'login.tpl');
         echo \Template::instance()->render('masterpage.tpl');
         echo \Template::instance()->render('masterpage.tpl');
     }
     }
 
 
@@ -25,4 +24,33 @@ class Pages extends BaseController
         $f3->set('CONTENT', 'homemenu.tpl');
         $f3->set('CONTENT', 'homemenu.tpl');
         echo \Template::instance()->render('masterpage.tpl');
         echo \Template::instance()->render('masterpage.tpl');
     }
     }
+
+    public function Pick2Light($f3)
+    {
+        if($f3->get('POST.pickedcode'))
+            $f3->set("INFOTEXT", "Step non ancora implementato");
+
+        $f3->set('CONTENT', 'pick2light.tpl');
+        echo \Template::instance()->render('masterpage.tpl');
+    }
+
+    public function Bind($f3, $args)
+    {
+        if($args['step']>2)
+        {
+            $f3->set("INFOTEXT", "Step 3 non ancora implementato");
+            $args['step'] = 2;
+        }
+
+        $f3->set('STEP', $args['step']);
+        $f3->set('CONTENT', 'bind.tpl');
+        $f3->set('AUTOFOCUS' . $args['step'], 'autofocus');
+        echo \Template::instance()->render('masterpage.tpl');
+    }
+
+    public function ElencoDistinta($f3)
+    {
+        $f3->set('CONTENT', 'distinta.tpl');
+        echo \Template::instance()->render('masterpage.tpl');
+    }
 }
 }

+ 14 - 0
ui/bars.tpl

@@ -0,0 +1,14 @@
+<nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark">
+    <a href="{{@BASEURL}}/"><img class="navbar-brand" src="{{@BASEURL}}/ui/images/logo_text.png" height="90"/></a>
+    <div class="collapse navbar-collapse"></div>
+    <a class="navbar-brand" href="{{@BASEURL}}/logout">
+        <img src="{{@BASEURL}}/ui/images/logout.png" height="90"/>
+    </a>
+</nav>
+
+<nav class="navbar fixed-bottom navbar-expand-lg navbar-dark bg-dark">
+    <div class="collapse navbar-collapse"></div>
+    <a class="navbar-brand" href="{{@BASEURL}}">
+        <img src="{{@BASEURL}}/ui/images/om-link-logo.png" height="40"/>
+    </a>
+</nav>

+ 18 - 0
ui/bind.tpl

@@ -0,0 +1,18 @@
+<include href="bars.tpl"/>
+
+<div class="row h-100 justify-content-center">
+    <div class="col-md-5 align-self-center">
+        <form class="form" method="post" action="{{@BASEURL}}/bind/{{@STEP+1}}">
+            <input type="submit" hidden/>
+            <input type="text" name="labelid" class="form-control form-control-lg" placeholder="Label ID" required {{@AUTOFOCUS1}} autocomplete="false" value="{{ @POST.labelid }}"/>
+            <check if="{{ @STEP == '2'}}">
+                <input type="text" name="barcode" class="form-control form-control-lg mt-3" placeholder="Barcode" required {{@AUTOFOCUS2}} autocomplete="false" value="{{ @POST.barcode }}"/>
+            </check>
+        </form>
+        <check if="{{@INFOTEXT}}">
+            <div class="alert alert-danger mt-5" role="alert">
+                {{@INFOTEXT}}
+            </div>
+        </check>
+    </div>
+</div>

+ 5 - 4
ui/custom.css

@@ -3,20 +3,21 @@ html,body {
 }
 }
 body {
 body {
     background-color: #1c1c1c !important;
     background-color: #1c1c1c !important;
-    color: #c5ac0f;
+    color: #ffd242;
 }
 }
 
 
 input[type="text"], input[type="password"] {
 input[type="text"], input[type="password"] {
     background-color: #484848 !important;
     background-color: #484848 !important;
-    border-color: #C5AC0F
+    border-color: #C5AC0F;
 }
 }
 
 
 input[type="text"]:focus, input[type="password"]:focus {
 input[type="text"]:focus, input[type="password"]:focus {
     border-color: #C5AC0F;
     border-color: #C5AC0F;
-    color: orange;
+    color: #ffd242;
+
 }
 }
 .form-control {
 .form-control {
-    color: orange;
+    color: #ffd242;
 }
 }
 
 
 .form-control:focus {
 .form-control:focus {

+ 0 - 1
ui/custom.js

@@ -1,3 +1,2 @@
 document.addEventListener("DOMContentLoaded", function(event) {
 document.addEventListener("DOMContentLoaded", function(event) {
-    alert("DOM fully loaded and parsed");
 });
 });

+ 1 - 1
ui/custom.min.js

@@ -1 +1 @@
-document.addEventListener("DOMContentLoaded",function(d){alert("DOM fully loaded and parsed")});
+document.addEventListener("DOMContentLoaded",function(n){});

+ 42 - 0
ui/distinta.tpl

@@ -0,0 +1,42 @@
+<include href="bars.tpl"/>
+
+<div class="row h-100 justify-content-center">
+    <div class="col-md-5 align-self-center">
+
+        <table class="table table-striped table-dark">
+            <thead>
+            <tr>
+                <th class="text-center" colspan="4" scope="col">Elenco Distinta commessa: 012737</th>
+            </tr>
+            </thead>
+            <thead>
+            <tr>
+                <th scope="col">#</th>
+                <th scope="col">First</th>
+                <th scope="col">Last</th>
+                <th scope="col">Handle</th>
+            </tr>
+            </thead>
+            <tbody>
+            <tr>
+                <th scope="row">1</th>
+                <td>Mark</td>
+                <td>Otto</td>
+                <td>@mdo</td>
+            </tr>
+            <tr>
+                <th scope="row">2</th>
+                <td>Jacob</td>
+                <td>Thornton</td>
+                <td>@fat</td>
+            </tr>
+            <tr>
+                <th scope="row">3</th>
+                <td>Larry</td>
+                <td>the Bird</td>
+                <td>@twitter</td>
+            </tr>
+            </tbody>
+        </table>
+    </div>
+</div>

+ 20 - 31
ui/homemenu.tpl

@@ -1,37 +1,26 @@
-<nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark">
-    <img class="navbar-brand" src="images/logo_text.png" height="90"/>
-    <div class="collapse navbar-collapse"></div>
-    <a class="navbar-brand" href="{{@BASEURL}}">
-        <img src="ui/images/logout.png" height="90"/>
-    </a>
-</nav>
-
-<nav class="navbar fixed-bottom navbar-expand-lg navbar-dark bg-dark">
-    <div class="collapse navbar-collapse"></div>
-    <a class="navbar-brand" href="{{@BASEURL}}">
-        <img src="ui/images/om-link-logo.png" height="40"/>
-    </a>
-</nav>
+<include href="bars.tpl"/>
 
 
 <div class="row h-100">
 <div class="row h-100">
-    <div class="col-md-12 align-self-center debugborder">
-        <div class="row debugborder">
-            {*<div class="col-md-2 m-3">*}
-                {*<img class="img-fluid" src="ui/images/utente.png"/>*}
-            {*</div>*}
-            <div class="col-md-2 m-2">
-                <img class="img-fluid" src="ui/images/elenco_distinta.png"/>
-            </div>
-            <div class="col-md-2 m-3">
-                <img class="img-fluid" src="ui/images/bindcarrello.png"/>
-            </div>
-        </div>
-        <div class="row">
-            <div class="col-md-2 m-3">
-                <img class="img-fluid" src="ui/images/bind.png"/>
+    <div class="col-md-12 align-self-center">
+        <div class="content">
+            <div class="row justify-content-center">
+                <div class="col-md-2 m-3">
+                    <img class="img-fluid" src="ui/images/utente.png"/>
+                </div>
+                <div class="col-md-2 m-2">
+                    <a href="{{@BASEURL}}/elencodistinta"><img class="img-fluid" src="ui/images/elenco_distinta.png"/></a>
+                </div>
+                <div class="col-md-2 m-3">
+                    <img class="img-fluid" src="ui/images/bindcarrello.png"/>
+                </div>
             </div>
             </div>
-            <div class="col-md-2 m-3">
-                <img class="img-fluid" src="ui/images/pick2light.png"/>
+            <div class="row justify-content-center">
+                <div class="col-md-2 m-3">
+                    <a href="{{@BASEURL}}/bind/1"><img class="img-fluid" src="ui/images/bind.png"/></a>
+                </div>
+                <div class="col-md-2 m-3">
+                    <a href="{{@BASEURL}}/pick2light"><img class="img-fluid" src="ui/images/pick2light.png"/></a>
+                </div>
             </div>
             </div>
         </div>
         </div>
     </div>
     </div>

BIN
ui/images/bindcarrello.png


+ 1 - 1
ui/login.tpl

@@ -1,6 +1,6 @@
 <div class="text-center mx-auto col-md-7 mt-5">
 <div class="text-center mx-auto col-md-7 mt-5">
     <img src="{{@BASEURL}}/ui/images/logo.png" alt="" class="img-fluid">
     <img src="{{@BASEURL}}/ui/images/logo.png" alt="" class="img-fluid">
-    <form enctype="multipart/form-data" action="{{@BASEURL}}/login" method="POST">
+    <form enctype="multipart/form-data" action="login" method="POST">
         <h1 class="mb-4" style="font-size: 4vw">Login</h1>
         <h1 class="mb-4" style="font-size: 4vw">Login</h1>
         <label for="username" class="sr-only">username</label>
         <label for="username" class="sr-only">username</label>
         <input type="text" name="username" id="username" class="form-control mb-1" placeholder="Username" required autofocus autocomplete="false">
         <input type="text" name="username" id="username" class="form-control mb-1" placeholder="Username" required autofocus autocomplete="false">

+ 14 - 0
ui/pick2light.tpl

@@ -0,0 +1,14 @@
+<include href="bars.tpl"/>
+
+<div class="row h-100 justify-content-center">
+    <div class="col-md-5 align-self-center">
+        <form class="form" method="post" action="{{@BASEURL}}/pick2light">
+            <input type="text" name="pickedcode" class="form-control form-control-lg" placeholder="Pick to code" required autofocus autocomplete="false"/>
+        </form>
+        <check if="{{@INFOTEXT}}">
+            <div class="alert alert-danger mt-5" role="alert">
+                {{@INFOTEXT}}
+            </div>
+        </check>
+    </div>
+</div>

Some files were not shown because too many files changed in this diff