Bladeren bron

first deployment release

Jad Meouchy 9 jaren geleden
bovenliggende
commit
ad77ea1231
10 gewijzigde bestanden met toevoegingen van 68 en 127 verwijderingen
  1. 2 2
      schema.sql
  2. 7 3
      www/api/login.php
  3. 1 1
      www/css/general.css
  4. 1 7
      www/css/nav.css
  5. 40 5
      www/html/nav.html
  6. 2 0
      www/html/screen/sd.html
  7. 0 1
      www/index.html
  8. 0 103
      www/js/authorization.js
  9. 9 2
      www/js/init.js
  10. 6 3
      www/js/routes.js

+ 2 - 2
schema.sql

@@ -99,7 +99,7 @@ CREATE TABLE `file_row_update` (
   KEY `id_record` (`id_file_row`),
   CONSTRAINT `file_row_update_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`) ON UPDATE CASCADE,
   CONSTRAINT `file_row_update_ibfk_2` FOREIGN KEY (`id_file_row`) REFERENCES `file_row` (`id_file_row`) ON UPDATE CASCADE
-) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
 
 /*Table structure for table `user` */
 
@@ -108,9 +108,9 @@ DROP TABLE IF EXISTS `user`;
 CREATE TABLE `user` (
   `id_user` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `id_company` smallint(5) unsigned NOT NULL,
+  `name` varchar(128) DEFAULT NULL,
   `email` varchar(64) NOT NULL,
   `password` varchar(128) DEFAULT NULL,
-  `name` varchar(128) DEFAULT NULL,
   `date_created` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
   PRIMARY KEY (`id_user`),
   UNIQUE KEY `email` (`email`),

+ 7 - 3
www/api/login.php

@@ -39,12 +39,16 @@ if(!password_verify($password, $rows[0]['password']))
 	return;
 }
 
+
+header('Content-Type: application/json');
+
 //set session vars for future calls
 $_SESSION['id_user'] = $rows[0]['id_user'];
 $_SESSION['name'] = $rows[0]['name'];
 
-//
-echo 'OK';
-
+//make a user bundle and pass it back to the client
+$user = new stdClass;
+$user->name = $_SESSION['name'];
+echo json_encode($user);
 
 ?>

+ 1 - 1
www/css/general.css

@@ -46,7 +46,7 @@ body > .screen
 {
 	display: none;
 	position: absolute;
-	top: 8rem;
+	top: 7rem;
 	left: 0;
 	width: 100%;
 	overflow-x: hidden;

+ 1 - 7
www/css/nav.css

@@ -6,14 +6,8 @@
 	
 	/*background-color: #000;*/
 	/*box-shadow: 0 1px 3px rgba(0,0,0,0.1);*/
-	height: 8rem;
 	box-sizing: border-box;
-	z-index: 1;
-	color: white;
-	
-	padding: 0.5em 0;
-	
-	overflow: hidden;
+	z-index: 100;
 }
 
 #nav > .container

+ 40 - 5
www/html/nav.html

@@ -1,7 +1,42 @@
-<nav id="nav">
-	<div class="container">
-		<a href="#/" class="logo">
+<!--
+<a href="#/" class="logo">
 			<img src="media/sd.gif"/>
 		</a>
-	</div>
-</nav>
+		-->
+
+<nav id="nav" class="navbar navbar-default">
+	<div class="container-fluid">
+	  <div class="navbar-header">
+		<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+		  <span class="sr-only">Toggle navigation</span>
+		  <span class="icon-bar"></span>
+		  <span class="icon-bar"></span>
+		  <span class="icon-bar"></span>
+		</button>
+		
+		<a class="navbar-brand" href="#/">
+			Pickups
+		</a>
+	  </div>
+	  
+	  <div id="navbar" class="navbar-collapse collapse">
+		<ul class="nav navbar-nav">
+			<!-- left nav bar -->
+		</ul>
+		
+		<ul class="nav navbar-nav navbar-right">
+		  <li class="dropdown">
+			<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="user_name">[User]</span> <span class="caret"></span></a>
+			<ul class="dropdown-menu">
+			  <li><a href="#/logout">Logout</a></li>
+<!--			  <li role="separator" class="divider"></li>
+			  <li class="dropdown-header">Nav header</li>
+			  <li><a href="#">Separated link</a></li>
+			  <li><a href="#">One more separated link</a></li>
+			  -->
+			</ul>
+		  </li>
+		</ul>
+	  </div><!--/.nav-collapse -->
+	</div><!--/.container-fluid -->
+</nav>

+ 2 - 0
www/html/screen/sd.html

@@ -1,5 +1,7 @@
 <div id="screen-sd" class="screen">
 	<div class="container">
+		<img src="media/sd.gif" height="100"/>
+		<br/>
 		<br/>
 		<ul class="nav nav-tabs"></ul>
 		<div class="tab-content"></div>

+ 0 - 1
www/index.html

@@ -44,7 +44,6 @@
 <script src="js/vendor/dataTables.fixedColumns.min.js"></script>
 <script src="js/vendor/moment.min.js"></script>
 
-<script src="js/authorization.js"></script>
 <script src="js/helper.js"></script>
 <script src="js/routes.js"></script>
 <script src="js/loader.js"></script>

+ 0 - 103
www/js/authorization.js

@@ -1,103 +0,0 @@
-/* exported beginAuthorization, authorizeGoogleSilently, popupGoogleAuthorization, authorizeBilling, handleAuthResult, handleReAuthResult, billingAuthorizationFailed */
-/* exported logout */
-
-var token_google;
-var token_api;
-
-
-
-function toLogin()
-{
-	showPage('login');
-	
-	var email = $('#email').val();
-	
-	if(email || email.length > 0)
-		$('#password').focus();
-	else
-		$('#email').focus();
-}
-
-function login(e)
-{
-	e.preventDefault();
-	
-	var email = $('#email').val();
-	var password = $('#password').val();
-	
-	//clear the error message
-	$('#login-error-message').html('&nbsp;');
-	
-	//set processing
-	$('#form-login')
-		.removeClass('error')
-		.addClass('processing');
-	
-	//attempt to validate
-	api['auth'].create('local', { 'email': email, 'password': password }).done(function(creds)
-	{
-		if(!creds)
-		{
-			console.log('no credentials');
-			return;
-		}
-		
-		credentials = creds;
-		token = credentials['token'];
-
-		//store credentials locally
-		localStorage['credentials']		= JSON.stringify(credentials);
-
-		$('.user_name_first').html(creds['user']['name_first']);
-
-		//store inside API
-		api['opts']['token'] = credentials['token'];
-		
-		//make sure app page is visible
-		$('#app').show();
-		
-		//reload router
-		router.reload();
-		
-		//fade away the login screen
-		$('#form-login').fadeOut();
-	})
-	.fail(function(xhr)
-	{
-		var msg = xhr.responseText;
-
-		$('#login-error-message').html(msg);
-		$('#form-login').addClass('error');
-		$('#password').val('').focus();
-	})
-	.always(function()
-	{
-		$('#form-login').removeClass('processing');
-	});
-	
-	return false;
-}
-
-function logout(e)
-{
-	console.log('logout');
-	
-	//clear the local session
-	localStorage['credentials'] = null;
-	
-	//fade in the login screen
-	showPage('login');
-	
-	$('.user_name_first').html('[User]');
-	
-	if(table_properties)
-		table_properties.clear().draw();
-	
-	if(table_dashboard_properties)
-		table_dashboard_properties.clear().draw();
-	
-	//TODO: clear data lists
-
-	e.preventDefault();
-	return false;
-}

+ 9 - 2
www/js/init.js

@@ -3,12 +3,18 @@ window['loadApp'] = loadApp;
 
 var router = window['router'];
 
+var user;
+
 
 
 function loadApp()
 {
 	initializeRoutes();
-	router.reload();
+	
+	if(!user)
+		router('#/login');
+	else
+		router.reload();
 
 	//login and logout
 	$('form.form-signin').submit(login);
@@ -34,7 +40,8 @@ function login(e)
 	})
 	.done(function(response)
 	{
-		console.log(response);
+		user = response;
+		$('.user_name').text(user['name']);
 		
 		router('/sd');
 	})

+ 6 - 3
www/js/routes.js

@@ -5,10 +5,11 @@ var rows = {};
 
 function initializeRoutes()
 {
-	router('/login',		routes.login);
-	router('/sd',			routes.sd);
+	router('/login',		routes['login']);
+	router('/logout',		routes['logout']);
+	router('/sd',			routes['sd']);
 	
-	router('*',				routes.login);
+	router('*',				routes['login']);
 }
 
 
@@ -27,6 +28,8 @@ var routes =
 		$.post('api/logout.php');
 		
 		showPage('login');
+		
+		router('/');
 	},
 	
 	sd: function()