From 9a28c548d44ba142e47c1f34efeab084841aac21 Mon Sep 17 00:00:00 2001 From: Alex Buckley Date: Tue, 17 Mar 2020 04:50:32 +0000 Subject: [PATCH] Bug 23808: Pre-fill guarantor fields when adding guarantee to guarantor Bug 14570 removed the guarantor pre-fill functionality when selecting 'Add guarantee' to an Adult patron. This is because guarantor information would now only display if (1) the patron record exists (which it won't when first adding guarantee to guarantor record) and (2) if there is already a guarantor added to a guarantee This patchfix will pre-fill guarantor fields and address fields (so the guarantee has the same address as the guarantor) if no relationship (existing guarantor data exists) and a guarantor_id is handed to memberenty.pl in URL when clicking 'Add guarantee' button on Adults patron record. Test plan: 1. Add adult patron make sure to fill in their 'Main address' details 2. Select 'Add guarantee' 3. Observe no details of the adult patron are displaying in the 'Guarantor information' section or 'Main address' sections of memberentry.pl 4. Select 'Search to add', search for your adult patron and choose 'Select' to add them as guarantor 5. Fill out rest of memberentry.pl and 'Save' 6. Observe adult is showing as the guarantor 7. Apply patch 8. Run tests: sudo koha-shell prove xt prove t 9. Confirm tests pass 10. Return to your adult patron 11. Select 'Add guarantee' 12. Observe in 'Guarantor information' and 'Main address' sections of memberentry.pl are pre-filled with the 'patron #' (borrowernumber), surname, firstname and street number, address, address2 (if you filled that in on adults account), city 13. Fill out the rest of memberenty.pl and save and confirm your adult patron is showing as the guarantor and the pre-filled address details have been saved and are showing 14. Repeat steps 10,11 and 12 and in the 'Guarantor information' select 'Search to add' and add another adult as guarantor 15. Fill out the rest of memberentry.pl and 'Save' and notice with this patch applied you can still add multiple guarantors successfully Sponsored-By: South Taranaki Distict Council, NZ --- .../prog/en/modules/members/memberentrygen.tt | 35 ++++++++++++++++++++++ members/memberentry.pl | 9 ++++++ 2 files changed, 44 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 d4db2e37b3..283ead7699 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -417,6 +417,41 @@ [% END # END relationships foreach %] + [% IF guarantor && (!relationships) %] +
+
    +
  1. + Patron #: + [% guarantor.borrowernumber | html %] + +
  2. + +
  3. + + [% guarantor.surname | html %] +
  4. + +
  5. + + [% guarantor.firstname | html %] +
  6. + +
  7. + + +
  8. + +
  9. + + Remove +
  10. +
+
+ [% END %]
diff --git a/members/memberentry.pl b/members/memberentry.pl index 902beeb0e8..1e8241d985 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -594,6 +594,15 @@ if (C4::Context->preference("IndependentBranches")) { } } if ($op eq 'add'){ + if ( $guarantor_id ) { + my $guarantordata = $guarantor->unblessed; + foreach (qw(streetnumber address streettype address2 + zipcode country city state phone phonepro mobile fax email emailpro branchcode + B_streetnumber B_streettype B_address B_address2 + B_city B_state B_zipcode B_country B_email B_phone)) { + $newdata{$_} = $guarantordata->{$_}; + } + } $template->param( updtype => 'I', step_1=>1, step_2=>1, step_3=>1, step_4=>1, step_5 => 1, step_6 => 1, step_7 => 1); } if ($op eq "modify") { -- 2.11.0