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> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
88f4b828f5
commit
8ef116a922
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -44,6 +44,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;
|
||||
|
|
@ -436,11 +438,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
|
||||
|
|
@ -704,6 +748,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'});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue