Fri, 05 Aug 2022 11:02:01 +0200
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(); -?>