Improved QU conversion validation messages (references #1844)

This commit is contained in:
Bernd Bestel 2022-04-07 07:26:06 +02:00
parent 6ecf94073d
commit ca77ba6d19
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
2 changed files with 8 additions and 7 deletions

View File

@ -35,7 +35,7 @@ SELECT CASE WHEN((
AND qu_id_purchase = NEW.to_qu_id
AND qu_id_stock = NEW.from_qu_id
)
NOTNULL) THEN RAISE(ABORT, "QU constraint violation") END;
NOTNULL) THEN RAISE(ABORT, "QU conversion constraint violation") END;
END;
DROP TRIGGER quantity_unit_conversions_custom_unique_constraint_UPD;
@ -67,7 +67,7 @@ SELECT CASE WHEN((
AND qu_id_purchase = NEW.to_qu_id
AND qu_id_stock = NEW.from_qu_id
)
NOTNULL) THEN RAISE(ABORT, "QU constraint violation") END;
NOTNULL) THEN RAISE(ABORT, "QU conversion constraint violation") END;
END;
CREATE TRIGGER qu_conversions_inverse_INS AFTER INSERT ON quantity_unit_conversions

View File

@ -110,12 +110,13 @@ $('.input-group-qu').on('change', function(e)
{
var fromQuId = $("#from_qu_id").val();
var toQuId = $("#to_qu_id").val();
var factor = $('#factor').val();
var factor = Number.parseFloat($('#factor').val());
if (fromQuId == toQuId)
{
$("#to_qu_id").parent().find(".invalid-feedback").text(__t('This cannot be equal to %s', $("#from_qu_id option:selected").text()));
$("#to_qu_id")[0].setCustomValidity("error");
var validationMessage = __t('This cannot be equal to %s', $("#from_qu_id option:selected").text());
$("#to_qu_id").parent().find(".invalid-feedback").text(validationMessage);
$("#to_qu_id")[0].setCustomValidity(validationMessage);
}
else
{
@ -124,10 +125,10 @@ $('.input-group-qu').on('change', function(e)
if (fromQuId && toQuId)
{
$('#qu-conversion-info').text(__t('This means 1 %1$s is the same as %2$s %3$s', $("#from_qu_id option:selected").text(), parseFloat((1 * factor)).toLocaleString({ minimumFractionDigits: 0, maximumFractionDigits: Grocy.UserSettings.stock_decimal_places_amounts }), __n((1 * factor).toLocaleString({ minimumFractionDigits: 0, maximumFractionDigits: Grocy.UserSettings.stock_decimal_places_amounts }), $("#to_qu_id option:selected").text(), $("#to_qu_id option:selected").data("plural-form"), true)));
$('#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.0 * factor).toLocaleString({ minimumFractionDigits: 0, maximumFractionDigits: Grocy.UserSettings.stock_decimal_places_amounts }), __n((1.0 * factor).toLocaleString({ minimumFractionDigits: 0, maximumFractionDigits: Grocy.UserSettings.stock_decimal_places_amounts }), $("#to_qu_id option:selected").text(), $("#to_qu_id option:selected").data("plural-form"), true)));
$('#qu-conversion-info').removeClass('d-none');
$('#qu-conversion-inverse-info').removeClass('d-none');
$('#qu-conversion-inverse-info').text(__t('This means 1 %1$s is the same as %2$s %3$s', $("#to_qu_id option:selected").text(), parseFloat((1 / factor)).toLocaleString({ minimumFractionDigits: 0, maximumFractionDigits: Grocy.UserSettings.stock_decimal_places_amounts }), __n((1 / factor).toString(), $("#from_qu_id option:selected").text(), $("#from_qu_id option:selected").data("plural-form"), true)));
$('#qu-conversion-inverse-info').text(__t('This means 1 %1$s is the same as %2$s %3$s', $("#to_qu_id option:selected").text(), (1.0 / factor).toLocaleString({ minimumFractionDigits: 0, maximumFractionDigits: Grocy.UserSettings.stock_decimal_places_amounts }), __n((1.0 / factor), $("#from_qu_id option:selected").text(), $("#from_qu_id option:selected").data("plural-form"), true)));
}
else
{