Bug 22294: Check return of as_isbn10 before calling methods on it
[srvgit] / Koha / IssuingRules.pm
index 37cc45c..608b4ed 100644 (file)
@@ -150,6 +150,8 @@ sub article_requestable_rules {
     'article requested'. Constructed by an intelligent guess in the
     issuing rules (see article_requestable_rules).
 
+    Note: pref ArticleRequestsLinkControl overrides the algorithm.
+
     Optional parameters: categorycode.
 
     Note: the routine is used in opac-search to obtain a reasonable
@@ -164,6 +166,7 @@ sub guess_article_requestable_itemtypes {
     my ( $class, $params ) = @_;
     my $category = $params->{categorycode};
     return {} if !C4::Context->preference('ArticleRequests');
+    return { '*' => 1 } if C4::Context->preference('ArticleRequestsLinkControl') eq 'always';
 
     my $cache = Koha::Caches->get_instance;
     my $last_article_requestable_guesses = $cache->get_from_cache(GUESSED_ITEMTYPES_KEY);
@@ -179,7 +182,8 @@ sub guess_article_requestable_itemtypes {
     foreach my $rule ( $rules->as_list ) {
         $res->{ $rule->itemtype } = 1;
     }
-    $cache->set_in_cache(GUESSED_ITEMTYPES_KEY, $res);
+    $last_article_requestable_guesses->{$key} = $res;
+    $cache->set_in_cache(GUESSED_ITEMTYPES_KEY, $last_article_requestable_guesses);
     return $res;
 }