When a patron is created with a guarantor but a duplicate is found (or any other warnings I guess) the guarantor's info are lost.
This patch improves on previous functionality by retaining the select guarantor relationship as well.
Test Plan:
1) Create a new child with a name already used, add a guarantor
2) Attempt to save, no the guarantor is not shown when the editor is redisplayed
3) Apply this patch
4) Restart all the things!
5) Repeat 1
6) Note the guarantor is retained and the relationship is as well!
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
}
[% END %]
- [% IF guarantor %]
- select_user( '[% guarantor.borrowernumber | html %]', [% To.json( guarantor.unblessed ) | $raw %] );
+ [% IF new_guarantors %]
+ [% FOREACH g IN new_guarantors %]
+ select_user( '[% g.patron.borrowernumber | html %]', [% To.json( g.patron.unblessed ) | $raw %], '[% g.relationship | html %]' );
+ [% END %]
[% END %]
$("#cn_max").hide();
$(mytables).find(" li[data-category_code='']").show();
}
-function select_user(borrowernumber, borrower) {
+function select_user(borrowernumber, borrower, relationship) {
let is_guarantor = $(`.guarantor-details[data-borrowernumber=${borrower.borrowernumber}]`).length;
if ( is_guarantor ) {
$('#guarantor_relationships').append( fieldset );
fieldset.show();
+
+ if ( relationship ) {
+ fieldset.find('.new_guarantor_relationship').val(relationship);
+ }
}
return 0;
if ( $patrons->count > 0) {
$nodouble = 0;
$check_member = $patrons->next->borrowernumber;
+
+
+ my @new_guarantors;
+ my @new_guarantor_id = $input->multi_param('new_guarantor_id');
+ my @new_guarantor_relationship = $input->multi_param('new_guarantor_relationship');
+ foreach my $gid ( @new_guarantor_id ) {
+ my $patron = Koha::Patrons->find( $gid );
+ my $relationship = shift( @new_guarantor_relationship );
+ next unless $patron;
+ my $g = { patron => $patron, relationship => $relationship };
+ push( @new_guarantors, $g );
+ }
+ $template->param( new_guarantors => \@new_guarantors );
}
}