Changed always_on_stock to unlimited_stock. Fixed html page. Added tooltips. Changed grid columns layout.

Wed, 29 Aug 2018 23:13:13 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 29 Aug 2018 23:13:13 +0200
changeset 47
94cd5ac04b6a
parent 46
ff9be9dbcac0
child 48
bdd1ec9b9c06

Changed always_on_stock to unlimited_stock. Fixed html page. Added tooltips. Changed grid columns layout.

www/includes/db_inventory_water.php file | annotate | diff | comparison | revisions
www/inv_waters.php file | annotate | diff | comparison | revisions
www/js/inv_waters.js file | annotate | diff | comparison | revisions
--- a/www/includes/db_inventory_water.php	Wed Aug 29 19:58:36 2018 +0200
+++ b/www/includes/db_inventory_water.php	Wed Aug 29 23:13:13 2018 +0200
@@ -15,20 +15,20 @@
 function clear_default() {
 	global	$connect;
 
-	$usql = "UPDATE inventory_water SET default_water='0' WHERE (default_water = '1');";
+	$usql = "UPDATE inventory_waters SET default_water='0' WHERE (default_water = '1');";
 	$result = mysqli_query($connect, $usql);
 	if (! $result) {
-		syslog(LOG_NOTICE, "db_inventory_water: " . $usql . "  result: ".mysqli_error($connect));
+		syslog(LOG_NOTICE, "db_inventory_waters: " . $usql . "  result: ".mysqli_error($connect));
 	}
 }
 
 
 // get data and store in a json array
