[Koha-patches] [PATCH] [SIGNED-OFF] Bug 4222 - allow nonpublicnote to be a mapped DB column
Nicole Engard
nengard at gmail.com
Thu Jul 28 13:46:06 CEST 2011
Oops - ignore this. Updated ticket with one small problem.
Nicole
On Wed, Jul 27, 2011 at 12:40 AM, Nicole C. Engard
<nengard at bywatersolutions.com> wrote:
> From: Srdjan Jankovic <srdjan at catalyst.net.nz>
>
> 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.
>
> Signed-off-by: Nicole C. Engard <nengard at bywatersolutions.com>
> ---
> 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&bi=[% itemloo.biblioitemnumber %]&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> </li>[% END %]
> <li><span class="label">Paid for?:</span> [% ITEM_DAT.paidfor %] </li>
> <li><span class="label">Serial enumeration:</span> [% ITEM_DAT.enumchron %] </li>
> + <li><span class="label">Non-public Note:</span> [% ITEM_DAT.nonpublicnote %] </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 %]&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.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 %]&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>
> @@ -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 %]&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.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 %]&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.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.7.2.3
>
> _______________________________________________
> Koha-patches mailing list
> Koha-patches at 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/
>
More information about the Koha-patches
mailing list