# HG changeset patch # User Michiel Broek # Date 1549115861 -3600 # Node ID daf2d9d6fa184f58f8165a9ae246bf7506613dca # Parent 9881453a49b3c52f49c4f038ededc3ec0e636008 When adding yeast the flocculation and cells fields were not added. Possible fix for double water agents in the miscs grid. Better efforts to set the initial water infuse amount. The new recipe wizzard now uses indexed fields. In recipe print fixed the yeast amount and cost. diff -r 9881453a49b3 -r daf2d9d6fa18 www/getyeastsources.php --- a/www/getyeastsources.php Sat Feb 02 11:53:39 2019 +0100 +++ b/www/getyeastsources.php Sat Feb 02 14:57:41 2019 +0100 @@ -18,7 +18,9 @@ 'product_id' => $row['product_id'], 'min_temperature' => $row['min_temperature'], 'max_temperature' => $row['max_temperature'], + 'flocculation' => $row['flocculation'], 'attenuation' => $row['attenuation'], + 'cells' => $row['cells'], 'inventory' => $row['inventory'], 'cost' => $row['cost'] ); diff -r 9881453a49b3 -r daf2d9d6fa18 www/js/global.js --- a/www/js/global.js Sat Feb 02 11:53:39 2019 +0100 +++ b/www/js/global.js Sat Feb 02 14:57:41 2019 +0100 @@ -624,7 +624,9 @@ { name: 'product_id', type: 'string' }, { name: 'min_temperature', type: 'float' }, { name: 'max_temperature', type: 'float' }, + { name: 'flocculation', type: 'int' }, { name: 'attenuation', type: 'float' }, + { name: 'cells', type: 'float' }, { name: 'inventory', type: 'float' }, { name: 'cost', type: 'float' } ], diff -r 9881453a49b3 -r daf2d9d6fa18 www/js/rec_edit.js --- a/www/js/rec_edit.js Sat Feb 02 11:53:39 2019 +0100 +++ b/www/js/rec_edit.js Sat Feb 02 14:57:41 2019 +0100 @@ -1066,20 +1066,32 @@ calcWater(); }); $('#wa_cacl2').on('change', function (event) { - setWaterAgent('CaCl2', event.args.value); - calcWater(); + if (event.args) { + setWaterAgent('CaCl2', 0); // This can prevent double entries. + setWaterAgent('CaCl2', event.args.value); + calcWater(); + } }); $('#wa_caso4').on('change', function (event) { - setWaterAgent('CaSO4', event.args.value); - calcWater(); + if (event.args) { + setWaterAgent('CaSO4', 0); + setWaterAgent('CaSO4', event.args.value); + calcWater(); + } }); $('#wa_mgso4').on('change', function (event) { - setWaterAgent('MgSO4', event.args.value); - calcWater(); + if (event.args) { + setWaterAgent('MgSO4', 0); + setWaterAgent('MgSO4', event.args.value); + calcWater(); + } }); $('#wa_nacl').on('change', function (event) { - setWaterAgent('NaCl', event.args.value); - calcWater(); + if (event.args) { + setWaterAgent('NaCl', 0); + setWaterAgent('NaCl', event.args.value); + calcWater(); + } }); $('#wa_base_name').on('change', function (event) { if (event.args) { @@ -3040,6 +3052,8 @@ row["step_name"] = data.step_name; row["step_type"] = data.step_type; // For now, but this must be smarter. + if (mash_infuse == 0 && dataRecord.w1_amount > 0) + mash_infuse = dataRecord.w1_amount; if (i == 0) row["step_infuse_amount"] = mash_infuse; else diff -r 9881453a49b3 -r daf2d9d6fa18 www/js/rec_new.js --- a/www/js/rec_new.js Sat Feb 02 11:53:39 2019 +0100 +++ b/www/js/rec_new.js Sat Feb 02 14:57:41 2019 +0100 @@ -23,27 +23,46 @@ $(document).ready(function () { - // tooltips - $("#name").jqxTooltip({ content: 'De naam voor dit recept.' }); - $("#notes").jqxTooltip({ content: 'De uitgebreide opmerkingen over dit recept.' }); - $("#type").jqxTooltip({ content: 'Het brouw type van dit recept.' }); + var recipe_type = 2; + var style_type = 0; - // editers - var srcType = [ "All Grain", "Partial Mash", "Extract" ]; + // Tab 1, Base + $("#name").jqxTooltip({ content: 'De naam voor dit recept.' }); $("#name").jqxInput({ theme: theme, width: 640, height: 23 }); + $("#notes").jqxTooltip({ content: 'De uitgebreide opmerkingen over dit recept.' }); $("#notes").jqxInput({ theme: theme, width: 960, height: 200 }); - $("#type").jqxDropDownList({ theme: theme, source: srcType, width: 125, height: 23, dropDownHeight: 95 }); - $("#boil_time").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 100, height: 23, min: 4, max: 360, decimalDigits: 0, spinButtons: true }); - $("#efficiency").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 100, height: 23, min: 40, max: 100, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right' }); - $("#est_og").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 100, height: 23, min: 1.010, max: 1.2, decimalDigits: 3, spinButtons: true, spinButtonsStep: 0.001 }); + $("#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; + } + }); + $("#boil_time").jqxNumberInput( PosInt ); + $("#boil_time").jqxNumberInput({ min: 4, max: 360 }); + $("#efficiency").jqxNumberInput( Perc0 ); + $("#est_og").jqxNumberInput( SGopts ); + // Default values. + $("#boil_time").val(90); + $("#efficiency").val(75); + $("#est_og").val(1.052); + // Tab 2, Style $("#st_name").jqxInput({ theme: theme, width: 250, height: 23 }); $("#st_category").jqxInput({ theme: theme, width: 250, height: 23 }); $("#st_category_number").jqxInput({ theme: theme, width: 70, height: 23 }); $("#st_style_letter").jqxInput({ theme: theme, width: 250, height: 23 }); $("#st_style_guide").jqxInput({ theme: theme, width: 250, height: 23 }); $("#st_notes").jqxInput({ theme: theme, width: 800, height: 100 }); - $("#st_type").jqxInput({ theme: theme, width: 90, height: 23 }); + $("#st_type").jqxInput({ theme: theme, width: 250, height: 23 }); $("#st_og_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); $("#st_og_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); $("#st_fg_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); @@ -60,18 +79,12 @@ $("#st_ingredients").jqxInput({ theme: theme, width: 800, height: 23 }); $("#st_examples").jqxInput({ theme: theme, width: 800, height: 48 }); - // Default values. - $("#type").val('All Grain'); - $("#boil_time").val(90); - $("#efficiency").val(75); - $("#est_og").val(1.052); - $("#styleSelect").jqxDropDownList({ placeHolder: "Kies bierstijl:", theme: theme, source: styleslist, displayMember: "name", - width: 150, + width: 250, height: 27, dropDownWidth: 500, dropDownHeight: 500, @@ -89,7 +102,8 @@ $("#st_category_number").val(datarecord.category_number); $("#st_style_letter").val(datarecord.style_letter); $("#st_style_guide").val(datarecord.style_guide); - $("#st_type").val(datarecord.type); + 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); @@ -124,6 +138,7 @@ console.log("insert start"); var newrow = { record: -1, + locked: 0, name: $("#name").val(), notes: $("#notes").val(), st_name: $('#st_name').val(), @@ -131,7 +146,7 @@ st_guide: $('#st_style_guide').val(), st_category: $('#st_category').val(), st_category_number: parseFloat($('#st_category_number').jqxNumberInput('decimal')), - st_type: $("#st_type").val(), + st_type: style_type, 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')), @@ -144,7 +159,7 @@ 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: $("#type").val(), + type: recipe_type, batch_size: 20.0, boil_size: 22.0, boil_time: parseFloat($("#boil_time").jqxNumberInput('decimal')), @@ -154,19 +169,32 @@ est_color: 0, est_abv: 0.0, est_carb: 0.0, - color_method: "Morey", + color_method: 0, // Morey est_ibu: 0, - ibu_method: "Tinseth", + ibu_method: 0, // Tinseth mash_name: "", mash_ph: 5.4, - sparge_temp: 78.0, + sparge_temp: 85.0, sparge_volume: 12.0, sparge_ph: 5.8, - sparge_source: 'Bron 1', - sparge_acid_type: 'Melkzuur', + sparge_source: 0, // Source 1 + sparge_acid_type: 0, // Lactic acid sparge_acid_perc: 80, sparge_acid_amount: 0, - calc_acid: true + calc_acid: true, + w1_name: 'Tap water', + w1_amount: 15, + 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 }; var data = "insert=true&return=" + my_return + "&" + $.param(newrow); $.ajax({ diff -r 9881453a49b3 -r daf2d9d6fa18 www/rec_new.php --- a/www/rec_new.php Sat Feb 02 11:53:39 2019 +0100 +++ b/www/rec_new.php Sat Feb 02 14:57:41 2019 +0100 @@ -30,7 +30,7 @@ Kooktijd minuten:
- Brouwzaal rendement: + Brouwzaal rendement %:
diff -r 9881453a49b3 -r daf2d9d6fa18 www/rec_print.php --- a/www/rec_print.php Sat Feb 02 11:53:39 2019 +0100 +++ b/www/rec_print.php Sat Feb 02 14:57:41 2019 +0100 @@ -252,7 +252,7 @@ $this->AddCol(20,'Gebruik','L'); $this->AddCol(15,'Attn','R'); $this->AddCol(22,'Vorm','L'); - $this->AddCol(18,'Gram','R'); + $this->AddCol(18,'Hoeveel','R'); $this->AddCol(20,'Prijs','R'); $cMargin=$this->cMargin; @@ -269,22 +269,26 @@ $name = iconv('UTF-8','windows-1252',$item['y_name']); $laboratory = iconv('UTF-8','windows-1252',$item['y_laboratory']); $product_id = iconv('UTF-8','windows-1252',$item['y_product_id']); - $amount = floatval($item['y_amount']) * 1000; - $costg = floatval($item['y_cost']); $attenuation = floatval($item['y_attenuation']); - $cost = $amount * $costg; + $cost = floatval($item['y_amount']) * floatval($item['y_cost']); $cost_yeasts += $cost; if ($item['y_use'] == 0) // Primary $svg = $attenuation; + if ($item['y_form'] == 0) // Liquid + $amount = sprintf("%.0f",floatval($item['y_amount']))." pak"; + else if ($item['y_form'] == 1) // Dry + $amount = sprintf("%.1f",floatval($item['y_amount'])*1000)." gr"; + else + $amount = sprintf("%.0f",floatval($item['y_amount'])*1000)." ml"; $this->Cell(27,5,$laboratory,0,0,'L',true); $this->Cell(18,5,$product_id,0,0,'L',true); $this->Cell($vul,5,$name,0,0,'L',true); $this->Cell(20,5,$yeastuse[$item['y_use']],0,0,'L',true); $this->Cell(15,5,sprintf("%.1f%%",$attenuation),0,0,'R',true); $this->Cell(22,5,$yeastform[$item['y_form']],0,0,'L',true); - $this->Cell(18,5,sprintf("%.1f",$amount),0,0,'R',true); + $this->Cell(18,5,$amount,0,0,'R',true); $this->Cell(20,5,sprintf("%8.3f",$cost).EURO,0,0,'R',true); $this->Ln(); }