From d3822c7d86f523079a31e125f0f1af3f5da92379 Mon Sep 17 00:00:00 2001 From: Hammat Wele Date: Wed, 7 Dec 2022 16:51:20 +0000 Subject: [PATCH] Bug 26597: Transfer informations from guarantor when adding a guarantor to an existing patron When creating a new guarantee from the guarantor, the preference PrefillGuaranteeField dictates some fields to be transfered from guarantor to guarantee. This patch makes it so those informations are also transfered when adding a new guarantor relationship to an existing patron. To test: 1) Apply patch 2) Search PrefillGuaranteeField preference and make sure some fields are selected 3) Select a user that can have a guarantor 4) In the edit form, click on 'Search to add' in 'Patron guarantor' fieldset 5) Choose a patron who has at least one of the fields in 1) set 6) Click 'Select' 7) Confirm guarantee's information is filled from the guarantor's record 8) Check that any preexisting information is not overwritten Signed-off-by: Sally Signed-off-by: Emmi Takkinen Signed-off-by: Kyle M Hall Signed-off-by: Katrin Fischer --- .../prog/en/modules/members/memberentrygen.tt | 3 +++ koha-tmpl/intranet-tmpl/prog/js/members.js | 16 ++++++++++++++++ members/memberentry.pl | 1 + 3 files changed, 20 insertions(+) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt index 38e80725d2..5453bc0294 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -1968,6 +1968,9 @@ legend:hover { }); [% END %] $("#guarantor_template").hide(); + [% IF guarantor_attributes %] + guarantor_attributes = [% To.json(guarantor_attributes) %]; + [% END %] var TalkingTechItivaPhoneNotification = [% Koha.Preference('TalkingTechItivaPhoneNotification') || 0 | html %]; var PhoneNotification = [% Koha.Preference('PhoneNotification') || 0 | html %]; diff --git a/koha-tmpl/intranet-tmpl/prog/js/members.js b/koha-tmpl/intranet-tmpl/prog/js/members.js index f2e2e22681..08e130fee9 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/members.js +++ b/koha-tmpl/intranet-tmpl/prog/js/members.js @@ -121,6 +121,22 @@ function select_user(borrowernumber, borrower, relationship) { if ( relationship ) { fieldset.find('.new_guarantor_relationship').val(relationship); } + + if(typeof guarantor_attributes !== 'undefined') { + $.ajax({ + url: '/api/v1/patrons/'+borrowernumber, + method: "GET", + dataType: 'json', + success: function(data){ + for (var i = 0; i < parseInt(guarantor_attributes.length, 10); i++) { + var attribute = guarantor_attributes[i]; + if ( data[attribute] != null && document.forms.entryform[attribute].value == "" ) { + document.forms.entryform[attribute].value = data[attribute]; + } + } + } + }); + } } return 0; diff --git a/members/memberentry.pl b/members/memberentry.pl index d95ff99012..29955a4694 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -618,6 +618,7 @@ if (C4::Context->preference("IndependentBranches")) { # Define the fields to be pre-filled in guarantee records my $prefillguarantorfields=C4::Context->preference("PrefillGuaranteeField"); my @prefill_fields=split(/\,/,$prefillguarantorfields); +$template->param( guarantor_attributes => \@prefill_fields ); if ($op eq 'add_form'){ if ($guarantor_id) { -- 2.39.5