From b331ae508005c213be67cfa2a73c8dbda3394e7c Mon Sep 17 00:00:00 2001 From: Hammat Wele Date: Wed, 7 Dec 2022 16:51:20 +0000 Subject: [PATCH 1/5] 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 --- .../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 5d174b5288..88813f4e79 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -1929,6 +1929,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 dad7ead3a3..92d0e79388 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 64d9aa2aa7..6ec1cd8d50 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -597,6 +597,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.34.1