Bug 14793: New cataloguing plugin unimarc_field_225a_bis
authorJulian Maurice <julian.maurice@biblibre.com>
Tue, 8 Sep 2015 09:32:27 +0000 (11:32 +0200)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 22 Jul 2016 17:27:36 +0000 (17:27 +0000)
It is similar to unimarc_field_210c_bis, but searches in
biblioitems.collectiontitle instead of biblioitems.publishercode

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

cataloguing/value_builder/unimarc_field_225a_bis.pl [new file with mode: 0755]
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_225a_bis.tt [new file with mode: 0644]

diff --git a/cataloguing/value_builder/unimarc_field_225a_bis.pl b/cataloguing/value_builder/unimarc_field_225a_bis.pl
new file mode 100755 (executable)
index 0000000..8bfa488
--- /dev/null
@@ -0,0 +1,63 @@
+#!/usr/bin/perl
+
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
+
+=head1 SYNOPSIS
+
+This plugin is used to fill 225$a with a value already existing in
+biblioitems.collectiontitle
+
+=cut
+
+use Modern::Perl;
+
+use C4::Auth;
+use CGI qw( -utf8 );
+use C4::Context;
+
+use C4::Output;
+
+sub plugin_javascript {
+    my ( $dbh, $record, $tagslib, $field_number, $tabloop ) = @_;
+    my $function_name = $field_number;
+    my $res           = "
+    <script type=\"text/javascript\">
+        function Clic$function_name(index) {
+            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_225a_bis.pl&index=\"+index,\"unimarc225a\",'width=500,height=400,toolbar=false,scrollbars=no');
+        }
+    </script>
+";
+
+    return ( $function_name, $res );
+}
+
+sub plugin {
+    my ($input) = @_;
+    my $index   = $input->param('index');
+
+    my ($template, $loggedinuser, $cookie) = get_template_and_user({
+        template_name   => "cataloguing/value_builder/unimarc_field_225a_bis.tt",
+        query           => $input,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired   => { editcatalogue => '*' },
+        debug           => 1,
+    });
+
+    $template->param(index => $index);
+
+    output_html_with_http_headers $input, $cookie, $template->output;
+}
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_225a_bis.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_225a_bis.tt
new file mode 100644 (file)
index 0000000..c3fa550
--- /dev/null
@@ -0,0 +1,63 @@
+[% INCLUDE 'doc-head-open.inc' %]
+<title>Koha &rsaquo; UNIMARC field 225a builder</title>
+[% INCLUDE 'doc-head-close.inc' %]
+<style type="text/css">
+    #custom-doc {
+        width:37.85em;
+        min-width:492px;
+        margin:auto;
+        text-align:left;
+    }
+</style>
+
+</head>
+<body id="cat_unimarc_field_225a_bis" class="cat">
+
+  <div id="custom-doc" class="yui-t7">
+    <div id="bd">
+      <h1>UNIMARC field 225a builder</h1>
+      <div class="autocomplete">
+        <form>
+          <div id="fieldautocomplete" class="autocomplete">
+            <fieldset>
+              <input autocomplete="off" id="findvalue" name="findvalue" size="40" class="focus" type="text" />
+              <fieldset class="action">
+                <input type="submit" class="submit" value="Choose" />
+              </fieldset>
+            </fieldset>
+          </div>
+        </form>
+      </div>
+    </div>
+  </div>
+
+  <script>
+    //<![CDATA[
+    $(document).ready(function(){
+        $("#findvalue").autocomplete({
+            source: "/cgi-bin/koha/cataloguing/ysearch.pl?table=biblioitems&field=collectiontitle",
+            minLength: 3,
+            select: function(event, ui) {
+                $("#findvalue").val(ui.item.fieldvalue);
+                return false;
+            }
+        })
+        .data("ui-autocomplete")._renderItem = function(ul, item) {
+            return $("<li></li>")
+                .data("ui-autocomplete-item", item)
+                .append("<a>" + item.fieldvalue + "</a>")
+                .appendTo(ul);
+        };
+
+        $('form').submit(function() {
+            var field = opener.document.getElementById("[% index %]");
+            field.value = $('#findvalue').val();
+
+            window.close();
+            return false;
+        });
+    });
+    //]]>
+  </script>
+
+[% INCLUDE 'popup-bottom.inc' %]