From 7a268dd24a837ad70bf53258e3bba6f23769a3ee Mon Sep 17 00:00:00 2001
From: Agustin Moyano <agustinmoyano@theke.io>
Date: Fri, 13 Sep 2019 10:55:30 -0300
Subject: [PATCH] Bug 23602: Display branch limitations in itemtype table

This patch adds a column in itemtype table to display branch limitations.

To test:
1) Open item types admin page.
CHECK => there is no column for branch limitations, even if you add a limitation in an item type.
2) Apply this patch
SUCCESS => A new column appears that displays branch limitations per item type
3) Sign off

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
---
 admin/itemtypes.pl                                      | 10 ++++++++--
 .../intranet-tmpl/prog/en/modules/admin/itemtypes.tt    | 17 +++++++++++++++++
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/admin/itemtypes.pl b/admin/itemtypes.pl
index 80b13c68887..05f394e0530 100755
--- a/admin/itemtypes.pl
+++ b/admin/itemtypes.pl
@@ -196,9 +196,15 @@ if ( $op eq 'add_form' ) {
 }
 
 if ( $op eq 'list' ) {
-    my $itemtypes = Koha::ItemTypes->search;
+    my @itypes = Koha::ItemTypes->search->as_list;
+    my @itemtypes;
+    foreach my $itype (@itypes) {
+        my $itemtype = $itype->unblessed;
+        $itemtype->{branches} = $itype->library_limits ? $itype->library_limits->as_list : [];
+        push @itemtypes, $itemtype;
+    }
     $template->param(
-        itemtypes => $itemtypes,
+        itemtypes => \@itemtypes,
         messages  => \@messages,
     );
 }
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt
index 6ac7988e60c..715a71b7161 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt
@@ -359,6 +359,7 @@ Item types administration
             <th>Default replacement cost</th>
             <th>Processing fee (when lost)</th>
             <th>Checkin message</th>
+            <th>Branches limitations</th>
             <th>Actions</th>
           </thead>
           [% FOREACH itemtype IN itemtypes %]
@@ -411,6 +412,22 @@ Item types administration
             <td>[% itemtype.defaultreplacecost | $Price %]</td>
             <td>[% itemtype.processfee | $Price %]</td>
             <td>[% itemtype.checkinmsg | html_line_break | $raw %]</td>
+            <td>
+                [% IF itemtype.branches.size > 0 %]
+                    [% branches_str = "" %]
+                    [% FOREACH branch IN itemtype.branches %]
+                        [% branches_str = branches_str _ " " _ branch.branchname _ "(" _ branch.branchcode _ ")" %]
+                    [% END %]
+                    <span href="#" title="[% branches_str | html %]">
+                        [% IF itemtype.branches.size > 1 %]
+                            [% itemtype.branches.size | html %] branches limitations
+                        [% ELSE %]
+                            [% itemtype.branches.size | html %] branch limitation
+                        [% END %]
+                [% ELSE %]
+                    No limitation
+                [% END %]
+            </td>
             <td class="actions">
               <a href="/cgi-bin/koha/admin/itemtypes.pl?op=add_form&amp;itemtype=[% itemtype.itemtype | uri %]" class="btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
               <a href="/cgi-bin/koha/admin/itemtypes.pl?op=delete_confirm&amp;itemtype=[% itemtype.itemtype | uri %]" class="btn btn-default btn-xs"><i class="fa fa-trash"></i> Delete</a>
-- 
2.11.0