This means that it's possible (and easy) to put non-public notes
(usually 952$x) on a template, same as public notes. It creates a
mapping between the 952$x field and the new database column.

Note that when this is applied, it will only work on newly saved records.

It is possible this will need to be altered to allow for UNIMARC etc. if
they use 952 differently.
---
 catalogue/detail.pl                                |   10 +++++++++-
 catalogue/moredetail.pl                            |    1 +
 circ/returns.pl                                    |    1 +
 installer/data/mysql/kohastructure.sql             |    2 ++
 installer/data/mysql/updatedatabase.pl             |    8 ++++++++
 .../prog/en/modules/catalogue/detail.tt            |    4 +++-
 .../prog/en/modules/catalogue/moredetail.tt        |    1 +
 .../prog/en/modules/circ/circulation.tt            |    8 ++++----
 .../intranet-tmpl/prog/en/modules/circ/returns.tt  |    1 +
 9 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/catalogue/detail.pl b/catalogue/detail.pl
index 8738737..f8feec5 100755
--- a/catalogue/detail.pl
+++ b/catalogue/detail.pl
@@ -223,6 +223,13 @@ foreach my $item (@items) {
         $item->{waitingdate} = format_date($wait_hashref->{waitingdate});
     }
 
+    foreach my $f (qw( itemnotes nonpublicnote )) {
+        if ($item->{$f}) {
+            $item->{$f} =~ s|\n|<br />|g;
+            $itemfields{$f} = 1;
+        }
+    }
+   
     push @itemloop, $item;
 }
 
