diff --git a/public/viewjs/quantityunitconversionform.js b/public/viewjs/quantityunitconversionform.js index 56fd2475..6072fbbf 100644 --- a/public/viewjs/quantityunitconversionform.js +++ b/public/viewjs/quantityunitconversionform.js @@ -5,6 +5,11 @@ var jsonData = $('#quconversion-form').serializeJSON(); jsonData.from_qu_id = $("#from_qu_id").val(); Grocy.FrontendHelpers.BeginUiBusy("quconversion-form"); + if ($("#create_inverse").is(":checked")) + { + var inverse_to_qu_id = $("#from_qu_id").val(); + var inverse_from_qu_id = $("#to_qu_id").val(); + } if (Grocy.EditMode === 'create') { @@ -30,6 +35,36 @@ Grocy.FrontendHelpers.ShowGenericError('Error while saving, probably this item already exists', xhr.response) } ); + if ($("#create_inverse").is(":checked")) + { + jsonData.to_qu_id = inverse_to_qu_id; + jsonData.from_qu_id = inverse_from_qu_id; + jsonData.factor = 1 / jsonData.factor; + + //Create Inverse + Grocy.Api.Post('objects/quantity_unit_conversions', jsonData, + function(result) + { + Grocy.EditObjectId = result.created_object_id; + Grocy.Components.UserfieldsForm.Save(function() + { + if (typeof GetUriParam("qu-unit") !== "undefined") + { + window.location.href = U("/quantityunit/" + GetUriParam("qu-unit")); + } + else + { + window.location.href = U("/product/" + GetUriParam("product")); + } + }); + }, + function(xhr) + { + Grocy.FrontendHelpers.EndUiBusy("quconversion-form"); + Grocy.FrontendHelpers.ShowGenericError('Error while saving, probably this item already exists', xhr.response) + } + ); + } } else { @@ -80,6 +115,20 @@ $('#quconversion-form input').keydown(function(event) } }); +$("#create_inverse").on("change", function() +{ + var value = $(this).is(":checked"); + + if (value) + { + $('#qu-conversion-inverse-info').removeClass('d-none'); + } + else + { + $('#qu-conversion-inverse-info').addClass('d-none'); + } +}); + $('.input-group-qu').on('change', function(e) { var fromQuId = $("#from_qu_id").val(); @@ -100,10 +149,17 @@ $('.input-group-qu').on('change', function(e) { $('#qu-conversion-info').text(__t('This means 1 %1$s is the same as %2$s %3$s', $("#from_qu_id option:selected").text(), (1 * factor).toString(), __n((1 * factor).toString(), $("#to_qu_id option:selected").text(), $("#to_qu_id option:selected").data("plural-form")))); $('#qu-conversion-info').removeClass('d-none'); + + if (Grocy.EditMode === 'create') + { + $('#qu-conversion-inverse-info').text(__t('This means the inverse of 1 %1$s is the same as %2$s %3$s will also be created', $("#to_qu_id option:selected").text(), (1 / factor).toString(), __n((1 / factor).toString(), $("#from_qu_id option:selected").text(), $("#from_qu_id option:selected").data("plural-form")))); + $('#qu-conversion-inverse-info').removeClass('d-none'); + } } else { $('#qu-conversion-info').addClass('d-none'); + $('#qu-conversion-inverse-info').addClass('d-none'); } Grocy.FrontendHelpers.ValidateForm('quconversion-form'); diff --git a/views/quantityunitconversionform.blade.php b/views/quantityunitconversionform.blade.php index 4d56f414..8e54e7ca 100644 --- a/views/quantityunitconversionform.blade.php +++ b/views/quantityunitconversionform.blade.php @@ -41,7 +41,7 @@