-$query = "SELECT * FROM inventory_water ORDER BY name";
+$query = "SELECT * FROM inventory_waters ORDER BY name";
 if (isset($_GET['insert'])) {
 	// INSERT COMMAND
-	$sql  = "INSERT INTO `inventory_water` SET name='" . mysqli_real_escape_string($connect, $_GET['name']);
-	($_GET['always_on_stock'] == 'true') ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0";
+	$sql  = "INSERT INTO `inventory_waters` SET name='" . mysqli_real_escape_string($connect, $_GET['name']);
+	($_GET['unlimited_stock'] == 'true') ? $sql .= "', unlimited_stock='1" : $sql .= "', unlimited_stock='0";
 	$sql .= "', calcium='" . $_GET['calcium'];
 	$sql .= "', bicarbonate='" . $_GET['bicarbonate'];
 	$sql .= "', sulfate='" . $_GET['sulfate'];
@@ -49,16 +49,16 @@
 	$sql .= "';";
 	$result = mysqli_query($connect, $sql);
 	if (! $result) {
-		syslog(LOG_NOTICE, "db_inventory_water: ".$sql." result: ".mysqli_error($connect));
+		syslog(LOG_NOTICE, "db_inventory_waters: ".$sql." result: ".mysqli_error($connect));
 	} else {
-		syslog(LOG_NOTICE, "db_inventory_water: inserted ".$_GET['name']);
+		syslog(LOG_NOTICE, "db_inventory_waters: inserted ".$_GET['name']);
 	}
 	echo $result;
 
 } else if (isset($_GET['update'])) {
 	// UPDATE COMMAND
-	$sql  = "UPDATE `inventory_water` SET name='" . mysqli_real_escape_string($connect, $_GET['name']);
-	($_GET['always_on_stock'] == 'true') ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0";
+	$sql  = "UPDATE `inventory_waters` SET name='" . mysqli_real_escape_string($connect, $_GET['name']);
+	($_GET['unlimited_stock'] == 'true') ? $sql .= "', unlimited_stock='1" : $sql .= "', unlimited_stock='0";
 	$sql .= "', calcium='" . $_GET['calcium'];
 	$sql .= "', bicarbonate='" . $_GET['bicarbonate'];
 	$sql .= "', sulfate='" . $_GET['sulfate'];
@@ -79,20 +79,20 @@
 	$sql .= "' WHERE record='" . $_GET['record'] . "';";
 	$result = mysqli_query($connect, $sql);
 	if (! $result) {
-		syslog(LOG_NOTICE, "db_inventory_water: ".$sql." result: ".mysqli_error($connect));
+		syslog(LOG_NOTICE, "db_inventory_waters: ".$sql." result: ".mysqli_error($connect));
 	} else {
-		syslog(LOG_NOTICE, "db_inventory_water: updated record ".$_GET['record']);
+		syslog(LOG_NOTICE, "db_inventory_waters: updated record ".$_GET['record']);
 	}
 	echo $result;
 
 } else if (isset($_GET['delete'])) {
 	// DELETE COMMAND
-	$sql = "DELETE FROM `inventory_water` WHERE record='".$_GET['record']."';";
+	$sql = "DELETE FROM `inventory_waters` WHERE record='".$_GET['record']."';";
 	$result = mysqli_query($connect, $sql);
 	if (! $result) {
-		syslog(LOG_NOTICE, "db_inventory_water: ".$sql." result: ".mysqli_error($connect));
+		syslog(LOG_NOTICE, "db_inventory_waters: ".$sql." result: ".mysqli_error($connect));
 	} else {
-		syslog(LOG_NOTICE, "db_inventory_water: deleted record ".$_GET['record']);
+		syslog(LOG_NOTICE, "db_inventory_waters: deleted record ".$_GET['record']);
 	}
 	echo $result;
 
@@ -103,7 +103,7 @@
 		$waters[] = array(
 			'record' => $row['record'],
 			'name' => $row['name'],
-			'always_on_stock' => $row['always_on_stock'],
+			'unlimited_stock' => $row['unlimited_stock'],
 			'calcium' => $row['calcium'],
 			'bicarbonate' => $row['bicarbonate'],
 			'sulfate' => $row['sulfate'],
--- a/www/inv_waters.php	Wed Aug 29 19:58:36 2018 +0200
+++ b/www/inv_waters.php	Wed Aug 29 23:13:13 2018 +0200
@@ -1,6 +1,6 @@
 <?php
 require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
-page_header('Water sources', 'inv_waters');
+page_header('Brouwwater voorraad', 'inv_waters');
 ?>
 
    <div id="jqxgrid"></div>
@@ -11,61 +11,58 @@
 
    <!-- Popup editor window. -->
    <div id="popupWindow">
-    <div>Wijzig brouwwater bron.</div>
+    <div>Wijzig brouwwater.</div>
     <div style="overflow: hidden;">
      <table>
       <tr>
-       <td align="right" style="vertical-align: top;">Water naam:</td>
+       <td style="vertical-align: top; float: right;">Water naam:</td>
        <td align="left" colspan="3" style="vertical-align: top;"><input id="name" /></td>
       </tr>
       <tr>
-       <td align="right" style="vertical-align: top;">Calcium (Ca) mg/l:</td>
-       <td align="left" style="vertical-align: top;"><input id="calcium" /></td>
-      <td align="right" style="vertical-align: top;">Magnesium (Mg) mg/l:</td>
-       <td align="left" style="vertical-align: top;"><input id="magnesium" /></td>
+       <td style="vertical-align: top; float: right;">Calcium (Ca) mg/l:</td>
+       <td><div id="calcium"></div></td>
+       <td style="vertical-align: top; float: right;">Magnesium (Mg) mg/l:</td>
+       <td><div id="magnesium"></div></td>
       </tr>
       <tr>
-       <td align="right" style="vertical-align: top;">Natrium (Na) mg/l:</td>
-       <td align="left" style="vertical-align: top;"><input id="sodium" /></td>
-       <td align="right" style="vertical-align: top;">Chloride (Cl) mg/l:</td>
-       <td align="left" style="vertical-align: top;"><input id="chloride" /></td>
+       <td style="vertical-align: top; float: right;">Natrium (Na) mg/l:</td>
+       <td><div id="sodium"></div></td>
+       <td style="vertical-align: top; float: right;">Chloride (Cl) mg/l:</td>
+       <td><div id="chloride"></div></td>
       </tr>
       <tr>
-       <td align="right" style="vertical-align: top;">Sulfaat (CaSO4) mg/l:</td>
-       <td align="left" style="vertical-align: top;"><input id="sulfate" /></td>
-       <td align="right" style="vertical-align: top;">Zuurgraad (pH):</td>
-       <td align="left" style="vertical-align: top;"><input id="ph" /></td>
-      </tr>
-      <tr>
-       <td align="right" style="vertical-align: top;">Bicarbonaat (HCO3) mg/l:</td> <!-- Input for total_alkalinity -->
-       <td align="left" style="vertical-align: top;"><input id="bicarbonate" /></td>
-       <td align="right" style="vertical-align: top;">Totale alkaliteit (CaCO3) mg/l:</td>
-       <td align="left" style="vertical-align: top;"><input id="total_alkalinity" /></td>
+       <td style="vertical-align: top; float: right;">Sulfaat (CaSO4) mg/l:</td>
+       <td><div id="sulfate"></div></td>
+       <td style="vertical-align: top; float: right;">Zuurgraad (pH):</td>
+       <td><div id="ph"></div></td>
       </tr>
       <tr>
-       <td align="right" style="vertical-align: top;">Opmerkingen:</td>
-       <td align="left" colspan="3"><textarea id="notes"></textarea></td>
+       <td style="vertical-align: top; float: right;">Bicarbonaat (HCO3) mg/l:</td> <!-- Input for total_alkalinity -->
+       <td><div id="bicarbonate"></div></td>
+       <td style="vertical-align: top; float: right;">Totale alkaliteit (CaCO3) mg/l:</td>
+       <td><div id="total_alkalinity"></div></td>
       </tr>
       <tr>
-       <td align="right" style="vertical-align: top;">Altijd op voorraad:</td>
-       <td align="left"><div id="always_on_stock"></div></td>
-       <td align="right" style="vertical-align: top;">Standaard water:</td>
-       <td align="left"><div id="default_water"></div></td>
+       <td style="vertical-align: top; float: right;">Opmerkingen:</td>
+       <td colspan="3"><textarea id="notes"></textarea></td>
       </tr>
       <tr>
-       <td align="right" style="vertical-align: top;">Voorraad:</td>
-       <td align="left"><div id="inventory"></div></td>
-       <td align="right" style="vertical-align: top;">Prijs per liter:</td>
-       <td align="left"><div id="cost"></div></td>
+       <td style="vertical-align: top; float: right;">Onbeperkt op voorraad:</td>
+       <td><div id="unlimited_stock"></div></td>
+       <td style="vertical-align: top; float: right;">Standaard water:</td>
+       <td><div id="default_water"></div></td>
       </tr>
       <tr>
-       <td style="padding-top: 10px;" align="right"><input type="button" id="Delete" value="Delete" /></td>
-       <td align="right"></td>
-       <td align="right"></td>
-       <td style="padding-top: 10px;" align="right">
-        <input style="margin-right: 5px;" type="button" id="Save" value="Save" />
-        <input id="Cancel" type="button" value="Cancel" />
-       </td>
+       <td style="vertical-align: top; float: right;">Voorraad:</td>
+       <td><div id="inventory"></div></td>
+       <td style="vertical-align: top; float: right;">Prijs per liter:</td>
+       <td><div id="cost"></div></td>
+      </tr>
+      <tr>
+       <td style="padding-top: 10px; float: right;"><input type="button" id="Delete" value="Delete" /></td>
+       <td></td>
+       <td></td>
+       <td style="padding-top: 10px;"><input style="margin-right: 5px;" type="button" id="Save" value="Save" /><input id="Cancel" type="button" value="Cancel" /></td>
       </tr>
      </table>
     </div>
--- a/www/js/inv_waters.js	Wed Aug 29 19:58:36 2018 +0200
+++ b/www/js/inv_waters.js	Wed Aug 29 23:13:13 2018 +0200
@@ -44,6 +44,21 @@
 
 $(document).ready(function () {
 	var url = "includes/db_inventory_water.php";
+	// tooltips
+	$("#name").jqxTooltip({ content: 'De unieke naam van dit brouwwater.' });
+	$("#notes").jqxTooltip({ content: 'Extra opmerkingen over dit water.' });
+	$("#unlimited_stock").jqxTooltip({ content: 'Onbeperkte voorraad zoals kraanwater en bronnen.' });
+	$("#calcium").jqxTooltip({ content: 'Calcium (Ca).' });
+	$("#bicarbonate").jqxTooltip({ content: 'Bicarbonaat (HCO3) kan worden gebruikt als invoer voor de Totale alkaliteit.' });
+	$("#sulfate").jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' });
+	$("#chloride").jqxTooltip({ content: 'Chloride (Cl).' });
+	$("#sodium").jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' });
+	$("#magnesium").jqxTooltip({ content: 'Magnesium (Mg).' });
+	$("#ph").jqxTooltip({ content: 'De zuurgraad (pH).' });
+	$("#total_alkalinity").jqxTooltip({ content: 'Totale alkaliniteit.' });
+	$("#default_water").jqxTooltip({ content: 'Is dit het standaard water voor de meeste bieren.' });
+	$("#inventory").jqxTooltip({ content: 'Voorraad in liters.' });
+	$("#cost").jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' });
 	// prepare the data
 	var source = {
 		datatype: "json",
@@ -51,7 +66,7 @@
 		datafields: [
 			{ name: 'record', type: 'number' },
 			{ name: 'name', type: 'string' },
-			{ name: 'always_on_stock', type: 'bool' },
+			{ name: 'unlimited_stock', type: 'bool' },
 			{ name: 'calcium', type: 'float' },
 			{ name: 'bicarbonate', type: 'float' },
 			{ name: 'sulfate', type: 'float' },
@@ -62,7 +77,7 @@
 			{ name: 'notes', type: 'string' },
 			{ name: 'total_alkalinity', type: 'float' },
 			{ name: 'default_water', type: 'bool' },
-			{ name: 'inventory', type: 'string' },
+			{ name: 'inventory', type: 'float' },
 			{ name: 'cost', type: 'float' }
 		],
 		id: 'record',
@@ -118,7 +133,7 @@
 	};
 	// initialize the input fields.
 	$("#name").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#always_on_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 });
+	$("#unlimited_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 });
 	$("#calcium").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true });
 	$("#bicarbonate").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true });
 	$("#sulfate").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true });