@@ -240,7 +247,8 @@ $template->param(
        itemdata_uri        => $itemfields{uri},
        itemdata_copynumber => $itemfields{copynumber},
        volinfo                         => $itemfields{enumchron},
-    itemdata_itemnotes  => $itemfields{itemnotes},
+       itemdata_itemnotes  => $itemfields{itemnotes},
+       itemdata_nonpublicnote  => $itemfields{nonpublicnote},
        z3950_search_params     => C4::Search::z3950_search_args($dat),
     holdcount           => $holdcount,
        C4::Search::enabled_staff_search_views,
diff --git a/catalogue/moredetail.pl b/catalogue/moredetail.pl
index d848188..364c26c 100755
--- a/catalogue/moredetail.pl
+++ b/catalogue/moredetail.pl
@@ -145,6 +145,7 @@ foreach my $item (@items){
     } else {
         $item->{'issue'}= 0;
     }
+    $item->{nonpublicnote} =~ s|\n|<br />|g if $item->{nonpublicnote};
 }
 $template->param(count => $data->{'count'},
        subscriptionsnumber => $subscriptionsnumber,
diff --git a/circ/returns.pl b/circ/returns.pl
index bb5230b..afaf5b2 100755
--- a/circ/returns.pl
+++ b/circ/returns.pl
@@ -573,6 +573,7 @@ foreach ( sort { $a <=> $b } keys %returneditems ) {
         $ri{itemcallnumber}   = $biblio->{'itemcallnumber'};
         $ri{itemtype}         = $biblio->{'itemtype'};
         $ri{itemnote}         = $biblio->{'itemnotes'};
+        $ri{nonpublicnote}    = $biblio->{'nonpublicnote'};
         $ri{ccode}            = $biblio->{'ccode'};
         $ri{itemnumber}       = $biblio->{'itemnumber'};
         $ri{barcode}          = $bar_code;
diff --git a/installer/data/mysql/kohastructure.sql 
b/installer/data/mysql/kohastructure.sql
index e3c6f42..62bbf51 100644
--- a/installer/data/mysql/kohastructure.sql
+++ b/installer/data/mysql/kohastructure.sql
@@ -761,6 +761,7 @@ CREATE TABLE `deleteditems` (
   `enumchron` text default NULL,
   `copynumber` varchar(32) default NULL,
   `stocknumber` varchar(32) default NULL,
+  `nonpublicnote` mediumtext default NULL,
   `marc` longblob,
   PRIMARY KEY  (`itemnumber`),
   KEY `delitembarcodeidx` (`barcode`),
@@ -1028,6 +1029,7 @@ CREATE TABLE `items` (
   `enumchron` text default NULL,
   `copynumber` varchar(32) default NULL,
   `stocknumber` varchar(32) default NULL,
+  `nonpublicnote` mediumtext default NULL,
   PRIMARY KEY  (`itemnumber`),
   UNIQUE KEY `itembarcodeidx` (`barcode`),
   KEY `itemstocknumberidx` (`stocknumber`),
diff --git a/installer/data/mysql/updatedatabase.pl 
b/installer/data/mysql/updatedatabase.pl
index 9cbc8db..8b65080 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -4370,6 +4370,14 @@ if (C4::Context->preference("Version") < 
TransformToNum($DBversion)) {
     SetVersion($DBversion);
 }
 
+$DBversion = '3.05.00.XXX';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("ALTER TABLE items ADD COLUMN nonpublicnote MEDIUMTEXT");
+    $dbh->do("ALTER TABLE deleteditems ADD COLUMN nonpublicnote MEDIUMTEXT");
+    $dbh->do("UPDATE marc_subfield_structure SET 
kohafield='items.nonpublicnote' WHERE (kohafield IS NULL OR kohafield = '') AND 
tagfield='952' AND tagsubfield='x'");
+    print "Upgrade to $DBversion done (Make nonpublicnote easier to use)\n";
+}
+
 =head1 FUNCTIONS
 
 =head2 DropAllForeignKeys($table)
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt 
b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
index 2ea7091..ec1ba1d 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
@@ -247,7 +247,8 @@ function verify_images() {
                 [% IF ( itemdata_uri ) %]<th>url</th>[% END %]
                 [% IF ( itemdata_copynumber ) %]<th>Copy No.</th>[% END %]
                 [% IF ( itemdata_itemnotes ) %]<th>Public notes</th>[% END %]
-               [% IF ( SpineLabelShowPrintOnBibDetails ) %]<th>Spine 
Label</th>[% END %]
+                [% IF itemdata_nonpublicnote %]<th>Non-public Note</th>[% END 
%]
+                [% IF ( SpineLabelShowPrintOnBibDetails ) %]<th>Spine 
Label</th>[% END %]
             </tr>
             [% FOREACH itemloo IN itemloop %]
                 <tr>
@@ -370,6 +371,7 @@ function verify_images() {
                                        <td class="copynumber">[% 
itemloo.copynumber %]</td>
                                [% END %]
                 [% IF ( itemdata_itemnotes ) %]<td><div class="itemnotes">[% 
itemloo.itemnotes %]</div></td>[% END %]
+                [% IF itemdata_nonpublicnote %]<td class="nonpublicnote">[% 
itemdata_nonpublicnote %]</td>[% END %]
                 [% IF ( itemloo.type ) %]
                     <td><a 
href="/cgi-bin/koha/maint/catmaintain.pl?type=fixitemtype&amp;bi=[% 
itemloo.biblioitemnumber %]&amp;item=[% itemloo.itemtype %]">Fix 
Itemtype</a></td>
                 [% END %]
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt 
b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt
index 86c8a3f..db251fd 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt
@@ -174,6 +174,7 @@
                [% IF ( ITEM_DAT.card2 ) %]<li><span class="label">Previous 
Borrower:</span> <a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% 
ITEM_DAT.borrower2 %]">[% ITEM_DAT.card2 %]</a>&nbsp;</li>[% END %]
                 <li><span class="label">Paid for?:</span> [% ITEM_DAT.paidfor 
%]&nbsp;</li>
             <li><span class="label">Serial enumeration:</span> [% 
ITEM_DAT.enumchron %]&nbsp;</li>
+            <li><span class="label">Non-public Note:</span> [% 
ITEM_DAT.nonpublicnote %]&nbsp;</li>
             <li><span class="label">Public Note:</span>
                 [% IF ( CAN_user_editcatalogue_edit_items ) %]
               <form class="inline" action="updateitem.pl" method="post"><input 
type="hidden" name="biblionumber" value="[% ITEM_DAT.biblionumber %]" />
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt 
b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
index 9dcb16d..2776948 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
@@ -701,7 +701,7 @@ No patron matched <span class="ex">[% message %]</span>
         [% IF ( todayissue.od ) %]<td class="od">[% ELSE %]<td>[% END %]
         [% todayissue.dd %]
         </td>
-        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
todayissue.biblionumber %]&amp;type=intra"><strong>[% todayissue.title |html 
%]</strong></a>[% IF ( todayissue.author ) %], by [% todayissue.author %][% END 
%][% IF ( todayissue.itemnotes ) %]- <span class="circ-hlt">[% 
todayissue.itemnotes %]</span>[% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
todayissue.biblionumber %]&amp;itemnumber=[% todayissue.itemnumber %]#item[% 
todayissue.itemnumber %]">[% todayissue.barcode %]</a></td>
+        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
todayissue.biblionumber %]&amp;type=intra"><strong>[% todayissue.title |html 
%]</strong></a>[% IF ( todayissue.author ) %], by [% todayissue.author %][% END 
%][% IF ( todayissue.itemnotes ) %]- <span class="circ-hlt">[% 
todayissue.itemnotes %]</span>[% END %][% IF ( todayissue.nonpublicnote ) %]- 
<span class="circ-hlt">[% todayissue.nonpublicnote %]</span>[% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
todayissue.biblionumber %]&amp;itemnumber=[% todayissue.itemnumber %]#item[% 
todayissue.itemnumber %]">[% todayissue.barcode %]</a></td>
         <td>[% UNLESS ( noItemTypeImages ) %] [% IF ( 
todayissue.itemtype_image ) %]<img src="[% todayissue.itemtype_image %]" alt="" 
/>[% END %][% END %][% todayissue.itemtype %]</td>
         <td>[% todayissue.checkoutdate %]</td>
         [% IF ( todayissue.multiple_borrowers ) %]<td>[% 
todayissue.borrowername %]</td>[% END %]
@@ -773,7 +773,7 @@ No patron matched <span class="ex">[% message %]</span>
         [% IF ( previssue.od ) %]<td class="od">[% ELSE %]<td>[% END %]
         [% previssue.dd %]
         </td>
