Bug 33864: Better handling of confirmation button

This patch corrects the behavior of the 'Confirm' button on the three
possible scenarios regarding item creation.

Ordering:
- 'Confirm' disabled, only gets enabled if quantity > 0

Receiving:
- Quantity gets locked (only changeable when creating items)
- 'Confirm' disabled, only gets enabled if quantity > 0

Cataloguing:
- It now defaults to 1
- 'Confirm' enabled by default (because of 1) if quantity is set to 0,
  it gets disabled.

To test:
1. Verify the described behavior with the sample orders for the previous
   patch.
=> SUCCESS: It does the job!

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Andrew Nugged <nugged@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Tomás Cohen Arazi 2023-05-30 12:07:39 -03:00 committed by Jonathan Druart
parent 31c86e13af
commit 0fc69b1df2

View file

@ -656,6 +656,12 @@
}
});
[% IF only_one_order %]
$("#quantity").on('change', function() {
$('.modal-save').prop('disabled', $(this).val() < 1 );
});
[% END %]
var _doSave = function(params) {
$.ajax($.extend({
method: 'POST',
@ -1152,7 +1158,11 @@
$("#current-fund").html(FUNC_CUR.format(row.fund.budget.budget_period_description, row.fund.name));
$("#creator").html([row.creator.surname, row.creator.firstname].filter(function(name){return name}).join(', ')+" ("+row.creator.patron_id+')')
$("#quantity_to_receive").val(row.quantity).prop('readonly', !row.subscription_id);
$("#quantity").val(row.quantity_received).prop('readonly', !row.subscription_id && effective_create_items == 'receiving');
$("#quantity").val( effective_create_items == 'cataloguing' ? row.quantity_received || 1 : row.quantity_received )
.prop('readonly', !row.subscription_id && effective_create_items == 'receiving');
[% IF only_one_order %]
$(".modal-save").prop('disabled', $("#quantity").val() == 0);
[% END %]
$('#qtyrecerror').hide();
var tax_rate = row.tax_rate_on_receiving || row.tax_rate_on_ordering;
$("#tax_rate").val(tax_rate).change();