From 0c6470c420c3ad2101ef6fdd3a9dbecbf42fb35e Mon Sep 17 00:00:00 2001 From: Hammat Wele Date: Tue, 13 Dec 2022 22:27:29 +0000 Subject: [PATCH] Bug 26597: Fixing the populate of fields when using the REST API route This attachment correct the populate of fields by using the api mapping. Now All fields are populated following the selected PrefillGuaranteeField options 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 | 11 ++++++----- members/memberentry.pl | 5 ++++- 3 files changed, 13 insertions(+), 6 deletions(-) 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 d30627d2307..dea79638522 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -1971,6 +1971,9 @@ legend:hover { [% IF guarantor_attributes %] guarantor_attributes = [% To.json(guarantor_attributes) %]; [% END %] + [% IF to_api_mapping %] + to_api_mapping = [% To.json(to_api_mapping) %]; + [% 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 92d0e793881..29dc52054ce 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/members.js +++ b/koha-tmpl/intranet-tmpl/prog/js/members.js @@ -122,16 +122,17 @@ function select_user(borrowernumber, borrower, relationship) { fieldset.find('.new_guarantor_relationship').val(relationship); } - if(typeof guarantor_attributes !== 'undefined') { + if(typeof guarantor_attributes !== 'undefined' && to_api_mapping) { $.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]; + for (let i = 0; i < parseInt(guarantor_attributes.length, 10); i++) { + let attribute = guarantor_attributes[i]; + let key_data = to_api_mapping[attribute] || attribute; + if(data[key_data] != null && attribute in document.forms.entryform && document.forms.entryform[attribute].value == ""){ + document.forms.entryform[attribute].value = data[key_data]; } } } diff --git a/members/memberentry.pl b/members/memberentry.pl index 5ab74db86ed..cfebe7a6d18 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -625,7 +625,10 @@ 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 ); +$template->param( + guarantor_attributes => \@prefill_fields, + to_api_mapping => Koha::Patron->new->to_api_mapping + ); if ($op eq 'add'){ if ($guarantor_id) { -- 2.30.2