- my $ar = Koha::ArticleRequest->new(
- {
- borrowernumber => $borrowernumber,
- biblionumber => $biblionumber,
- branchcode => $branchcode,
- itemnumber => $itemnumber,
- title => $title,
- author => $author,
- volume => $volume,
- issue => $issue,
- date => $date,
- pages => $pages,
- chapters => $chapters,
- patron_notes => $patron_notes,
+
+ my $success;
+
+ try {
+ my $ar = Koha::ArticleRequest->new(
+ {
+ borrowernumber => $borrowernumber,
+ biblionumber => $biblionumber,
+ branchcode => $branchcode,
+ itemnumber => $itemnumber,
+ title => $title,
+ author => $author,
+ volume => $volume,
+ issue => $issue,
+ date => $date,
+ pages => $pages,
+ chapters => $chapters,
+ patron_notes => $patron_notes,
+ format => $format,
+ toc_request => $toc_request ? 1 : 0,
+ }
+ )->request;
+ $success = 1;
+ } catch {
+ if ( blessed $_ and $_->isa('Koha::Exceptions::ArticleRequest::LimitReached') ) {
+ $template->param(
+ error_message => 'article_request_limit_reached'
+ );
+ }
+ else {
+ Koha::Logger->get->debug("Unhandled exception when placing an article request ($_)");
+ $template->param(
+ error_message => 'article_request_unhandled_exception'
+ );