mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 09:39:57 +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();
|
var jsonData = $('#quconversion-form').serializeJSON();
|
||||||
jsonData.from_qu_id = $("#from_qu_id").val();
|
jsonData.from_qu_id = $("#from_qu_id").val();
|
||||||
Grocy.FrontendHelpers.BeginUiBusy("quconversion-form");
|
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')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
@ -30,6 +35,36 @@
|
|||||||
Grocy.FrontendHelpers.ShowGenericError('Error while saving, probably this item already exists', xhr.response)
|
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
|
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)
|
$('.input-group-qu').on('change', function(e)
|
||||||
{
|
{
|
||||||
var fromQuId = $("#from_qu_id").val();
|
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').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');
|
$('#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
|
else
|
||||||
{
|
{
|
||||||
$('#qu-conversion-info').addClass('d-none');
|
$('#qu-conversion-info').addClass('d-none');
|
||||||
|
$('#qu-conversion-inverse-info').addClass('d-none');
|
||||||
}
|
}
|
||||||
|
|
||||||
Grocy.FrontendHelpers.ValidateForm('quconversion-form');
|
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">
|
<select required disabled class="form-control input-group-qu" id="from_qu_id" name="from_qu_id">
|
||||||
<option></option>
|
<option></option>
|
||||||
@foreach($quantityunits as $quantityunit)
|
@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
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
<div class="invalid-feedback">{{ $__t('A quantity unit is required') }}</div>
|
<div class="invalid-feedback">{{ $__t('A quantity unit is required') }}</div>
|
||||||
@ -70,6 +70,13 @@
|
|||||||
'additionalCssClasses' => 'input-group-qu'
|
'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(
|
@include('components.userfieldsform', array(
|
||||||
'userfields' => $userfields,
|
'userfields' => $userfields,
|
||||||
'entity' => 'quantity_unit_conversions'
|
'entity' => 'quantity_unit_conversions'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user