exit;
}
-my $op = $input->param("op") || '';
+my $op = $input->param("op") // '';
# Getting the template and auth
my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
$template->param( has_checkouts => 1 );
}
+my $pending = Koha::Patron::Discharge::count({
+ borrowernumber => $loggedinuser,
+ pending => 1,
+});
+my $available = Koha::Patron::Discharge::is_discharged({borrowernumber => $loggedinuser});
+
if ( $op eq 'request' ) {
+ if ($pending || $available) {
+ # Request already done
+ print $input->redirect("/cgi-bin/koha/opac-discharge.pl");
+ exit;
+ }
my $success = Koha::Patron::Discharge::request({
borrowernumber => $loggedinuser,
});
-
if ($success) {
$template->param( success => 1 );
}
}
}
elsif ( $op eq 'get' ) {
+ unless ($available) {
+ # No valid discharge to get
+ print $input->redirect("/cgi-bin/koha/opac-discharge.pl");
+ exit;
+ }
eval {
# Getting member data
}
}
else {
- my $pending = Koha::Patron::Discharge::count({
- borrowernumber => $loggedinuser,
- pending => 1,
- });
- # FIXME looks like $available is not needed
- # If a user is discharged they have a validated discharge available
- my $available = Koha::Patron::Discharge::count({
- borrowernumber => $loggedinuser,
- validated => 1,
- });
$template->param(
- available => $available && Koha::Patron::Discharge::is_discharged({borrowernumber => $loggedinuser}),
+ available => $available,
pending => $pending,
);
}