@@ -153,7 +168,7 @@
 				editrow = -1;
 				$("#popupWindow").jqxWindow({ position: { x: 230, y: 30 } });
 				$("#name").val('');
-				$("#always_on_stock").val('');
+				$("#unlimited_stock").val('');
 				$("#calcium").val('');
 				$("#bicarbonate").val('');
 				$("#sulfate").val('');
@@ -172,10 +187,12 @@
 		filterable: true,
 		filtermode: 'excel',
 		columns: [
-			{ text: 'Water leverancier', datafield: 'name', width: 250 },
-			{ text: 'Opmerkingen', datafield: 'notes', width: 850 },
+			{ text: 'Water leverancier', datafield: 'name', width: 225 },
+			{ text: 'Opmerkingen', datafield: 'notes' },
 			{ text: 'Standaard', datafield: 'default_water', columntype: 'checkbox', width: 80 },
-			{ text: 'Wijzig', datafield: 'Edit', columntype: 'button', cellsrenderer: function () {
+			{ text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 },
+			{ text: 'Liters', datafield: 'inventory', width: 70, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+			{ text: 'Wijzig', datafield: 'Edit', width: 120, align: 'center', columntype: 'button', cellsrenderer: function () {
 				return "Wijzig";
 				}, buttonclick: function (row) {
 					// open the popup window when the user clicks a button.
@@ -184,7 +201,7 @@
 					// get the clicked row's data and initialize the input fields.
 					var dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
 					$("#name").val(dataRecord.name);
-					$("#always_on_stock").val(dataRecord.always_on_stock);
+					$("#unlimited_stock").val(dataRecord.unlimited_stock);
 					$("#calcium").val(dataRecord.calcium);
 					$("#bicarbonate").val(dataRecord.bicarbonate);
 					$("#sulfate").val(dataRecord.sulfate);
@@ -231,7 +248,7 @@
 			var row = {
 				record: rowID,
 				name: $("#name").val(),
-				always_on_stock: $("#always_on_stock").val(),
+				unlimited_stock: $("#unlimited_stock").val(),
 				calcium: parseFloat($("#calcium").jqxNumberInput('decimal')),
 				bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')),
 				sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')),
@@ -252,7 +269,7 @@
 			var newrow = {
 				record: -1,
 				name: $("#name").val(),
-				always_on_stock: $("#always_on_stock").val(),
+				unlimited_stock: $("#unlimited_stock").val(),
 				calcium: parseFloat($("#calcium").jqxNumberInput('decimal')),
 				bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')),
 				sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')),

mercurial