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 | 11 ++++++++++-
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 | 2 ++
.../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(+), 5 deletions(-)
diff --git a/catalogue/detail.pl b/catalogue/detail.pl
index db38551..9735a2e 100755
--- a/catalogue/detail.pl
+++ b/catalogue/detail.pl
@@ -243,6 +243,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;
+ }
+ }
+
# item has a host number if its biblio number does not match the current
bib
if ($item->{biblionumber} ne $biblionumber){
$item->{hostbiblionumber} = $item->{biblionumber};
@@ -258,6 +265,7 @@ foreach my $item (@items) {
if ($item->{'materials'} ne ''){
$materials_flag = 1;
}
+
push @itemloop, $item;
}
@@ -276,7 +284,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,
hostrecords => $hostrecords,
diff --git a/catalogue/moredetail.pl b/catalogue/moredetail.pl
index f5bb904..0f24732 100755
--- a/catalogue/moredetail.pl
+++ b/catalogue/moredetail.pl
@@ -168,6 +168,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 e142117..ad36878 100755
--- a/circ/returns.pl
+++ b/circ/returns.pl
@@ -586,6 +586,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 597a8be..995322f 100644
--- a/installer/data/mysql/kohastructure.sql
+++ b/installer/data/mysql/kohastructure.sql
@@ -756,6 +756,7 @@ CREATE TABLE `deleteditems` (
`reserves` smallint(6) default NULL, -- number of times this item has been
placed on hold/reserved
`restricted` tinyint(1) default NULL, -- authorized value defining use
restrictions for this item (MARC21 952$5)
`itemnotes` mediumtext, -- public notes on this item (MARC21 952$x)
+ `nonpublicnote` mediumtext default NULL,
`holdingbranch` varchar(10) default NULL, -- foreign key from the branches
table for the library that is currently in possession item (MARC21 952$b)
`paidfor` mediumtext,
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update
CURRENT_TIMESTAMP, -- date and time this item was last altered
@@ -1022,6 +1023,7 @@ CREATE TABLE `items` ( -- holdings/item information
`reserves` smallint(6) default NULL, -- number of times this item has been
placed on hold/reserved
`restricted` tinyint(1) default NULL, -- authorized value defining use
restrictions for this item (MARC21 952$5)
`itemnotes` mediumtext, -- public notes on this item (MARC21 952$x)
+ `nonpublicnote` mediumtext default NULL,
`holdingbranch` varchar(10) default NULL, -- foreign key from the branches
table for the library that is currently in possession item (MARC21 952$b)
`paidfor` mediumtext,
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update
CURRENT_TIMESTAMP, -- date and time this item was last altered
diff --git a/installer/data/mysql/updatedatabase.pl
b/installer/data/mysql/updatedatabase.pl
index e540874..fdeb04b 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -4734,6 +4734,14 @@ if ( C4::Context->preference("Version") <
TransformToNum($DBversion) ) {
SetVersion($DBversion);
}
+$DBversion = '3.07.00.XXX';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE items ADD COLUMN nonpublicnote MEDIUMTEXT AFTER
itemnotes");
+ $dbh->do("ALTER TABLE deleteditems ADD COLUMN nonpublicnote MEDIUMTEXT
AFTER itemnotes");
+ $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. <b>If
you have mapped your items to a MARC field other than 952 (system default),
please check your Koha to MARC mapping for items.nonpublicnote</b>)\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 858c2d6..c73bf74 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
@@ -281,6 +281,7 @@ function verify_images() {
[% IF ( itemdata_copynumber ) %]<th>Copy No.</th>[% END %]
[% IF materials %]<th>Materials Specified</th>[% END %]
[% IF ( itemdata_itemnotes ) %]<th>Public notes</th>[% END %]
+ [% IF itemdata_nonpublicnote %]<th>Non-public Note</th>[% END
%]
[% IF ( SpineLabelShowPrintOnBibDetails ) %]<th>Spine
Label</th>[% END %]
[% IF ( hostrecords ) %]<th>Host Records</th>[% END %]
[% IF ( analyze ) %]<th>Used in</th><th></th>[% END %]
@@ -409,6 +410,7 @@ function verify_images() {
<td class="materials"> [% itemloo.materials %] </td>
[% END %]
[% IF ( itemdata_itemnotes ) %]<td><div class="itemnotes">[%
itemloo.itemnotes %]</div></td>[% END %]
+ [% IF itemdata_nonpublicnote %]<td class="nonpublicnote">[%
itemloo.nonpublicnote %]</td>[% END %]
[% IF ( SpineLabelShowPrintOnBibDetails ) %]
<td><a
href="/cgi-bin/koha/labels/spinelabel-print.pl?barcode=[% itemloo.barcode %]"
>Print Label</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 1a9536b..56e0594 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt
@@ -176,6 +176,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> </li>[% END %]
<li><span class="label">Paid for?:</span> [% ITEM_DAT.paidfor
%] </li>
<li><span class="label">Serial enumeration:</span> [%
ITEM_DAT.enumchron %] </li>
+ [% IF ITEM_DAT.nonpublicnote %]<li><span class="label">Non-public
Note:</span> [% ITEM_DAT.nonpublicnote %] </li>[% END %]
<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 1d0e07a..4b49784 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
@@ -716,7 +716,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 %]&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 %]&itemnumber=[% todayissue.itemnumber %]#item[%
todayissue.itemnumber %]">[% todayissue.barcode %]</a></td>
+ <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[%
todayissue.biblionumber %]&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 %]&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.firstname
%] [% todayissue.surname %]</td>[% END %]
@@ -789,7 +789,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 %]&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 %]&itemnumber=[% previssue.itemnumber %]#item[%
previssue.itemnumber %]">[% previssue.barcode %]</a></td>
+ <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[%
previssue.biblionumber %]&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 %]&itemnumber=[% previssue.itemnumber %]#item[%
previssue.itemnumber %]">[% previssue.barcode %]</a></td>
<td>
[% previssue.itemtype %]
</td>
@@ -897,7 +897,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 %]&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 %]&itemnumber=[% relissue.itemnumber %]#item[%
relissue.itemnumber %]">[% relissue.barcode %]</a></td>
+ <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[%
relissue.biblionumber %]&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 %]&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.issuingbranchname %]</td>
@@ -918,7 +918,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 %]&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 %]&itemnumber=[% relprevissue.itemnumber
%]#item[% relprevissue.itemnumber %]">[% relprevissue.barcode %]</a></td>
+ <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[%
relprevissue.biblionumber %]&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 %]&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.issuingbranchname %]</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 004a44e..6656d25 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
@@ -451,6 +451,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
[email protected]
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/