Wed, 29 Aug 2018 23:13:13 +0200
Changed always_on_stock to unlimited_stock. Fixed html page. Added tooltips. Changed grid columns layout.
--- 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')),