Ticket 1110 : Balance carts and lists
authorMatthias Meusburger <matthias.meusburger@biblibre.com>
Wed, 27 May 2009 15:30:38 +0000 (17:30 +0200)
committerHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Wed, 30 Sep 2009 09:30:41 +0000 (11:30 +0200)
In Opac :
Print lists
Carts looks more like lists
Carts "More Details" And "Brief Display" toolbar looks more alike
In Admin :
Search results toolbar now have a "Add To" button for adding to a selected list with a confirmation pop-up, like in OPAC

Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
catalogue/search.pl
koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
koha-tmpl/intranet-tmpl/prog/en/js/basket.js [new symlink]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.hoverIntent.minified.js [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tmpl
koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/addbybiblionumber.tmpl
koha-tmpl/opac-tmpl/prog/en/css/print.css
koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tmpl
koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tmpl
virtualshelves/addbybiblionumber.pl

index ea3d323..aac95b0 100755 (executable)
@@ -140,7 +140,7 @@ use strict;            # always use
 ## load Koha modules
 use C4::Context;
 use C4::Output;
-use C4::Auth;
+use C4::Auth qw(:DEFAULT get_session);
 use C4::Search;
 use C4::Languages qw(getAllLanguages);
 use C4::Koha;
@@ -317,6 +317,8 @@ if ( $template_type eq 'advsearch' ) {
         $template->param( expanded_options => $cgi->param('expanded_options'));
     }
 
+    $template->param(virtualshelves => C4::Context->preference("virtualshelves"));
+
     output_html_with_http_headers $cgi, $cookie, $template->output;
     exit;
 }
@@ -636,4 +638,27 @@ if ($query_desc || $limit_desc) {
 }
 
 # VI. BUILD THE TEMPLATE
+
+# Build drop-down list for 'Add To:' menu...
+my $session = get_session($cgi->cookie("CGISESSID"));
+my @addpubshelves;
+my $pubshelves = $session->param('pubshelves');
+my $barshelves = $session->param('barshelves');
+foreach my $shelf (@$pubshelves) {
+        next if ( ($shelf->{'owner'} != ($borrowernumber ? $borrowernumber : -1)) && ($shelf->{'category'} < 3) );
+        push (@addpubshelves, $shelf);
+}
+
+if (@addpubshelves) {
+        $template->param( addpubshelves     => scalar (@addpubshelves));
+        $template->param( addpubshelvesloop => \@addpubshelves);
+}
+
+if (defined $barshelves) {
+        $template->param( addbarshelves     => scalar (@$barshelves));
+        $template->param( addbarshelvesloop => $barshelves);
+}
+
+
+
 output_html_with_http_headers $cgi, $cookie, $template->output;
index 0d6e8e3..f771a73 100644 (file)
@@ -29,6 +29,8 @@
 <!-- TMPL_IF NAME="js_page" -->
 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/js/pages/<!-- TMPL_VAR NAME="js_page" -->"></script>
 <!-- /TMPL_IF -->
+<script type="text/javascript" language="javascript"
+<!-- TMPL_IF NAME="opacbookbag" -->src="<!-- TMPL_VAR NAME="themelang" -->/js/basket.js"><!-- TMPL_ELSIF NAME="virtualshelves" -->src="<!-- TMPL_VAR NAME="themelang" -->/js/basket.js"><!-- TMPL_ELSE -->>var readCookie;<!-- /TMPL_IF --></script>
 
 <!-- TMPL_IF NAME="js_widgets" -->
 <!-- TMPL_LOOP NAME="js_widgets" -->
@@ -56,4 +58,4 @@
 //<![CDATA[
 <!-- TMPL_VAR NAME="intranetuserjs" -->
 //]]>
