Bug 6325 Bib detail - z39.50 button functionality should be under "Edit" menu
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / includes / cat-toolbar.inc
index a9da9f8..9766494 100644 (file)
@@ -2,30 +2,32 @@
        
        <script type="text/javascript">
        //<![CDATA[
-       <!-- TMPL_IF NAME="CAN_user_editcatalogue" -->
+       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
        /* this function open a popup to search on z3950 server.  */
        function PopupZ3950() {
                var strQuery = GetZ3950Terms();
                if(strQuery){
-                       window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"+strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
+                       window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber %]"+strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
                } 
        }
 
        /* provide Z3950 search points */
        function GetZ3950Terms(){
                var strQuery="&frameworkcode=";
-               <!-- TMPL_LOOP NAME='z3950_search_params' -->
-                       strQuery += "&" + "<!-- TMPL_VAR NAME="name" -->" + "=" + "<!-- TMPL_VAR NAME="encvalue" -->";
-               <!-- /TMPL_LOOP -->
+               [% FOREACH z3950_search_param IN z3950_search_params %]
+                       strQuery += "&" + "[% z3950_search_param.name |html %]" + "=" + "[% z3950_search_param.encvalue |html %]";
+               [% END %]
                return strQuery;
        }
-       <!-- /TMPL_IF -->
-       function addToShelf() { window.open('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->','Add_to_virtualshelf','width=500,height=400,toolbar=false,scrollbars=yes');
+       [% END %]
+       function addToCart() { addRecord('[% biblionumber %]'); }
+       function addToShelf() { window.open('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?biblionumber=[% biblionumber %]','Add_to_virtualshelf','width=500,height=400,toolbar=false,scrollbars=yes');
        }
-       function printBiblio() {window.open('/cgi-bin/koha/catalogue/detailprint.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->','Print_Biblio','width=700,height=500,toolbar=false,scrollbars=yes');
+       function printBiblio() {window.open('/cgi-bin/koha/catalogue/detailprint.pl?biblionumber=[% biblionumber %]','Print_Biblio','width=700,height=500,toolbar=false,scrollbars=yes');
        }
+[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
 function confirm_deletion() {
-               var count = <!-- TMPL_VAR NAME="count" -->;
+               var count = [% count %];
         var is_confirmed;
        if (count>0){
                    is_confirmed= alert(_('There are [ '+ count +' ] item(s) attached to this record \n You must delete all items before deleting this record.'));
@@ -35,143 +37,190 @@ function confirm_deletion() {
 
      if (is_confirmed) {
         if (count>0){
-       //      window.location="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->";
+       //      window.location="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]";
                } else {
-                       window.location="/cgi-bin/koha/cataloguing/addbiblio.pl?op=delete&amp;biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->";
+                       window.location="/cgi-bin/koha/cataloguing/addbiblio.pl?op=delete&amp;biblionumber=[% biblionumber %]";
                }
        } else {
                return false;
        }
 }
+[% END %]
+[% IF ( CAN_user_editcatalogue_edit_items ) %]
 function confirm_items_deletion() {
-        var count = <!-- TMPL_VAR NAME="count" -->;
+        var count = [% count %];
         if(count > 0){
             if(confirm(_('Are you sure you want to delete the ' + count + ' attached items? '))){
-                window.location="/cgi-bin/koha/cataloguing/additem.pl?op=delallitems&amp;biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->";
+                window.location="/cgi-bin/koha/cataloguing/additem.pl?op=delallitems&amp;biblionumber=[% biblionumber %]";
             }else{
                 return false;
             }
                }
 }
+[% END %]
        // prepare DOM for YUI Toolbar
 
         $(document).ready(function() {
-           $("#edititems").parent().remove();
-           $("#duplicatebiblio").parent().remove();
+           [% IF ( CAN_user_editcatalogue_edit_items ) %]$("#edititems").parent().remove();
+               $("#newitem").parent().remove();[% END %]
+           [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]$("#duplicatebiblio").parent().remove();
                $("#deletebiblio").parent().remove();
-               $("#newitem").parent().remove();
-               $("#newsub").parent().remove();
-           $("#editmenuc").empty();
-               $("#newmenuc").empty();
-               $("#addtoshelfc").empty();
-               $("#printbiblioc").empty();
+               $("#z3950searchc").empty();[% END %]
+               [% IF ( CAN_user_serials_create_subscription ) %]$("#newsub").parent().remove();[% END %]
+           $("#newbiblio").parent().remove();
+               $("#editbiblio").parent().remove();
+               $("#addtoshelf").parent().remove();
+               $("#printbiblio").parent().remove();
+               $("#placehold").parent().remove();
                $("#export").remove();
-               $("#addtoshelfc").before("<li id=\"savemenuc\"><\/li>");
-               $("#z3950searchc").empty();
-           yuiToolbar();
         });
 
-       // YUI Toolbar Functions
-
-       function yuiToolbar() {
+       YAHOO.util.Event.onContentReady("cattoolbar", function () {
+               //      Menu for new record, new item, new subscription
                var newmenu = [
-                       {text: _("New Record"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl" },
-                       {text: _("New Item"), url: "/cgi-bin/koha/cataloguing/additem.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->#additema" },
-                       {text: _("New Subscription"), url: "/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=<!-- TMPL_VAR NAME="biblionumber" -->"},
+                       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{text: _("New Record"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl" },[% END %]
+                       [% IF ( CAN_user_editcatalogue_edit_items ) %]{text: _("New Item"), url: "/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber %]#additema" },[% END %]
+                       [% IF ( CAN_user_serials_create_subscription ) %]
+                       {text: _("New Subscription"), url: "/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=[% biblionumber %]"},[% END %]
                ];
-       
+               if(newmenu.length){
+                       new YAHOO.widget.Button({
+                               type: "menu",
+                               label: _("New"),
+                               id: "newmenuc",
+                               name: "newmenubutton",
+                               menu: newmenu,
+                               container: this
+                        });
+                }
            var editmenu = [
-               { text: _("Edit Record"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;frameworkcode=&amp;op=" },
-               { text: _("Edit Items"), url: "/cgi-bin/koha/cataloguing/additem.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" },
-               { text: _("Attach Item"), url: "/cgi-bin/koha/cataloguing/moveitem.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" },
-               { text: _("Edit as New (Duplicate)"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;frameworkcode=&amp;op=duplicate" },
-                       { text: _("Delete Record"), onclick: {fn: confirm_deletion }<!-- TMPL_IF NAME="count" -->,id:'disabled'<!-- /TMPL_IF --> },
-            { text: _("Delete all Items"), onclick: {fn: confirm_items_deletion } }
+               [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Edit Record"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]&amp;frameworkcode=&amp;op=" },[% END %]
+               [% IF ( CAN_user_editcatalogue_edit_items ) %]{ text: _("Edit Items"), url: "/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber %]" },[% END %]
+               [% IF ( CAN_user_editcatalogue_edit_items ) %]{ text: _("Attach Item"), url: "/cgi-bin/koha/cataloguing/moveitem.pl?biblionumber=[% biblionumber %]" },[% END %]
+               [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Edit as New (Duplicate)"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]&amp;frameworkcode=&amp;op=duplicate" },[% END %]
+                       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Replace Record via Z39.50"), onclick: {fn: PopupZ3950 } },[% END %]
+                       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Delete Record"), onclick: {fn: confirm_deletion }[% IF ( count ) %],id:'disabled'[% END %] },[% END %]
+               [% IF ( CAN_user_editcatalogue_edit_items ) %]{ text: _("Delete all Items"), onclick: {fn: confirm_items_deletion } }[% END %]
            ];
-               
+               if(editmenu.length){
+                       new YAHOO.widget.Button({
+                               type: "menu",
+                               label: _("Edit"),
+                               id: "editmenuc",
+                               name: "editmenubutton",
+                               menu: editmenu,
+                               container: this
+                        });
+               }
                var savemenu = [
-               { text: _("MODS (XML)"), url: "/cgi-bin/koha/catalogue/export.pl?format=mods&op=export&bib=<!-- TMPL_VAR NAME="biblionumber" -->" },
-               { text: _("Dublin Core (XML)"), url: "/cgi-bin/koha/catalogue/export.pl?format=dc&op=export&bib=<!-- TMPL_VAR NAME="biblionumber" -->" },
-               { text: _("MARCXML"), url: "/cgi-bin/koha/catalogue/export.pl?format=marcxml&op=export&bib=<!-- TMPL_VAR NAME="biblionumber" -->" },
-               { text: _("MARC (non-Unicode/MARC-8)"), url: "/cgi-bin/koha/catalogue/export.pl?format=marc8&op=export&bib=<!-- TMPL_VAR NAME="biblionumber" -->" },
-               { text: _("MARC (Unicode/UTF-8)"), url: "/cgi-bin/koha/catalogue/export.pl?format=utf8&op=export&bib=<!-- TMPL_VAR NAME="biblionumber" -->" }
+                       { text: _("MODS (XML)"), url: "/cgi-bin/koha/catalogue/export.pl?format=mods&op=export&bib=[% biblionumber %]" },
+                       { text: _("Dublin Core (XML)"), url: "/cgi-bin/koha/catalogue/export.pl?format=dc&op=export&bib=[% biblionumber %]" },
+                       { text: _("MARCXML"), url: "/cgi-bin/koha/catalogue/export.pl?format=marcxml&op=export&bib=[% biblionumber %]" },
+                       { text: _("MARC (non-Unicode/MARC-8)"), url: "/cgi-bin/koha/catalogue/export.pl?format=marc8&op=export&bib=[% biblionumber %]" },
+                       { text: _("MARC (Unicode/UTF-8)"), url: "/cgi-bin/koha/catalogue/export.pl?format=utf8&op=export&bib=[% biblionumber %]" }
                ];
 
            new YAHOO.widget.Button({
                type: "menu",
                label: _("Save"),
+               id: "savemenuc",
                name: "savemenubutton",
                menu: savemenu,
-               container: "savemenuc"
-           });
-           
-               new YAHOO.widget.Button({
-               type: "menu",
-               label: _("Edit"),
-               name: "editmenubutton",
-               menu: editmenu,
-               container: "editmenuc"
+               container: this
            });
-           
+
+           var addtomenu = [
+                       { text: _("Cart"), onclick: { fn: addToCart } },
+                       { text: _("List"),  onclick: { fn: addToShelf } }
+               ];
+
                new YAHOO.widget.Button({
                type: "menu",
-               label: _("New"),
-               name: "newmenubutton",
-               menu: newmenu,
-               container: "newmenuc"
+               label: _("Add to"),
+               name: "addtomenubutton",
+               menu: addtomenu,
+               container: this
            });
-               
+
                new YAHOO.widget.Button({
-                       id: "z3950search", 
-                       type: "button", 
-                       label: _("z39.50 Search"), 
-                       container: "z3950searchc",
-                       onclick: {fn:function(){PopupZ3950()}}
+               id: "printbiblio",
+               type: "button",
+               label: _("Print"),
+               container: this,
+                       onclick: {fn: printBiblio }
                });
+               [% IF ( CAN_user_reserveforothers ) %][% UNLESS ( norequests ) %]
+               [% IF ( holdfor ) %]
+               //      Create an array of YAHOO.widget.MenuItem configuration properties
+               var onButtonClick = function () { 
+                       location.href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]";
+               }
+               var HoldForButtonMenu = [
+                       { text: "Place hold", url: "/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]" },
+                       { text: "Place hold for [% holdfor_firstname %] [% holdfor_surname %] ([% holdfor_cardnumber %])", url: "/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]&findborrower=[% holdfor_cardnumber %]" }
+               ];
 
-               var addtoshelfButton = new YAHOO.widget.Button({
-                                            id: "addtoshelf", 
-                                            type: "button", 
-                                            label: _("Add to List"), 
-                                            container: "addtoshelfc",
-                                                                                       onclick: {fn: addToShelf }
-                                        });
-                                                                               
-               var printbiblioButton = new YAHOO.widget.Button({
-                                            id: "printbiblio", 
-                                            type: "button", 
-                                            label: _("Print"), 
-                                            container: "printbiblioc",
-                                                                                       onclick: {fn: printBiblio }
-                                        });
-
-           var newbiblioButton = new YAHOO.widget.Button("newbiblio");
-           var placeholdButton = new YAHOO.widget.Button("placehold");
-               
-       }
+               //      Instantiate a Split Button using the array of YAHOO.widget.MenuItem 
+               //      configuration properties as the value for the "menu" 
+               //      configuration attribute.
 
+               var HoldForButton = new YAHOO.widget.Button({
+                               id: "holdfor",
+                               type: "split",
+                               label: "Place hold",
+                               name: "holdfor",
+                               menu: HoldForButtonMenu,
+                               container: this,
+                               onclick: { fn: onButtonClick }
+               });
+           [% ELSE %]
+           new YAHOO.widget.Button({
+                       id: "placehold",
+                       type: "link",
+                       label: _("Place hold"),
+                       container: this,
+                       href: "/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]"
+            });
+           [% END %]
+           [% END %][% END %]
+
+       });
        //]]>
        </script>
        
 <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
 
-<ul class="toolbar">
-       <!-- TMPL_IF NAME="CAN_user_editcatalogue" -->
-       <li id="newmenuc"><a id="newbiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl">New Record</a></li>
-       <li><a id="newitem" href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">New Item</a></li>
-       <li><a id="newsub" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=<!-- TMPL_VAR NAME="biblionumber" -->">New Subscription</a></li>
-       <li id="editmenuc"><a id="editbiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;frameworkcode=<!--TMPL_VAR Name="current_framework" -->&amp;op=">Edit Record</a></li>
-       <li><a id="edititems" href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Edit Items</a></li>
-       <li><a id="duplicatebiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;frameworkcode=<!--TMPL_VAR Name="current_framework" -->&amp;op=duplicate">Duplicate Record</a></li>
-       <li><a id="deletebiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl?op=delete&amp;biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Delete</a></li>
-       <!-- /TMPL_IF -->       
-       <li id="addtoshelfc"><a id="addtoshelf" href="/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Add to shelf</a></li>
-       <li id="printbiblioc"><a id="printbiblio" href="/cgi-bin/koha/catalogue/detailprint.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Print</a></li>
-       <!-- TMPL_IF NAME="CAN_user_reserveforothers" -->
-        <!-- TMPL_UNLESS name="bi_notforloan" -->
-       <!-- TMPL_UNLESS NAME="norequests" --><li><a id="placehold" href="/cgi-bin/koha/reserve/request.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a></li><!-- /TMPL_UNLESS --><!-- /TMPL_UNLESS -->
-       <!-- /TMPL_IF -->
-       <!-- TMPL_IF NAME="CAN_user_editcatalogue" --><li id="z3950searchc"><input type="button" id="z3950search" value="z39.50 Search" onclick="PopupZ3950(); return false;" /></li><!-- /TMPL_IF -->
+<ul class="toolbar" id="cattoolbar">
+
+       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
+       <li><a id="newbiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl">New Record</a></li>
+       [% END %]
+       [% IF ( CAN_user_editcatalogue_edit_items ) %]
+       <li><a id="newitem" href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber %]">New Item</a></li>
+       [% END %]
+       [% IF ( CAN_user_serials_create_subscription ) %]
+       <li><a id="newsub" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=[% biblionumber %]">New Subscription</a></li>
+       [% END %]
+
+       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
+       <li><a id="editbiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]&amp;frameworkcode=[% current_framework %]&amp;op=">Edit Record</a></li>
+       [% END %]
+       [% IF ( CAN_user_editcatalogue_edit_items ) %]
+       <li><a id="edititems" href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber %]">Edit Items</a></li>
+       [% END %]
+       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
+       <li><a id="duplicatebiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]&amp;frameworkcode=[% current_framework %]&amp;op=duplicate">Duplicate Record</a></li>
+       [% END %]
+       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
+       <li><a id="deletebiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl?op=delete&amp;biblionumber=[% biblionumber %]">Delete</a></li>
+       [% END %]       
+
+       <li><a id="addtoshelf" href="/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?biblionumber=[% biblionumber %]">Add to shelf</a></li>
+       <li><a id="printbiblio" href="/cgi-bin/koha/catalogue/detailprint.pl?biblionumber=[% biblionumber %]">Print</a></li>
+       [% IF ( CAN_user_reserveforothers ) %]
+       [% UNLESS ( norequests ) %]<li><a id="placehold" href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>[% END %]
+       [% END %]
+       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<li id="z3950searchc"><input type="button" id="z3950search" value="Z39.50 Search" onclick="PopupZ3950(); return false;" /></li>[% END %]
     </ul>
 </form>
 </div>