From 96da551a7695ffb2269f8e6b66352289702453b3 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@theke.io>
Date: Fri, 12 Apr 2019 10:42:42 -0300
Subject: [PATCH] Bug 22694: Add Koha::Patron::Category->override_hidden_items

This patch introduces a method to determine for a given category if
patrons belonging to it override OpacHiddenItems policies.

To test:
- Apply the patches
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Patron/Category.t
=> SUCCESS: Tests pass!
- Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
---
 Koha/Patron/Category.pm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/Koha/Patron/Category.pm b/Koha/Patron/Category.pm
index 261b232d33..f102c6ee80 100644
--- a/Koha/Patron/Category.pm
+++ b/Koha/Patron/Category.pm
@@ -18,6 +18,7 @@ package Koha::Patron::Category;
 use Modern::Perl;
 
 use Carp;
+use List::MoreUtils qw(any);
 
 use C4::Members::Messaging;
 
@@ -254,6 +255,24 @@ sub effective_change_password {
         : C4::Context->preference('OpacPasswordChange');
 }
 
+=head3 override_hidden_items
+
+    if ( $patron->category->override_hidden_items ) {
+        ...
+    }
+
+Returns a boolean that if patrons of this category are exempt from the OPACHiddenItems policies
+
+TODO: Remove on bug 22547
+
+=cut
+
+sub override_hidden_items {
+    my ($self) = @_;
+    return any { $_ eq $self->categorycode }
+    split( /\|/, C4::Context->preference('OpacHiddenItemsExceptions') );
+}
+
 =head2 Internal methods
 
 =head3 type
-- 
2.20.1