Bugzilla – Attachment 56598 Details for
Bug 5670
Housebound Readers Module
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 5670: [QA Followup] HouseboundRole CRUD from UI.
Bug-5670-QA-Followup-HouseboundRole-CRUD-from-UI.patch (text/plain), 7.14 KB, created by
Jonathan Druart
on 2016-10-17 16:41:54 UTC
(
hide
)
Description:
Bug 5670: [QA Followup] HouseboundRole CRUD from UI.
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2016-10-17 16:41:54 UTC
Size:
7.14 KB
patch
obsolete
>From 08c14560b8499078ab1859d551c46e7f571f2510 Mon Sep 17 00:00:00 2001 >From: Alex Sassmannshausen <alex.sassmannshausen@ptfs-europe.com> >Date: Wed, 12 Oct 2016 17:26:02 +0200 >Subject: [PATCH] Bug 5670: [QA Followup] HouseboundRole CRUD from UI. > >* koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt: Add > HouseboundRole form. >* members/memberentry.pl: Handle HouseboundRole CRUD. > >Signed-off-by: Claire Gravely <claire_gravely@hotmail.com> >--- > .../prog/en/modules/members/memberentrygen.tt | 49 ++++++++++++++++++ > members/memberentry.pl | 60 ++++++++++++++++++++-- > 2 files changed, 104 insertions(+), 5 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 c5a3696..8d7e2c7 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >@@ -917,6 +917,55 @@ $(document).ready(function() { > </ol> > </fieldset> > [% END # hide fieldset %][% END %] >+ [% IF ( HouseboundModule ) %] >+ <fieldset class="rows" id="memberentry_housebound_roles"> >+ <legend id="housebound_roles">Housebound roles</legend> >+ <ol class="radio"> >+ <li> >+ <label class="radio" for="housebound_chooser"> >+ Chooser: >+ </label> >+ [% IF ( housebound_role.housebound_chooser == 1 ) %] >+ <label for="yes_housebound_chooser">Yes </label> >+ <input type="radio" id="yes_housebound_chooser" >+ name="housebound_chooser" value="1" >+ checked="checked" /> >+ <label for="no_housebound_chooser">No </label> >+ <input type="radio" id="no_housebound_chooser" >+ name="housebound_chooser" value="0" /> >+ [% ELSE %] >+ <label for="yes_housebound_chooser">Yes </label> >+ <input type="radio" id="yes_housebound_chooser" >+ name="housebound_chooser" value="1" /> >+ <label for="no_housebound_chooser">No </label> >+ <input type="radio" id="no_housebound_chooser" >+ name="housebound_chooser" value="0" >+ checked="checked" /> >+ [% END %] >+ </li> >+ <li> >+ <label class="radio" for="housebound_deliverer">Deliverer:</label> >+ [% IF ( housebound_role.housebound_deliverer == 1 ) %] >+ <label for="yes_housebound_deliverer">Yes </label> >+ <input type="radio" id="yes_housebound_deliverer" >+ name="housebound_deliverer" value="1" >+ checked="checked" /> >+ <label for="no_housebound_deliverer">No </label> >+ <input type="radio" id="no_housebound_deliverer" >+ name="housebound_deliverer" value="0" /> >+ [% ELSE %] >+ <label for="yes_housebound_deliverer">Yes </label> >+ <input type="radio" id="yes_housebound_deliverer" >+ name="housebound_deliverer" value="1" /> >+ <label for="no_housebound_deliverer">No </label> >+ <input type="radio" id="no_housebound_deliverer" >+ name="housebound_deliverer" value="0" >+ checked="checked" /> >+ [% END %] >+ </li> >+ </ol> >+ </fieldset> >+ [% END # hide fieldset %] > <!--this zones are not necessary in modif mode --> > [% UNLESS ( opadd || opduplicate ) %] > <fieldset class="rows" id="memberentry_account_flags"> >diff --git a/members/memberentry.pl b/members/memberentry.pl >index 8fc5d9b..8d7a214 100755 >--- a/members/memberentry.pl >+++ b/members/memberentry.pl >@@ -43,6 +43,8 @@ use Koha::Cities; > use Koha::DateUtils; > use Koha::Libraries; > use Koha::Patron::Categories; >+use Koha::Patron::HouseboundRole; >+use Koha::Patron::HouseboundRoles; > use Koha::Token; > use Email::Valid; > use Module::Load; >@@ -435,11 +437,53 @@ if ((!$nok) and $nodouble and ($op eq 'insert' or $op eq 'save')){ > if ( exists $data{'borrowernumber'} && C4::Context->preference('NorwegianPatronDBEnable') && C4::Context->preference('NorwegianPatronDBEnable') == 1 ) { > NLSync({ 'borrowernumber' => $borrowernumber }); > } >- } elsif ($op eq 'save'){ >- if ($NoUpdateLogin) { >- delete $newdata{'password'}; >- delete $newdata{'userid'}; >- } >+ >+ # Create HouseboundRole if necessary. >+ # Borrower did not exist, so HouseboundRole *cannot* yet exist. >+ my ( $hsbnd_chooser, $hsbnd_deliverer ) = ( 0, 0 ); >+ $hsbnd_chooser = 1 if $input->param('housebound_chooser'); >+ $hsbnd_deliverer = 1 if $input->param('housebound_deliverer'); >+ # Only create a HouseboundRole if patron has a role. >+ if ( $hsbnd_chooser || $hsbnd_deliverer ) { >+ Koha::Patron::HouseboundRole->new({ >+ borrowernumber_id => $borrowernumber, >+ housebound_chooser => $hsbnd_chooser, >+ housebound_deliverer => $hsbnd_deliverer, >+ })->store; >+ } >+ >+ } elsif ($op eq 'save') { >+ >+ # Update or create our HouseboundRole if necessary. >+ my $housebound_role = Koha::Patron::HouseboundRoles->find($borrowernumber); >+ my ( $hsbnd_chooser, $hsbnd_deliverer ) = ( 0, 0 ); >+ $hsbnd_chooser = 1 if $input->param('housebound_chooser'); >+ $hsbnd_deliverer = 1 if $input->param('housebound_deliverer'); >+ if ( $housebound_role ) { >+ if ( $hsbnd_chooser || $hsbnd_deliverer ) { >+ # Update our HouseboundRole. >+ $housebound_role >+ ->housebound_chooser($hsbnd_chooser) >+ ->housebound_deliverer($hsbnd_deliverer) >+ ->store; >+ } else { >+ $housebound_role->delete; # No longer needed. >+ } >+ } else { >+ # Only create a HouseboundRole if patron has a role. >+ if ( $hsbnd_chooser || $hsbnd_deliverer ) { >+ $housebound_role = Koha::Patron::HouseboundRole->new({ >+ borrowernumber_id => $borrowernumber, >+ housebound_chooser => $hsbnd_chooser, >+ housebound_deliverer => $hsbnd_deliverer, >+ })->store; >+ } >+ } >+ >+ if ($NoUpdateLogin) { >+ delete $newdata{'password'}; >+ delete $newdata{'userid'}; >+ } > &ModMember(%newdata) unless scalar(keys %newdata) <= 1; # bug 4508 - avoid crash if we're not > # updating any columns in the borrowers table, > # which can happen if we're only editing the >@@ -703,6 +747,12 @@ $template->param( > ), > ); > >+# HouseboundModule data >+$template->param( >+ HouseboundModule => C4::Context->preference("HouseboundModule"), >+ housebound_role => Koha::Patron::HouseboundRoles->find($borrowernumber), >+); >+ > if(defined($data{'flags'})){ > $template->param(flags=>$data{'flags'}); > } >-- >2.8.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 5670
:
3038
|
22162
|
22163
|
22164
|
22165
|
26816
|
27288
|
50930
|
51377
|
51875
|
54384
|
54385
|
55326
|
55334
|
55335
|
55336
|
55734
|
55735
|
55736
|
55737
|
55738
|
55739
|
55865
|
55866
|
55867
|
55890
|
55891
|
56298
|
56299
|
56300
|
56301
|
56302
|
56308
|
56337
|
56341
|
56346
|
56347
|
56348
|
56349
|
56350
|
56351
|
56352
|
56353
|
56354
|
56355
|
56356
|
56357
|
56358
|
56359
|
56360
|
56361
|
56362
|
56363
|
56364
|
56365
|
56366
|
56367
|
56368
|
56369
|
56580
|
56581
|
56582
|
56583
|
56584
|
56585
|
56586
|
56587
|
56588
|
56589
|
56590
|
56591
|
56592
|
56593
|
56594
|
56595
|
56596
|
56597
| 56598 |
56599
|
56600
|
56601
|
56602
|
56603
|
56604
|
56605
|
56606