mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 01:32:38 +00:00
Create Inverse QU Conversions (#788)
This commit is contained in:
parent
60f321d9c2
commit
385e7287fe
@ -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');
|
||||
|
@ -41,7 +41,7 @@
|
||||
<select required disabled class="form-control input-group-qu" id="from_qu_id" name="from_qu_id">
|
||||
<option></option>
|
||||
@foreach($quantityunits as $quantityunit)
|
||||
<option @if(($product != null && $quantityunit->id == $product->qu_id_stock) || ($defaultQuUnit != null && $quantityunit->id == $defaultQuUnit->id))) selected="selected" @endif value="{{ $quantityunit->id }}">{{ $quantityunit->name }}</option>
|
||||
<option @if(($product != null && $quantityunit->id == $product->qu_id_stock) || ($defaultQuUnit != null && $quantityunit->id == $defaultQuUnit->id))) selected="selected" @endif value="{{ $quantityunit->id }}" data-plural-form="{{ $quantityunit->name_plural }}">{{ $quantityunit->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $__t('A quantity unit is required') }}</div>
|
||||
@ -70,6 +70,13 @@
|
||||
'additionalCssClasses' => 'input-group-qu'
|
||||
))
|
||||
|
||||
<div class="checkbox @if($mode == 'edit') d-none @endif">
|
||||
<label for="create_inverse">
|
||||
<input type="checkbox" id="create_inverse" name="create_inverse:skip" checked> {{ $__t('Create Inverse QU Conversion') }}
|
||||
</label>
|
||||
<p id="qu-conversion-inverse-info" class="form-text text-info d-none"></p>
|
||||
</div>
|
||||
|
||||
@include('components.userfieldsform', array(
|
||||
'userfields' => $userfields,
|
||||
'entity' => 'quantity_unit_conversions'
|
||||
|
Loading…
x
Reference in New Issue
Block a user