-</script><!-- /TMPL_IF -->
\ No newline at end of file
+</script><!-- /TMPL_IF -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/basket.js b/koha-tmpl/intranet-tmpl/prog/en/js/basket.js
new file mode 120000 (symlink)
index 0000000..104343c
--- /dev/null
@@ -0,0 +1 @@
+../../../../opac-tmpl/prog/en/js/basket.js
\ No newline at end of file
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.hoverIntent.minified.js b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.hoverIntent.minified.js
new file mode 100644 (file)
index 0000000..f86ad87
--- /dev/null
@@ -0,0 +1,9 @@
+/**
+* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
+* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
+* 
+* @param  f  onMouseOver function || An object with configuration options
+* @param  g  onMouseOut function  || Nothing (use configuration options object)
+* @author    Brian Cherne <brian@cherne.net>
+*/
+(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);
\ No newline at end of file
index 599d049..3120a47 100644 (file)
@@ -28,11 +28,64 @@ $(window).load(function() {
 
 var q_array = new Array();  // will hold search terms, if present
 
+$(window).load(function() {
+        verify_images();
+     });
+<!-- /TMPL_IF -->
+function Dopop(link) {                      
+        newin=window.open(link,'popup','width=500,height=400,toolbar=false,scrollbars=yes,resizeable=yes');
+}   
 $(document).ready(function() {
-    $('#sortbyform').find("input:submit").hide();
-    $('#sort_by').change(function() {
+$('#sortbyform').find("input:submit").hide();
+$('#sort_by').change(function() {
         $('#sortbyform').submit();
     });
+
+
+$(".addtocart").show();
+        var param1 = "<label for=\"addto\">Add to: <\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
+
+        <!-- TMPL_IF NAME="virtualshelves" --><!-- TMPL_IF NAME="addbarshelves" -->
+        param1 += "<optgroup label=\"Your Lists:\">";<!-- TMPL_LOOP NAME="addbarshelvesloop" -->
+        param1 += "<option id=\"s<!-- TMPL_VAR NAME="shelfnumber" -->\" value=\"addtolist\"><!-- TMPL_VAR NAME="shelfname" ESCAPE="html"--><\/option>";<!-- /TMPL_LOOP -->
+        param1 += "<\/optgroup>";<!-- /TMPL_IF -->
+        <!-- TMPL_IF NAME="addpubshelves" -->param1 += "<optgroup label=\"Public Lists:\">"<!-- TMPL_LOOP NAME="addpubshelvesloop" -->+"<option id=\"s<!-- TMPL_VAR NAME="shelfnumber" -->\" value=\"addtolist\"><!-- TMPL_VAR NAME="shelfname" ESCAPE="html"--><\/option>"<!-- /TMPL_LOOP -->
+        param1 +="<\/optgroup><option value=\"newlist\">[ New List ]<\/option>"
+<!-- /TMPL_IF -->
+        <!-- /TMPL_IF -->
+        param1 += "<\/select> <input type=\"submit\" class=\"submit\" value=\"Save\" />";
+ $('#sortsubmit').hide();
+    $('#sort_by').change(function() {
+        $('#bookbag_form').submit();
+    });
+        $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear All")+"<\/a>");
+        $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select All")+"<\/a>");
+        $("span.addto").html(param1);
+        $("#addto").change(function(){
+                cartList();
+        });
+        $(".addto").find("input:submit").click(function(){
+                cartList();
+                return false;
+       });
+
+ $("#tagsel_span").html("<input id=\"tagsel_tag\" class=\"submit\" type=\"submit\" value=\"Tag\"/>");
+    
+        function cartList(){
+                        if($("#addto").find("option:selected").attr("value") == "addtolist"){
+                        var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
+                        if (vShelfAdd()) {
+                           Dopop('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?shelfnumber='+shelfnumber+'&confirm=1&' + vShelfAdd());
+                        }
+                        return false;                   
+                } else if($("#addto").find("option:selected").attr("value") == "newlist"){
+                        if (vShelfAdd()) {
+                           Dopop('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?newshelf=1&confirm=1&' + vShelfAdd());
+                        }
+                        return false;   
+                }
+        }
+
     $("#selection_ops").show();
     $(".selection").show();
     <!-- TMPL_IF NAME="query_desc" -->
@@ -124,12 +177,16 @@ function GetZ3950Terms(){
 <!-- TMPL_INCLUDE NAME="header.inc" -->
 <!-- TMPL_INCLUDE NAME="cat-search.inc" -->
 
+<<<<<<< HEAD:koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tmpl
 <div id="breadcrumbs">
          <a href="/cgi-bin/koha/mainpage.pl">Home</a>
 &rsaquo; <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a>
 &rsaquo; Search <!-- TMPL_IF NAME="query_desc" -->for '<!-- TMPL_VAR NAME="query_desc" ESCAPE="html"-->'<!-- /TMPL_IF --><!-- TMPL_IF NAME="limit_desc" -->&nbsp;with limit(s):&nbsp;'<!-- TMPL_VAR NAME="limit_desc" -->'<!-- /TMPL_IF -->
 </div>
 
+=======
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a>  &rsaquo; Search <!-- TMPL_IF NAME="query_desc" -->for '<!-- TMPL_VAR NAME="query_desc" -->'<!-- /TMPL_IF --><!-- TMPL_IF NAME="limit_desc" -->&nbsp;with limit(s):&nbsp;'<!-- TMPL_VAR NAME="limit_desc" -->'<!-- /TMPL_IF --></div>
+>>>>>>> cefbb72... Ticket 1110 : Balance carts and lists:koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tmpl
 <div id="doc3" class="yui-t1">
    <div id="bd">
     <div id="yui-main">
@@ -174,18 +231,26 @@ function GetZ3950Terms(){
             <h3>
                 <!-- TMPL_VAR NAME="total" --> result(s) found <!-- TMPL_IF NAME="query_desc" -->for <span style="font-weight: bold;">'<!-- TMPL_VAR NAME="query_desc" ESCAPE="HTML"-->'</span><!-- /TMPL_IF --><!-- TMPL_IF NAME="limit_desc" -->&nbsp;with limit(s): <span style="font-weight: bold;">'<!-- TMPL_VAR NAME="limit_desc" -->'</span><!-- /TMPL_IF --><!-- TMPL_IF NAME="LibraryName" --> in <!-- TMPL_VAR NAME="LibraryName" --> Catalog<!-- /TMPL_IF -->.<br />&nbsp;
             </h3>
-            <div id="selection_ops" style="display:none">
+            <div id="selection_ops" class="cartlist" style="display:none">
                 <a href="#" onclick="selectAll(); return false;">Select All</a>
                 |
                 <a href="#" onclick="clearAll(); return false;">Clear All</a>
+<<<<<<< HEAD:koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tmpl
                 |
                 <a href="#" class="highlight_toggle" id="highlight_toggle_off">Unhighlight</a>
                 <a href="#" class="highlight_toggle" id="highlight_toggle_on">Highlight</a>
+=======
+               <span class="addto"></span>
+
+>>>>>>> cefbb72... Ticket 1110 : Balance carts and lists:koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tmpl
                 <!-- TMPL_IF NAME="CAN_user_reserveforothers" -->
-                  <input type="button" onclick="placeHold(); return false;" value="Place Hold"/>
+                | <a href="/cgi-bin/koha/catalogue/search.pl" onclick="placeHold(); return false;">Place Hold</a>
                 <!-- /TMPL_IF -->
+<<<<<<< HEAD:koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tmpl
                 <input type="button" onclick="addToList(); return false;" value="Add to List"/>
                                <!-- TMPL_IF NAME="CAN_user_editcatalogue" --><input type="button" onclick="PopupZ3950(); return false;" value="z39.50 Search"/><!-- /TMPL_IF -->
+=======
+>>>>>>> cefbb72... Ticket 1110 : Balance carts and lists:koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tmpl
             </div>
         </div>
     <!-- TMPL_IF NAME="stopwords_removed" --><div><p class="tip">Ignored the following common words: "<!-- TMPL_VAR NAME="stopwords_removed" -->"<p></div><!-- /TMPL_IF -->
@@ -309,7 +374,16 @@ function GetZ3950Terms(){
             <!-- ######### -->
 
             <div id="searchresults">
-                    
+                <form action="/cgi-bin/koha/catalogue/search.pl" method="get" name="bookbag_form" id="bookbag_form">
+                <!-- TMPL_IF NAME="searchdesc" -->
+                <!-- TMPL_LOOP NAME="QUERY_INPUTS"-->
+                <input type="hidden" name="<!-- TMPL_VAR NAME="input_name" -->" value="<!-- TMPL_VAR NAME="input_value" -->"/>
+                <!-- /TMPL_LOOP -->
+                <!-- TMPL_LOOP NAME="LIMIT_INPUTS"-->
+                <input type="hidden" name="<!-- TMPL_VAR NAME="input_name" -->" value="<!-- TMPL_VAR NAME="input_value" -->"/>
+                <!-- /TMPL_LOOP -->
+                <!-- /TMPL_IF -->
+    
                     <!-- TABLE RESULTS START -->
 
                 <table>
@@ -329,7 +403,7 @@ function GetZ3950Terms(){
                                     </a></td>                           
                             <!-- /TMPL_IF -->
                             <td>
-                                <input type="checkbox" class="selection" value="<!-- TMPL_VAR NAME="biblionumber" -->" style="display:none" />
+                                <input type="checkbox" class="selection" id="bib<!-- TMPL_VAR NAME="biblionumber" -->" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" style="display:none" />
                             </td>
                             <td>
                                 <p><!-- TMPL_VAR NAME="result_number" -->.
@@ -467,6 +541,7 @@ function GetZ3950Terms(){
                             </tr>
                         <!-- /TMPL_LOOP -->
                 </table>
+               </form>
                 </div>
         <!-- /TMPL_IF -->
         <!-- TMPL_INCLUDE NAME="page-numbers.inc" -->
index 13c1f4f..5cd8ef4 100644 (file)
@@ -9,6 +9,41 @@
 
 <div id="custom-doc" class="yui-t7">
    <div id="bd">
+<!-- TMPL_IF NAME="confirm" -->
+                <!-- TMPL_IF NAME="multiple"-->
+                <h1>Add <!-- TMPL_VAR NAME="total"--> items to <!-- TMPL_IF NAME="singleshelf" --><em><!-- TMPL_VAR NAME="shelfname" --></em>: <!-- TMPL_ELSE -->a list:<!-- /TMPL_IF --></h1>
+                <!-- TMPL_ELSE -->
+                        <h1>Add to <!-- TMPL_IF NAME="singleshelf" --><em><!-- TMPL_VAR NAME="shelfname" --></em><!-- TMPL_ELSE -->a list:<!-- /TMPL_IF --></h1>
+                <!-- /TMPL_IF -->
+        <ul>
+                <!-- TMPL_LOOP NAME="biblios"-->
+                <li> <span class="title"><!-- TMPL_VAR NAME="title"--></span>
+                <!-- TMPL_IF NAME="author"--><span class="author"> <!-- TMPL_VAR NAME="author"--> </span><!-- /TMPL_IF -->
+                </li>
+        <!-- /TMPL_LOOP -->
+                </ul>
+                <!-- TMPL_IF NAME="CGIvirtualshelves"-->
+                        <form name="f1" action="/cgi-bin/koha/virtualshelves/addbybiblionumber.pl" method="post">
+                <fieldset class="rows"><legend>Select a List</legend>
+                        <ol><li>    <label for="shelfnumber">Add to list:</label> <!-- TMPL_VAR NAME="CGIvirtualshelves" --></li></ol>
+                        <!-- TMPL_LOOP NAME="biblios" --> <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" /><!-- /TMPL_LOOP -->
+                <input type="hidden" name="modifyshelfcontents" value="1" />
+                <input type="hidden" name="confirmed" value="1" /></fieldset>
+                <fieldset class="action"><input type="submit" value="Save" class="submit" /> <a class="close cancel" href="#">Cancel</a></fieldset>
+                        </form>
+                        <p>...or...</p>
+                <!-- TMPL_ELSE -->
+                        <!-- TMPL_IF NAME="singleshelf" -->
+                                <form name="f1" action="/cgi-bin/koha/virtualshelves/addbybiblionumber.pl" method="post">
+                                <!-- TMPL_LOOP NAME="biblios" --> <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->"><!-- /TMPL_LOOP -->
+                                <input type="hidden" name="shelfnumber" value="<!-- TMPL_VAR NAME="shelfnumber" -->" />
+                                <input type="hidden" name="modifyshelfcontents" value="1" />
+                               <input type="hidden" name="confirmed" value="1" /></fieldset>
+                                <fieldset class="action"><input type="submit" value="Save" class="submit" /> <a class="close cancel" href="#">Cancel</a></fieldset>
+                                </form>
+                        <!-- /TMPL_IF -->
+                <!-- /TMPL_IF -->
+<!-- TMPL_ELSE -->
 
 <!-- TMPL_UNLESS NAME="biblioloop" -->
   <h3>Add 
         </li></ol>
     <fieldset class="action"><input type="submit" value="Save" class="submit" /></fieldset> </fieldset>
 </form>
-
+<!-- /TMPL_IF -->
 </div>
 
 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
index 8ae74a7..cdb4d4c 100644 (file)
@@ -184,7 +184,7 @@ body#basket p {
        padding:0pt;
 }
 
-#members,#opac-main-search,#opac-user-views .ui-tabs-nav,input,div.yui-b,h2 span.hint,td.resultscontrol,.pages,.suggestion,.views,#action,#export,#bibliodescriptions .ui-tabs-nav,#addshelf,fieldset.action {
+#members,#opac-main-search,#opac-user-views .ui-tabs-nav,input,div.yui-b,h2 span.hint,td.resultscontrol,.pages,.suggestion,.views,#action,#export,#bibliodescriptions .ui-tabs-nav,#addshelf,fieldset.action, .list-actions, .ft {
        display : none;
 }
 div#yui-main div.yui-b {
@@ -194,4 +194,4 @@ div#yui-main div.yui-b {
 div#userupdate input,div#userupdate textarea {
        display : inline;
        border : 0;
-}
\ No newline at end of file
+}
index a687d64..109d652 100644 (file)
@@ -8,9 +8,20 @@
     @import url(<!-- TMPL_VAR NAME="themelang" -->/css/print.css);
 </style>
     <!-- TMPL_ELSE --><!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-       <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
+       <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.checkboxes.pack.js"></script>
+       <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
        <script type="text/javascript">
        //<![CDATA[
+
+$(document).ready(function() 
+    { 
+        $("#itemst").tablesorter({
+                        headers: { 0: { sorter: false }}
+                }); 
+    } 
+); 
+    
+
 var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
 
 function tagSelected() {
@@ -89,7 +100,6 @@ function tagAdded() {
               tagAdded();
               return false;
           });
-          $("#tablehead").attr("colspan", $("#tablehead").attr("colspan") + 1);
         <!-- /TMPL_IF -->
         <!-- /TMPL_IF -->
        });
@@ -296,9 +306,12 @@ function tagAdded() {
             </form>
 
 <!-- TMPL_ELSE -->
+<!-- TMPL_UNLESS NAME="print_basket" -->
+<p style="border-top : 1px solid #E8E8E8;">
        <form action="/cgi-bin/koha/opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form">
-    <table>
-                               <!-- TMPL_UNLESS NAME="print_basket" --><tr><td id="tablehead" colspan="3" style="padding-bottom: 7px;"><a id="CheckAll" href="#">Select All</a> <a id="CheckNone" href="#">Clear All</a> | <b>Selected items :</b>
+    <a id="CheckAll" href="#">Select All</a> 
+    <a id="CheckNone" href="#">Clear All</a>
+    | <b>Selected items :</b>
 <span id="tag_hides">                
 <a href="#" onclick="delSelRecords(); return false;">Remove</a>
 <!-- TMPL_IF NAME="loggedinusername" -->
@@ -313,7 +326,16 @@ function tagAdded() {
        <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add"  style="display:inline"/>
        <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
      </span>
-</td></tr><!-- /TMPL_UNLESS -->
+<!-- /TMPL_UNLESS -->
+</p>
+    <table id="itemst">
+       <thead><tr>
+           <th>&nbsp;</th>
+           <th>Title</th>
+           <th>Item Type</th>
+           <th>Location</th>
+        </tr></thead>
+
         <!-- TMPL_LOOP NAME="BIBLIO_RESULTS" -->
             <!-- TMPL_IF NAME="even" -->
                 <tr class="highlight">
index 4a6bca2..6afd64a 100644 (file)
@@ -179,7 +179,7 @@ $(function() {
               <h3><a href="/cgi-bin/koha/opac-shelves.pl">Lists</a> <img src="<!-- TMPL_VAR NAME="themelang" -->/../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> <em><!-- TMPL_VAR NAME="shelfname" ESCAPE="html" --></em></h3>
               <!-- TMPL_IF NAME="itemsloop" -->
                 <!-- TMPL_IF NAME="manageshelf" -->
-                  <div>
+                  <div id="toolbar" class="list-actions">
                     <span class="checkall"></span>
                     <span class="clearall"></span>
                     |
@@ -194,6 +194,13 @@ $(function() {
                          <input type="hidden" value="1" name="DEL-<!-- TMPL_VAR NAME="shelfnumber" -->"/>
                          <input type="submit" class="deleteshelf" value="Delete List" onclick="return confirmDelete(_('Are you sure you want to remove this List?'));"/>
                       </form>
+<<<<<<< HEAD:koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tmpl
+=======
+
+                     <a class="print" href="opac-shelves.pl" onclick="print(); return false;">Print</a>
+
+                      <a href="#" class="send tag_hides" onclick="open(CGIBIN+'opac-sendshelf.pl?shelfid=<!-- TMPL_VAR NAME="shelfnumber" -->','win_form','dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100')">Send List</a>
+>>>>>>> cefbb72... Ticket 1110 : Balance carts and lists:koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tmpl
 <!-- TMPL_IF NAME="RequestOnOpac" -->
                       <span id="placehold"></span>
 <!-- /TMPL_IF -->
index fd3c2d6..69a2c06 100755 (executable)
@@ -61,6 +61,20 @@ use C4::Output;
 use C4::VirtualShelves qw/:DEFAULT GetRecentShelves/;
 use C4::Circulation;
 use C4::Auth;
+#splits incoming biblionumber(s) to array and adds each to shelf.
+sub AddBibliosToShelf {
+    my ($shelfnumber,@biblionumber)=@_;
+
+    # multiple bibs might come in as '/' delimited string (from where, i don't see), or as array.
+    if (scalar(@biblionumber) == 1) {
+        @biblionumber = (split /\//,$biblionumber[0]);
+    }
+    for my $bib (@biblionumber){
+        AddToShelfFromBiblio($bib, $shelfnumber);
+    }
+}
+
+
 
 #use it only to debug !
 use warnings;
@@ -83,13 +97,15 @@ my $query           = new CGI;
 my $biblionumber    = $query->param('biblionumber');
 
 # If set, then multiple item case.
-
+my @biblionumber   = $query->param('biblionumber');
 my $biblionumbers   = $query->param('biblionumbers');
+
 my $shelfnumber     = $query->param('shelfnumber');
 my $newvirtualshelf = $query->param('newvirtualshelf');
 my $category        = $query->param('category');
-my $confirmed        = $query->param('confirmed');
-my $sortfield          = $query->param('sortfield');
+my $sortfield      = $query->param('sortfield');
+my $confirmed       = $query->param('confirmed') || 0;
+
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
@@ -111,8 +127,9 @@ if ($biblionumbers) {
 $shelfnumber = AddShelf( $newvirtualshelf, $loggedinuser, $category, $sortfield )
   if $newvirtualshelf;
 if ( $shelfnumber || ( $shelfnumber == -1 ) ) {    # the shelf already exist.
+
     if ($confirmed == 1) {
-       AddBibliosToShelf($shelfnumber,@biblionumbers);
+       AddBibliosToShelf($shelfnumber,@biblionumber);
        print
     "Content-Type: text/html\n\n<html><body onload=\"window.opener.location.reload(true);window.close()\"></body></html>";
        exit;