Removed product new

Fri, 05 Aug 2022 11:02:01 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 05 Aug 2022 11:02:01 +0200
changeset 816
d76f623d487c
parent 815
5714ea86187d
child 817
6ee186182c70

Removed product new

www/Makefile file | annotate | diff | comparison | revisions
www/includes/global.inc.php file | annotate | diff | comparison | revisions
www/js/prod_inprod.js file | annotate | diff | comparison | revisions
www/js/prod_new.js file | annotate | diff | comparison | revisions
www/prod_new.php file | annotate | diff | comparison | revisions
--- a/www/Makefile	Fri Aug 05 10:53:56 2022 +0200
+++ b/www/Makefile	Fri Aug 05 11:02:01 2022 +0200
@@ -12,7 +12,7 @@
 		  mon_brewer.php mon_co2meter.php mon_fermenter.php mon_ispindel.php mon_node.php \
 		  prod_beerxml.php prod_checklist.php prod_divide.php prod_duplicate.php \
 		  prod_edit.php prod_export.php prod_forum.php \
-		  prod_impbrew.php prod_inprod.php prod_new.php prod_print.php prod_torecipe.php \
+		  prod_impbrew.php prod_inprod.php prod_print.php prod_torecipe.php \
 		  rec_view.php rec_main.php \
 		  upl_fermentables.php upl_hops.php upl_miscs.php upl_styles.php upl_yeasts.php version.php
 SUB		= version.php.in images/* css/* jqwidgets/* jqwidgets/styles/* \
--- a/www/includes/global.inc.php	Fri Aug 05 10:53:56 2022 +0200
+++ b/www/includes/global.inc.php	Fri Aug 05 11:02:01 2022 +0200
@@ -222,12 +222,7 @@
        </li>
       </ul>
      </li>
-     <li style='width: 80px;'>Productie
-      <ul style='width: 200px;'>
-       <li><img style='float: left; margin-right: 5px;' src='images/beerstyles.png' /><a href="prod_inprod.php">In bewerking</a></li>
-       <li><img style='float: left; margin-right: 5px;' src='images/list-add.png' /><a href="prod_new.php?return=index.php">Start nieuw</a></li>
-      </ul>
-     </li>
+     <li style='width: 80px;'><a href="prod_inprod.php">Productie</a></li>
      <li style='width: 80px;'><a href="rec_main.php">Recepten</a></li>
      <li style='width: 80px;'><a href="gen_about.php">Over</a></li>
     </ul>
--- a/www/js/prod_inprod.js	Fri Aug 05 10:53:56 2022 +0200
+++ b/www/js/prod_inprod.js	Fri Aug 05 11:02:01 2022 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2018-2019
+ * Copyright (C) 2018-2022
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -45,20 +45,6 @@
   height: 630,
   source: dataAdapter,
   theme: theme,
-  showstatusbar: true,
-  renderstatusbar: function(statusbar) {
-   var container, addButton;
-   container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
-   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
-     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Add</span></div>');
-   container.append(addButton);
-   statusbar.append(container);
-   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-   // add new recipe.
-   addButton.click(function(event) {
-    window.location.href = 'prod_new.php?return=prod_inprod.php';
-   });
-  },
   columns: [
    { text: 'Datum', datafield: 'birth', width: 120 },
    { text: 'Code', datafield: 'code', width: 120 },
--- a/www/js/prod_new.js	Fri Aug 05 10:53:56 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,581 +0,0 @@
-/*****************************************************************************
- * Copyright (C) 2018-2020
- *
- * Michiel Broek <mbroek at mbse dot eu>
- *
- * This file is part of BMS
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * BrewCloud is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with ThermFerm; see the file COPYING.  If not, write to the Free
- * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *****************************************************************************/
-
-
-$(document).ready(function() {
-
- // Tab 1, base
- $('#name').jqxTooltip({ content: 'De naam voor dit brouw project.' });
- $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
- $('#code').jqxTooltip({ content: 'Het unieke code nummer van dit brouw project.' });
- $('#code').jqxInput({ theme: theme, width: 100, height: 23 });
- $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit project.' });
- $('#notes').jqxInput({ theme: theme, width: 960, height: 200 });
- $('#type').jqxDropDownList({
-  theme: theme,
-  source: RecipeTypeAdapter,
-  valueMember: 'id',
-  displayMember: 'nl',
-  width: 180,
-  height: 23,
-  autoDropDownHeight: true
- });
- $('#type').jqxDropDownList('selectItem', 2);
- $('#type').on('select', function(event) {
-  if (event.args) {
-   recipe_type = event.args.index;
-  }
- });
-
- // Tab 2, style
- $('#st_name').jqxTooltip({ content: 'De bierstijl naam voor dit recept.'});
- $('#st_name').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_category').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'});
- $('#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_category_number').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'});
- $('#st_category_number').jqxInput({ theme: theme, width: 70, height: 23 });
- $('#st_letter').jqxTooltip({ content: 'De bierstijl letter voor dit recept.'});
- $('#st_letter').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_guide').jqxTooltip({ content: 'De bierstijl gids voor dit recept.'});
- $('#st_guide').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_notes').jqxInput({ theme: theme, width: 800, height: 100 });
- $('#st_type').jqxTooltip({ content: 'Het bierstijl type.'});
- $('#st_type').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_og_min').jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'});
- $('#st_og_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
- $('#st_og_max').jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'});
- $('#st_og_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
- $('#st_fg_min').jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'});
- $('#st_fg_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
- $('#st_fg_max').jqxTooltip({ content: 'Het maximum eind SG voor deze bierstijl.'});
- $('#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
- $('#st_ibu_min').jqxTooltip({ content: 'De minimum bitterheid voor deze bierstijl.'});
- $('#st_ibu_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
- $('#st_ibu_max').jqxTooltip({ content: 'De maximum bitterheid voor deze bierstijl.'});
- $('#st_ibu_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
- $('#st_color_min').jqxTooltip({ content: 'De minimum kleur voor deze bierstijl.'});
- $('#st_color_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
- $('#st_color_max').jqxTooltip({ content: 'De maximum kleur voor deze bierstijl.'});
- $('#st_color_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
- $('#st_carb_min').jqxTooltip({ content: 'Het minimum koolzuur volume voor deze bierstijl.'});
- $('#st_carb_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
- $('#st_carb_max').jqxTooltip({ content: 'Het maximum koolzuur volume voor deze bierstijl.'});
- $('#st_carb_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
- $('#st_abv_min').jqxTooltip({ content: 'Het minimum alcohol volume % voor deze bierstijl.'});
- $('#st_abv_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
- $('#st_abv_max').jqxTooltip({ content: 'Het maximum alcohol volume % voor deze bierstijl.'});
- $('#st_abv_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
- $('#st_profile').jqxInput({ theme: theme, width: 800, height: 48 });
- $('#st_ingredients').jqxInput({ theme: theme, width: 800, height: 23 });
- $('#st_examples').jqxInput({ theme: theme, width: 800, height: 48 });
- $('#styleSelect').jqxDropDownList({
-  placeHolder: 'Kies bierstijl:',
-  theme: theme,
-  source: styleslist,
-  displayMember: 'name',
-  width: 250,
-  height: 27,
-  dropDownWidth: 500,
-  dropDownHeight: 500,
-  renderer: function(index, label, value) {
-   var datarecord = styleslist.records[index];
-   return datarecord.style_guide + ' ' + datarecord.style_letter + ' ' + datarecord.name;
-  }
- });
- $('#styleSelect').on('select', function(event) {
-  if (event.args) {
-   var index = event.args.index,
-   datarecord = styleslist.records[index];
-   $('#st_name').val(datarecord.name);
-   $('#st_category').val(datarecord.category);
-   $('#st_category_number').val(datarecord.category_number);
-   $('#st_letter').val(datarecord.style_letter);
-   $('#st_guide').val(datarecord.style_guide);
-   style_type = datarecord.type;
-   $('#st_type').val(StyleTypeData[datarecord.type].nl);
-   $('#st_og_min').val(datarecord.og_min);
-   $('#st_og_max').val(datarecord.og_max);
-   $('#st_fg_min').val(datarecord.fg_min);
-   $('#st_fg_max').val(datarecord.fg_max);
-   $('#st_ibu_min').val(datarecord.ibu_min);
-   $('#st_ibu_max').val(datarecord.ibu_max);
-   $('#st_color_min').val(datarecord.color_min);
-   $('#st_color_max').val(datarecord.color_max);
-   $('#st_carb_min').val(datarecord.carb_min);
-   $('#st_carb_max').val(datarecord.carb_max);
-   $('#st_abv_min').val(datarecord.abv_min);
-   $('#st_abv_max').val(datarecord.abv_max);
-   $('#st_notes').val(datarecord.notes);
-   $('#st_profile').val(datarecord.profile);
-   $('#st_ingredients').val(datarecord.ingredients);
-   $('#st_examples').val(datarecord.examples);
-  }
- });
-
- // Tab 3, equipment
- $('#eq_name').jqxTooltip({ content: 'De naam van deze brouw apparatuur.' });
- $('#eq_name').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#eq_calc_boil_volume').jqxCheckBox({ theme: theme, width: 120, height: 23, disabled: true });
- $('#eq_boil_size').jqxTooltip({ content: 'Normaal kook volume in liters' });
- $('#eq_boil_size').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_batch_size').jqxTooltip({ content: 'Berekende batch grootte in liters aan het eind van de kook.' });
- $('#eq_batch_size').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_tun_volume').jqxTooltip({ content: 'Maisch ketel volume.' });
- $('#eq_tun_volume').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_tun_weight').jqxTooltip({ content: 'Maisch ketel gewicht.' });
- $('#eq_tun_weight').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_tun_height').jqxTooltip({ content: 'Maisch ketel hoogte.' });
- $('#eq_tun_height').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_tun_material').jqxTooltip({ content: 'Maisch ketel materiaal.' });
- $('#eq_tun_material').jqxInput({ theme: theme, width: 180, height: 23 });
- $('#eq_tun_specific_heat').jqxTooltip({ content: 'Maisch ketel warmte geleiding.' });
- $('#eq_tun_specific_heat').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 3 });
- $('#eq_top_up_water').jqxTooltip({ content: 'Extra water in het gistvat.' });
- $('#eq_top_up_water').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_trub_chiller_loss').jqxTooltip({ content: 'Standaard verlies bij het overbrengen naar het gistvat.' });
- $('#eq_trub_chiller_loss').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_evap_rate').jqxTooltip({ content: 'Verdamping in liters per uur.' });
- $('#eq_evap_rate').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 2 });
- $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten.' });
- $('#eq_boil_time').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 0 });
- $('#eq_top_up_kettle').jqxTooltip({ content: 'Extra water toevoegen tijdens de kook.' });
- $('#eq_top_up_kettle').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_hop_utilization').jqxTooltip({ content: '100% voor kleine installaties, hoger voor grote brouwerijen.' });
- $('#eq_hop_utilization').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 0 });
- $('#eq_notes').jqxTooltip({ content: 'Opmerkingen over deze apparatuur.' });
- $('#eq_notes').jqxInput({ theme: theme, width: 960, height: 100 });
- $('#eq_lauter_volume').jqxTooltip({ content: 'Filterkuip volume.' });
- $('#eq_lauter_volume').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_lauter_height').jqxTooltip({ content: 'Filterkuip hoogte.' });
- $('#eq_lauter_height').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_lauter_deadspace').jqxTooltip({ content: 'Filterkuip verlies in liters.' });
- $('#eq_lauter_deadspace').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_kettle_volume').jqxTooltip({ content: 'Kook ketel volume in liters.' });
- $('#eq_kettle_volume').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_kettle_height').jqxTooltip({ content: 'Kook ketel hoogte in cm.' });
- $('#eq_kettle_height').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_mash_volume').jqxTooltip({ content: 'Maisch water voor de eerste stap.' });
- $('#eq_mash_volume').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_mash_max').jqxTooltip({ content: 'De maximale moutstort in Kg.' });
- $('#eq_mash_max').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#eq_efficiency').jqxTooltip({ content: 'Gemiddeld brouwzaal rendement.' });
- $('#eq_efficiency').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
- $('#equipmentSelect').jqxDropDownList({
-  placeHolder: 'Kies apparatuur:',
-  theme: theme,
-  source: equipmentlist,
-  displayMember: 'name',
-  width: 250,
-  height: 27,
-  dropDownWidth: 300,
-  renderer: function(index, label, value) {
-  var datarecord = equipmentlist.records[index];
-   return datarecord.batch_size + ' liter ' + datarecord.name;
-  }
- });
- $('#equipmentSelect').on('select', function(event) {
-  if (event.args) {
-   var index = event.args.index,
-   datarecord = equipmentlist.records[index];
-   $('#eq_name').val(datarecord.name);
-   $('#eq_boil_size').val(datarecord.boil_size);
-   $('#eq_batch_size').val(datarecord.batch_size);
-   $('#eq_tun_volume').val(datarecord.tun_volume);
-   $('#eq_tun_weight').val(datarecord.tun_weight);
-   $('#eq_tun_specific_heat').val(datarecord.tun_specific_heat);
-   tun_material = datarecord.tun_material;
-   $('#eq_tun_material').val(MaterialData[datarecord.tun_material].nl);
-   $('#eq_tun_height').val(datarecord.tun_height);
-   $('#eq_top_up_water').val(datarecord.top_up_water);
-   $('#eq_trub_chiller_loss').val(datarecord.trub_chiller_loss);
-   $('#eq_evap_rate').val(datarecord.evap_rate);
-   $('#eq_boil_time').val(datarecord.boil_time);
-   $('#eq_calc_boil_volume').val(datarecord.calc_boil_volume);
-   $('#eq_top_up_kettle').val(datarecord.top_up_kettle);
-   $('#eq_hop_utilization').val(datarecord.hop_utilization);
-   $('#eq_notes').val(datarecord.notes);
-   $('#eq_lauter_volume').val(datarecord.lauter_volume);
-   $('#eq_lauter_height').val(datarecord.lauter_height);
-   $('#eq_lauter_deadspace').val(datarecord.lauter_deadspace);
-   $('#eq_kettle_volume').val(datarecord.kettle_volume);
-   $('#eq_kettle_height').val(datarecord.kettle_height);
-   $('#eq_mash_volume').val(datarecord.mash_volume);
-   $('#eq_mash_max').val(datarecord.mash_max);
-   $('#eq_efficiency').val(datarecord.efficiency);
-  }
- });
-
- var recipe_type = 2,
- style_type = 0,
- tun_material = 0,
- wizard = (function() { // Creating wizard module
-
-  //Adding event listeners
-  var _addHandlers = function() {
-   $('#name').on('change', function(event) { wizard.validate(true); });
-   $('#code').on('change', function(event) { wizard.validate(true); });
-   $('#type').on('change', function(event) { wizard.validate(true); });
-   $('#styleSelect').on('change', function(event) { wizard.validate(true); });
-   $('#equipmentSelect').on('change', function(event) { wizard.validate(true); });
-   $('#nextButtonCompleted').click(function() {
-    var d = new Date(),
-    m = d.getMonth() + 1,
-    b = d.getFullYear() + '-',
-    newrow, data;
-    if (m < 10)
-     b = b + '0';
-    b = b + m + '-';
-    if (d.getDate() < 10)
-     b = b + '0';
-    b = b + d.getDate();
-    newrow = {
-     record: -1,
-     name: $('#name').val(),
-     code: $('#code').val(),
-     birth: b,
-     stage: 0,
-     notes: $('#notes').val(),
-     log_brew: 0,
-     log_fermentation: 0,
-     log_ispindel: 0,
-     log_co2pressure: 0,
-     inventory_reduced: 0,
-     locked: 0,
-     eq_name: $('#eq_name').val(),
-     eq_boil_size: parseFloat($('#eq_boil_size').jqxNumberInput('decimal')),
-     eq_batch_size: parseFloat($('#eq_batch_size').jqxNumberInput('decimal')),
-     eq_tun_volume: parseFloat($('#eq_tun_volume').jqxNumberInput('decimal')),
-     eq_tun_weight: parseFloat($('#eq_tun_weight').jqxNumberInput('decimal')),
-     eq_tun_specific_heat: parseFloat($('#eq_tun_specific_heat').jqxNumberInput('decimal')),
-     eq_tun_material: tun_material,
-     eq_tun_height: parseFloat($('#eq_tun_height').jqxNumberInput('decimal')) / 100,
-     eq_top_up_water: parseFloat($('#eq_top_up_water').jqxNumberInput('decimal')),
-     eq_trub_chiller_loss: parseFloat($('#eq_trub_chiller_loss').jqxNumberInput('decimal')),
-     eq_evap_rate: parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')),
-     eq_boil_time: parseFloat($('#eq_boil_time').jqxNumberInput('decimal')),
-     eq_calc_boil_volume: $('#eq_calc_boil_volume').val() ?1:0,
-     eq_top_up_kettle: parseFloat($('#eq_top_up_kettle').jqxNumberInput('decimal')),
-     eq_hop_utilization: parseFloat($('#eq_hop_utilization').jqxNumberInput('decimal')),
-     eq_notes: $('#eq_notes').val(),
-     eq_lauter_volume: parseFloat($('#eq_lauter_volume').jqxNumberInput('decimal')),
-     eq_lauter_height: parseFloat($('#eq_lauter_height').jqxNumberInput('decimal')) / 100,
-     eq_lauter_deadspace: parseFloat($('#eq_lauter_deadspace').jqxNumberInput('decimal')),
-     eq_kettle_volume: parseFloat($('#eq_kettle_volume').jqxNumberInput('decimal')),
-     eq_kettle_height: parseFloat($('#eq_kettle_height').jqxNumberInput('decimal')) / 100,
-     eq_mash_volume: parseFloat($('#eq_mash_volume').jqxNumberInput('decimal')),
-     eq_mash_max: parseFloat($('#eq_mash_max').jqxNumberInput('decimal')),
-     eq_efficiency: parseFloat($('#eq_efficiency').jqxNumberInput('decimal')),
-     brew_date_start: '',
-     brew_mash_ph: 0.0,
-     brew_mash_sg: 1.000,
-     brew_mash_efficiency: 0,
-     brew_sparge_ph: 0.0,
-     brew_sparge_temperature: 85,
-     brew_sparge_est: 0,
-     brew_preboil_volume: 0,
-     brew_preboil_sg: 0,
-     brew_preboil_ph: 0.0,
-     brew_preboil_efficiency: 0,
-     brew_aboil_volume: 0,
-     brew_aboil_sg: 0,
-     brew_aboil_ph: 0.0,
-     brew_aboil_efficiency: 0,
-     brew_cooling_method: 0,
-     brew_cooling_time: 0,
-     brew_cooling_to: 20,
-     brew_whirlpool9: 0,
-     brew_whirlpool7: 0,
-     brew_whirlpool6: 0,
-     brew_whirlpool2: 0,
-     brew_fermenter_volume: parseFloat($('#eq_batch_size').jqxNumberInput('decimal')) -
-       parseFloat($('#eq_trub_chiller_loss').jqxNumberInput('decimal')) +
-       parseFloat($('#eq_top_up_water').jqxNumberInput('decimal')),
-     brew_fermenter_extrawater: parseFloat($('#eq_top_up_water').jqxNumberInput('decimal')),
-     brew_fermenter_tcloss: parseFloat($('#eq_trub_chiller_loss').jqxNumberInput('decimal')),
-     brew_aeration_time: 0,
-     brew_aeration_speed: 0,
-     brew_aeration_type: 0,
-     brew_fermenter_sg: 0,
-     brew_fermenter_ibu: 0,
-     brew_fermenter_color: 0,
-     brew_date_end: '',
-     og: 0,
-     fg: 0,
-     primary_start_temp: 0,
-     primary_max_temp: 0,
-     primary_end_temp: 0,
-     primary_end_sg: 0,
-     primary_end_date: '',
-     secondary_temp: 0,
-     secondary_end_date: '',
-     secondary_end_sg: 0,
-     tertiary_temp: 0,
-     package_date: '',
-     package_volume: 0,
-     package_infuse_amount: 0,
-     package_infuse_abv: 0,
-     package_infuse_notes: '',
-     package_abv: 0,
-     package_ph: 0,
-     bottle_amount: 0,
-     bottle_carbonation: 0,
-     bottle_priming_water: 0,
-     bottle_priming_amount: 0,
-     bottle_carbonation_temp: 23,
-     keg_amount: 0,
-     keg_carbonation: 0,
-     keg_priming_water: 0,
-     keg_priming_amount: 0,
-     keg_carbonation_temp: 23,
-     keg_forced_carb: 1,
-     keg_pressure: 0,
-     taste_notes: '',
-     taste_rate: 0,
-     taste_date: '',
-     taste_color: '',
-     taste_transparency: '',
-     taste_head: '',
-     taste_aroma: '',
-     taste_taste: '',
-     taste_mouthfeel: '',
-     taste_aftertaste: '',
-     st_name: $('#st_name').val(),
-     st_letter: $('#st_letter').val(),
-     st_guide: $('#st_guide').val(),
-     st_type: style_type,
-     st_category: $('#st_category').val(),
-     st_category_number: $('#st_category_number').val(),
-     st_og_min: parseFloat($('#st_og_min').jqxNumberInput('decimal')),
-     st_og_max: parseFloat($('#st_og_max').jqxNumberInput('decimal')),
-     st_fg_min: parseFloat($('#st_fg_min').jqxNumberInput('decimal')),
-     st_fg_max: parseFloat($('#st_fg_max').jqxNumberInput('decimal')),
-     st_ibu_min: parseFloat($('#st_ibu_min').jqxNumberInput('decimal')),
-     st_ibu_max: parseFloat($('#st_ibu_max').jqxNumberInput('decimal')),
-     st_color_min: parseFloat($('#st_color_min').jqxNumberInput('decimal')),
-     st_color_max: parseFloat($('#st_color_max').jqxNumberInput('decimal')),
-     st_carb_min: parseFloat($('#st_carb_min').jqxNumberInput('decimal')),
-     st_carb_max: parseFloat($('#st_carb_max').jqxNumberInput('decimal')),
-     st_abv_min: parseFloat($('#st_abv_min').jqxNumberInput('decimal')),
-     st_abv_max: parseFloat($('#st_abv_max').jqxNumberInput('decimal')),
-     type: recipe_type,
-     batch_size: parseFloat($('#eq_batch_size').jqxNumberInput('decimal')),
-     boil_size: parseFloat($('#eq_boil_size').jqxNumberInput('decimal')),
-     boil_time: parseFloat($('#eq_boil_time').jqxNumberInput('decimal')),
-     efficiency: parseFloat($('#eq_efficiency').jqxNumberInput('decimal')),
-     est_og: 0.000,
-     est_og3: 0.000,
-     est_fg: 0.000,
-     est_color: 0,
-     est_abv: 0.0,
-     est_carb: 0.0,
-     color_method: 0,
-     est_ibu: 0,
-     ibu_method: 0,
-     mash_name: '',
-     mash_ph: 5.4,
-     sparge_temp: 85.0,
-     sparge_volume: parseFloat($('#eq_boil_size').jqxNumberInput('decimal')) / 2,
-     sparge_ph: 5.8,
-     sparge_source: 0,
-     sparge_acid_type: 0,
-     sparge_acid_perc: 80,
-     sparge_acid_amount: 0,
-     calc_acid: 1,
-     w1_name: 'Tap water',
-     w1_amount: parseFloat($('#eq_mash_volume').jqxNumberInput('decimal')),
-     w1_calcium: 0,
-     w1_sulfate: 0,
-     w1_chloride: 0,
-     w1_sodium: 0,
-     w1_magnesium: 0,
-     w1_total_alkalinity: 0,
-     w1_ph: 7.0,
-     w1_cost: 0.0,
-     wa_acid_name: 0,        // Lactic acid
-     wa_acid_perc: 80,
-     wa_base_name: 0,
-     wg_amount: parseFloat($('#eq_mash_volume').jqxNumberInput('decimal')),
-     wg_calcium: 0,
-     wg_sulfate: 0,
-     wg_chloride: 0,
-     wg_sodium: 0,
-     wg_magnesium: 0,
-     wg_total_alkalinity: 0,
-     wg_ph: 7.0,
-     wb_calcium: 0,
-     wb_sulfate: 0,
-     wb_sodium: 0,
-     wb_chloride: 0,
-     wb_magnesium: 0,
-     wb_total_alkalinity: 0,
-     wb_ph: 0,
-     starter_enable: 0,
-     divide_type: 0,
-     divide_size: 0,
-     divide_factor: 1,
-     divide_parts: 0,
-     divide_part: 0
-    };
-    data = 'insert=true&return=' + my_return + '&' + $.param(newrow);
-    $.ajax({
-     dataType: 'json',
-     url: 'includes/db_product.php',
-     cache: false,
-     data: data,
-     type: 'POST',
-     success: function(data, status, xhr) {
-      window.location.href = my_return;
-     },
-     error: function(jqXHR, textStatus, errorThrown) {
-     }
-    });
-   });
-   $('.nextButton').click(function() {
-    wizard.validate(true);
-    $('#jqxTabs').jqxTabs('next');
-   });
-   $('.backButton').click(function() {
-    wizard.validate(true);
-    $('#jqxTabs').jqxTabs('previous');
-   });
-  };
-
-  return {
-   //Initializing the wizzard - creating all elements, adding event handlers and starting the validation
-   init: function() {
-    $('#jqxTabs').jqxTabs({
-     theme: theme,
-     height: 630,
-     width: 1280,
-     autoHeight: false,
-     position: 'top',
-     keyboardNavigation: false
-    });
-    $('#nextButtonBase').jqxButton({ theme: theme, width: 150 });
-    $('#nextButtonStyle').jqxButton({ theme: theme, width: 150});
-    $('#backButtonStyle').jqxButton({ theme: theme, template: 'success', width: 150});
-    $('#nextButtonEq').jqxButton({ theme: theme, width: 150});
-    $('#backButtonEq').jqxButton({ theme: theme, template: 'success', width: 150});
-    $('#nextButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
-    $('#backButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
-    _addHandlers();
-    this.validate();
-    this.showHint('Validation hints.');
-   },
-
-   //Validating all wizard tabs
-   validate: function(notify) {
-    if (!this.firstTab(notify)) {
-     $('#jqxTabs').jqxTabs('disableAt', 1);
-     $('#jqxTabs').jqxTabs('disableAt', 2);
-     $('#jqxTabs').jqxTabs('disableAt', 3);
-     return;
-    } else {
-     $('#jqxTabs').jqxTabs('enableAt', 1);
-    }
-    if (!this.secondTab(notify)) {
-     $('#jqxTabs').jqxTabs('disableAt', 2);
-     $('#jqxTabs').jqxTabs('disableAt', 3);
-     return;
-    } else {
-     $('#jqxTabs').jqxTabs('enableAt', 2);
-    }
-    if (!this.thirdTab(notify)) {
-     $('#jqxTabs').jqxTabs('disableAt', 3);
-     return;
-    } else {
-     $('#jqxTabs').jqxTabs('enableAt', 3);
-    }
-   },
-
-   //Displaying message to the user
-   showHint: function(message, selector) {
-    if (typeof selector === 'undefined') {
-     selector = '.hint';
-    }
-    if (message === '') {
-     message = 'Ok, je mag doorgaan.';
-    }
-    $(selector).html('<strong>' + message + '</strong>');
-   },
-
-   //Validating the first tab
-   firstTab: function(notify) {
-    var name = $('#name').val(), code = $('#code').val(), message = '';
-    if (name.length < 3) {
-     message += 'Je moet een brouw project naam invullen. <br />';
-    }
-    if (code.length < 3) {
-     message += 'Je moet een brouw project code invullen. <br />';
-    }
-    // Check if code already exists.
-    if (message !== '') {
-     if (notify) {
-      this.showHint(message, '#hintBase');
-     }
-     return false;
-    }
-    this.showHint('Ok, je mag doorgaan.', '#hintBase');
-    $('#nextButtonBase').jqxButton({ template: 'success' });
-    return true;
-   },
-
-   //Validating the second tab
-   secondTab: function(notify) {
-    var stylesel = $('#styleSelect').val(), message = '';
-    if (stylesel.length < 3) {
-     message += 'Je moet een bierstijl kiezen. <br />';
-    }
-    if (message !== '') {
-     if (notify) {
-      this.showHint(message, '#hintStyle');
-     }
-     return false;
-    }
-    this.showHint('Ok, je mag doorgaan.', '#hintStyle');
-    $('#nextButtonStyle').jqxButton({ template: 'success' });
-    return true;
-   },
-
-   //Validating the third tab
-   thirdTab: function(notify) {
-    var equipsel = $('#equipmentSelect').val(), message = '';
-    if (equipsel.length < 3) {
-     message += 'Je moet een brouw installatie kiezen. <br />';
-    }
-    if (message !== '') {
-     if (notify) {
-      this.showHint(message, '#hintEq');
-     }
-     return false;
-    }
-    this.showHint('Ok, je mag doorgaan.', '#hintEq');
-    $('#nextButtonEq').jqxButton({ template: 'success' });
-    return true;
-   }
-  };
- } ());
-
- //Initializing the wizard
- wizard.init();
-});
-
--- a/www/prod_new.php	Fri Aug 05 10:53:56 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-<?php
-require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
-page_header('Nieuw product', 'prod_new');
-?>
-
-   <div id='jqxTabs'>
-    <ul>
-     <li style="margin-left: 30px;">Product basis</li>
-     <li>Bierstijl</li>
-     <li>Apparatuur</li>
-     <li>Overzicht</li>
-    </ul>
-
-    <div class="section">
-     <div style="overflow: hidden;">
-      <table style="width: 100%;">
-       <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Brouw project naam:</td>
-        <td align="left" colspan="3" style="vertical-align: top; padding: 3px;"><input id="name" /></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Brouw project code:</td>
-	<td align="left" style="vertical-align: top; padding: 3px;"><input id="code" /></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Brouw type:</td>
-        <td align="left" style="padding: 3px;"><div id="type"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Opmerkingen:</td>
-        <td colspan="3" style="padding: 3px;"><textarea id="notes"></textarea></td>
-       </tr>
-      </table>
-     </div>
-     <div id="hintBase" class="hint">
-     </div>
-     <div id="baseButtonsWrapper">
-      <input type="button" value="Volgende" class="nextButton" id="nextButtonBase" />
-     </div>
-    </div>
-
-    <div class="section">
-     <div style="overflow: hidden;">
-      <table style="width: 100%;">
-       <tr>
-	<td align="right" style="vertical-align: top;">Kies stijl:</td>
-        <td align="left" colspan="3"><div id="styleSelect">Stylenlijst</div></td>
-       </tr>
-       <tr>
-        <td align="right" style="vertical-align: top;">Bier stijl:</td>
-        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_name" /></td>
-        <td align="right" style="vertical-align: top;">Bier groep:</td>
-        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_letter" /></td>
-       </tr>
-       <tr>
-        <td align="right" style="vertical-align: top;">Type:</td>
-        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_type" /></td>
-        <td align="right" style="vertical-align: top;">Stijl gids:</td>
-        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_guide" /></td>
-       </tr>
-       <tr>
-        <td align="right" style="vertical-align: top;">Categorie:</td>
-        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_category" /></td>
-        <td align="right" style="vertical-align: top;">Categorie nummer:</td>
-        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_category_number" /></td>
-       </tr>
-       <tr>
-        <td align="right" style="vertical-align: top;">Opmerkingen:</td>
-        <td align="left" colspan="3"><textarea readonly="1" id="st_notes"></textarea></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Begin SG:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="st_og_min"></div><div style="float: left; margin-left: 5px;" id="st_og_max"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Kleur EBC:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="st_color_min"></div><div style="float: left; margin-left: 5px;" id="st_color_max"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Eind SG:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="st_fg_min"></div><div style="float: left; margin-left: 5px;" id="st_fg_max"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Koolzuur vol:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="st_carb_min"></div><div style="float: left; margin-left: 5px;" id="st_carb_max"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Bitterheid IBU:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="st_ibu_min"></div><div style="float: left; margin-left: 5px;" id="st_ibu_max"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Alcohol vol%:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="st_abv_min"></div><div style="float: left; margin-left: 5px;" id="st_abv_max"></div></td>
-       </tr>
-       <tr>
-        <td align="right" style="vertical-align: top;">Profiel:</td>
-        <td align="left" colspan="3"><textarea readonly="1" id="st_profile"></textarea></td>
-       </tr>
-       <tr>
-        <td align="right" style="vertical-align: top;">Ingredienten:</td>
-        <td align="left" colspan="3"><textarea readonly="1" id="st_ingredients"></textarea></td>
-       </tr>
-       <tr>
-        <td align="right" style="vertical-align: top;">Voorbeelden:</td>
-        <td align="left" colspan="3"><textarea readonly="1" id="st_examples"></textarea></td>
-       </tr>
-      </table>
-     </div>
-     <div class="hint" id="hintStyle">
-     </div>
-     <div id="styleButtonsWrapper">
-      <input type="button" value="Terug" class="backButton" id="backButtonStyle" />
-      <input type="button" value="Volgende" class="nextButton" id="nextButtonStyle" />
-     </div>
-    </div>
-
-    <div class="section">
-     <div style="overflow: hidden;">
-      <table style="width: 100%;">
-       <tr>
-        <td align="right" style="vertical-align: top;">Kies apparatuur:</td>
-	<td align="left" colspan="3"><div id="equipmentSelect">Apparatuur</div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Installatie naam:</td>
-        <td style="vertical-align: top;"><input readonly="1" id="eq_name" /></td>
-        <td style="vertical-align: top; float: right;">Bereken kook volume:</td>
-        <td><div id="eq_calc_boil_volume"></div></td>
-       </tr>
-       <tr>
-	<td style="vertical-align: top; float: right;">Opmerkingen:</td>
-        <td colspan="3"><textarea readonly="1" id="eq_notes"></textarea></td>
-       </tr>
-       <tr>
-        <th style="text-align: center;" colspan="2">Maischen</th>
-        <th style="text-align: center;" colspan="2">Koken</th>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Maischkuip volume l:</td>
-        <td><div id="eq_tun_volume"></div></td>
-        <td style="vertical-align: top; float: right;">Kookketel volume l:</td>
-        <td><div id="eq_kettle_volume"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Maischkuip hoogte cm:</td>
-        <td><div id="eq_tun_height"></div></td>
-        <td style="vertical-align: top; float: right;">Kookketel hoogte cm:</td>
-        <td><div id="eq_kettle_height"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Maischkuip gewicht kg:</td>
-        <td><div id="eq_tun_weight"></div></td>
-        <td style="vertical-align: top; float: right;">Kook volume l:</td>
-        <td><div id="eq_boil_size"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Maischkuip materiaal:</td>
-        <td align="left" style="vertical-align: top; padding: 3px;"><input readonly="1" id="eq_tun_material" /></td>
-        <td style="vertical-align: top; float: right;">Verdamping per uur l:</td>
-        <td><div id="eq_evap_rate"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Maischkuip specific heat:</td>
-        <td><div id="eq_tun_specific_heat"></div></td>
-        <td style="vertical-align: top; float: right;">Kooktijd in minuten:</td>
-        <td><div id="eq_boil_time"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Maischwater l:</td>
-        <td><div id="eq_mash_volume"></div></td>
-        <td style="vertical-align: top; float: right;">Extra water bij koken l:</td>
-        <td><div id="eq_top_up_kettle"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Maximum moutstort kg:</td>
-        <td><div id="eq_mash_max"></div></td>
-        <td style="vertical-align: top; float: right;">Hopfactor %:</td>
-        <td><div id="eq_hop_utilization"></div></td>
-       </tr>
-       <tr>
-        <th style="text-align: center;" colspan="2">Filteren</th>
-        <td style="vertical-align: top; float: right;">Volume eind koken l:</td>
-        <td><div id="eq_batch_size"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Filter volume l:</td>
-        <td><div id="eq_lauter_volume"></div></td>
-        <th style="text-align: center;" colspan="2">Koelen</th>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Filterkuip hoogte cm:</td>
-        <td><div id="eq_lauter_height"></div></td>
-        <td style="vertical-align: top; float: right;">Trub verlies kookketel l:</td>
-        <td><div id="eq_trub_chiller_loss"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Filterkuip verlies l:</td>
-        <td><div id="eq_lauter_deadspace"></div></td>
-        <td style="vertical-align: top; float: right;">Extra water in het gistvat l:</td>
-        <td><div id="eq_top_up_water"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right;">Brouwzaalrendement %:</td>
-        <td><div id="eq_efficiency"></div></td>
-        <td colspan="2"></td>
-       </tr>
-      </table>
-     </div>
-     <div class="hint" id="hintEq">
-     </div>
-     <div id="eqButtonsWrapper">
-      <input type="button" value="Terug" class="backButton" id="backButtonEq" />
-      <input type="button" value="Volgende" class="nextButton" id="nextButtonEq" />
-     </div>
-    </div>
-
-    <div class="section">
-     <div style="overflow: hidden; margin: 25px;"><br>
-      <p>Alle nodige gegevens zijn compleet.</p>
-      <p> Zodra je de "Volgende" toets gebruikt zal een nieuw brouw project aangemaakt worden en<br>
-      worden de gegevens in de database gezet. Hierna kun je dit brouw project bewerken.</p>
-     </div>
-     <div id="completedButtonsWrapper">
-      <input type="button" value="Terug" id="backButtonCompleted" class="backButton" />
-      <input type="button" value="Volgende" class="nextButton" id="nextButtonCompleted" />
-     </div>
-    </div>
-   </div>
-
-<?php
-page_footer();
-?>

mercurial