-        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
previssue.biblionumber %]&amp;type=intra"><strong>[% previssue.title |html 
%]</strong></a>[% IF ( previssue.author ) %], by [% previssue.author %][% END 
%] [% IF ( previssue.itemnotes ) %]- [% previssue.itemnotes %][% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
previssue.biblionumber %]&amp;itemnumber=[% previssue.itemnumber %]#item[% 
previssue.itemnumber %]">[% previssue.barcode %]</a></td>
+        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
previssue.biblionumber %]&amp;type=intra"><strong>[% previssue.title |html 
%]</strong></a>[% IF ( previssue.author ) %], by [% previssue.author %][% END 
%] [% IF ( previssue.itemnotes ) %]- [% previssue.itemnotes %][% END %][% IF ( 
previssue.nonpublicnote ) %]- [% previssue.nonpublicnote %][% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
previssue.biblionumber %]&amp;itemnumber=[% previssue.itemnumber %]#item[% 
previssue.itemnumber %]">[% previssue.barcode %]</a></td>
         <td>
             [% previssue.itemtype %]
         </td>
@@ -879,7 +879,7 @@ No patron matched <span class="ex">[% message %]</span>
     [% END %]
         [% IF ( relissue.overdue ) %]<td class="od">[% ELSE %]<td>[% END %]
             [% relissue.dd %]</td>
