This fix the user ability to cancel holds in OPAC.
At the moment, a user can cancel all his holds, but in fact, only items that are not in transfert or waiting to be checked out can be cancelled by the user.
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
<!-- /TMPL_IF -->
</td>
<td>
- <form action="/cgi-bin/koha/opac-modrequest.pl" method="post">
- <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
- <input type="submit" name="submit" class="icon delete cancel" value="Cancel" onclick="return confirmDelete('Are you sure you want to cancel this hold?');" /></form>
+ <!-- TMPL_IF NAME="cancelable" -->
+ <form action="/cgi-bin/koha/opac-modrequest.pl" method="post">
+ <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
+ <input type="submit" name="submit" class="icon delete cancel" value="Cancel" onclick="return confirmDelete('Are you sure you want to cancel this hold?');" /></form>
+ <!-- TMPL_ELSE -->
+
+ <!-- /TMPL_IF -->
</td>
</tr>
push @waiting, $res;
$wcount++;
}
+ # can be cancelled
+ #$res->{'cancelable'} = 1 if ($res->{'wait'} && $res->{'atdestination'} && $res->{'found'} ne "1");
+ $res->{'cancelable'} = 1 if ($res->{wait} and not $res->{found}) or (not $res->{wait} and not $res->{intransit});
+
}
$template->param( WAITING => \@waiting );