From 79d05cafdbe357f761cb48294d8927e203b7c00c 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 --- .../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 39080c73896..d30627d2307 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 dad7ead3a35..92d0e793881 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 57e780cfecd..5ab74db86ed 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -625,6 +625,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'){ if ($guarantor_id) { -- 2.30.2