-        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
relissue.biblionumber %]&amp;type=intra"><strong>[% relissue.title |html 
%]</strong></a>[% IF ( relissue.author ) %], by [% relissue.author %][% END 
%][% IF ( relissue.itemnotes ) %]- <span class="circ-hlt">[% relissue.itemnotes 
%]</span>[% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
relissue.biblionumber %]&amp;itemnumber=[% relissue.itemnumber %]#item[% 
relissue.itemnumber %]">[% relissue.barcode %]</a></td>
+        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
relissue.biblionumber %]&amp;type=intra"><strong>[% relissue.title |html 
%]</strong></a>[% IF ( relissue.author ) %], by [% relissue.author %][% END 
%][% IF ( relissue.itemnotes ) %]- <span class="circ-hlt">[% relissue.itemnotes 
%]</span>[% END %][% IF ( relissue.nonpublicnote ) %]- <span 
class="circ-hlt">[% relissue.nonpublicnote %]</span>[% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
relissue.biblionumber %]&amp;itemnumber=[% relissue.itemnumber %]#item[% 
relissue.itemnumber %]">[% relissue.barcode %]</a></td>
         <td>[% UNLESS ( noItemTypeImages ) %] [% IF ( relissue.itemtype_image 
) %]<img src="[% relissue.itemtype_image %]" alt="" />[% END %][% END %][% 
relissue.itemtype %]</td>
         <td>[% relissue.displaydate %]</td>
         <td>[% relissue.itemcallnumber %]</td>
@@ -899,7 +899,7 @@ No patron matched <span class="ex">[% message %]</span>
         [% IF ( relprevissue.overdue ) %]<td class="od">[% ELSE %]<td>[% END %]
         [% relprevissue.dd %]
         </td>
-        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
relprevissue.biblionumber %]&amp;type=intra"><strong>[% relprevissue.title 
|html %]</strong></a>[% IF ( relprevissue.author ) %], by [% 
relprevissue.author %][% END %] [% IF ( relprevissue.itemnotes ) %]- [% 
relprevissue.itemnotes %][% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
relprevissue.biblionumber %]&amp;itemnumber=[% relprevissue.itemnumber 
%]#item[% relprevissue.itemnumber %]">[% relprevissue.barcode %]</a></td>
+        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
relprevissue.biblionumber %]&amp;type=intra"><strong>[% relprevissue.title 
|html %]</strong></a>[% IF ( relprevissue.author ) %], by [% 
relprevissue.author %][% END %] [% IF ( relprevissue.itemnotes ) %]- [% 
relprevissue.itemnotes %][% END %][% IF ( relprevissue.nonpublicnote ) %] - [% 
relprevissue.nonpublicnote %][% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
relprevissue.biblionumber %]&amp;itemnumber=[% relprevissue.itemnumber 
%]#item[% relprevissue.itemnumber %]">[% relprevissue.barcode %]</a></td>
         <td>[% UNLESS noItemTypeImages %][% IF relprevissue.itemtype_image 
%]<img src="[% relprevissue.itemtype_image %]" alt="" />[% END %][% END %][% 
relprevissue.itemtype %]</td>
         <td>[% relprevissue.displaydate %]</td>
         <td>[% relprevissue.itemcallnumber %]</td>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt 
b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
index c02be49..3cab835 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
@@ -422,6 +422,7 @@ function Dopop(link) {
             [% ELSE %]Not checked out[% END %]</td>
             <td>[% IF ( riloo.bornote ) %]<span class="circ-hlt">[% 
riloo.bornote %]<br /></span>[% END %]
             [% IF ( riloo.itemnote ) %]<span class="circ-hlt">[% 
riloo.itemnote %]</span>[% END %]
+            [% IF ( riloo.nonpublicnote ) %]<span class="circ-hlt">[% 
riloo.nonpublicnote %]</span>[% END %]
             </td>
            </tr>
         [% END %]
-- 
1.6.5

_______________________________________________
Koha-patches mailing list
Koha-patches@lists.koha-community.org
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to