Changing the way items are added to the cart and and lists from the searchresults...
authorOwen Leonard <oleonard@myacpl.org>
Tue, 29 Jan 2008 06:13:38 +0000 (00:13 -0600)
committerJoshua Ferraro <jmf@liblime.com>
Tue, 29 Jan 2008 13:58:58 +0000 (07:58 -0600)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
koha-tmpl/opac-tmpl/prog/en/css/opac.css
koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
koha-tmpl/opac-tmpl/prog/en/js/script.js
koha-tmpl/opac-tmpl/prog/en/modules/opac-addbybiblionumber.tmpl
koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl
koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tmpl
opac/opac-addbybiblionumber.pl

index 0ce0b5a..193428d 100644 (file)
@@ -484,7 +484,7 @@ a .term {
        border-bottom : 1px solid #e8e8e8;
        font-size : 90%;
        margin : 0;
-       padding : .4em .2em;
+       padding : .7em .2em;
        text-align : center;
 }
 
@@ -697,9 +697,30 @@ a.cancel {
        margin-right : .1em;
 }
 
-.resultscontrol input, .resultscontrol label, .resultscontrol select {
+.resultscontrol, .resultscontrol select {
        font-size: 90%;
-       margin-top :  4px;
+}
+
+.cartlist {
+       margin-top : 5px;
+}
+
+.cartlist input.submit {
+       background-color : #d8deb8;
+       color : #333;
+       font-size : 87%;
+       padding : 2px 0;
+       margin : 0 0 0 0;
+}
+
+#CheckAll, #CheckNone {
+       font-weight : normal;
+       margin : 0 .5em;
+}
+
+.resultscontrol label {
+       font-weight : bold;
+       margin-left : .5em;
 }
 
 .resort {
index 21f4c5b..0bb0f8b 100644 (file)
@@ -1,5 +1,6 @@
 </title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<link rel="shortcut icon" href="<!-- TMPL_VAR NAME="themelang" -->/includes/favicon.ico" type="image/x-icon" />
 <!-- TMPL_IF name="RSS" --><link rel="alternate" type="application/rss+xml" title="Koha - RSS" href="<!-- TMPL_VAR name="site_url"-->/opac-rss.pl?q=<!-- TMPL_VAR name="searchdesc"-->" /><!-- /TMPL_IF -->
 <link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR NAME="themelang" -->/lib/yui/button.css" />
 <link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR NAME="themelang" -->/lib/yui/menu.css" />
index 4330224..dab5bee 100644 (file)
@@ -38,6 +38,9 @@ function Dopop(link) {
 
 $(document).ready(function(){
        if(basketcount){ updateBasket(basketcount,document) }   
+       $(".close").click(function(){
+               window.close();
+       });
 });
        
 YAHOO.util.Event.onContentReady("changelanguage", function () {
index 4e65cbc..eaf9579 100644 (file)
@@ -8,10 +8,10 @@
 <body>
 <div id="custom-doc" class="yui-t7">
 
-<!-- TMPL_IF NAME="multiple"-->
-    <h1>Add <!-- TMPL_VAR NAME="total"--> items to a list:</h1>
+<!-- TMPL_UNLESS NAME="newshelf" --><!-- 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 a list:</h1>
+       <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> 
 <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" /></fieldset>
-    <fieldset class="action"><input type="submit" value="Save" class="submit" /> <a class="cancel" href="#" onclick="closePopup();">Cancel</a></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/opac-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" /></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_UNLESS -->
 
-<form name="f2" method="post" action="/cgi-bin/koha/opac-addbybiblionumber.pl">
+<!-- TMPL_UNLESS NAME="singleshelf" --><form name="f2" method="post" action="/cgi-bin/koha/opac-addbybiblionumber.pl">
 <fieldset class="rows">    <legend>Add to a New List:</legend>
         <ol><li>
             <label for="newvirtualshelf">
                 <option value="2">Public</option>
             </select></li></ol></fieldset>
  <!-- TMPL_LOOP NAME="biblios" --> <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->"><!-- /TMPL_LOOP -->
-    <fieldset class="action"><input type="submit" value="Save" class="submit" /> <a class="cancel" href="#" onclick="closePopup();">Cancel</a></fieldset>
-</form>
+    <fieldset class="action"><input type="submit" value="Save" class="submit" /> <a class="close cancel" href="#">Cancel</a></fieldset>
+</form><!-- /TMPL_UNLESS -->
 
 <p align="center">
     <br /><br />
-    <a href="javascript:closePopup();">close this window.</a>
+    <a href="#" class="close">close this window.</a>
 </p>
 
-<script type="text/javascript" language="javascript">
-    function closePopup () {
-        window.close();
-    }
-</script>
-
 </body>
 </html>
index 038d64c..6ce4bf6 100644 (file)
@@ -15,33 +15,42 @@ $(document).ready(function(){
     $('#sort_by').change(function() {
         $('#bookbag_form').submit();
     });
-       $("span.bookbag").html("<input type=\"button\" class=\"icon shelf\" value=\"Add checked items to book bag\" id=\"addMultiple\" />");
-       $('#addMultiple').click(function(){
-               addMultiple();
+       $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">Clear All</a>");
+       $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">Select All</a>");
+       $("span.addto").html("<label for=\"addto\">Add to: </label><select name=\"addto\" id=\"addto\"><option value=\"\"></option><!-- TMPL_IF name="opacbookbag" --><option value=\"addtocart\">Cart</option><!-- /TMPL_IF --><!-- TMPL_IF NAME="virtualshelves" --><!-- TMPL_IF NAME="loggedinusername" --><optgroup label=\"Lists:\"><!-- TMPL_IF NAME="barshelves" --><!-- TMPL_LOOP NAME="barshelvesloop" --><!-- TMPL_IF EXPR="category == 1" --><option id=\"s<!-- TMPL_VAR NAME="shelfnumber" -->\" value=\"addtolist\"><!-- TMPL_VAR NAME="shelfname" --></option><!-- /TMPL_IF --><!-- /TMPL_LOOP --><!-- /TMPL_IF --><option value=\"newlist\">[ New List ]</option></optgroup><!-- TMPL_ELSE --><option value=\"newlist\">List</option><!-- /TMPL_IF --><!-- /TMPL_IF --></select> <input type=\"submit\" class=\"submit\" value=\"Save\" />");
+       $("#addto").change(function(){
+               cartList();
+       });
+       $(".addto").find("input:submit").click(function(){
+               cartList();
                return false;
-       })
-       $("span.lists").html("<input type=\"button\" class=\"icon shelf\" value=\"Add Checked Items to Lists\" id=\"addtoList\" />");
-       $('#addtoList').click(function(){
-               <!-- TMPL_IF NAME="loggedinusername" -->if (vShelfAdd()) {
-                       Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?' + vShelfAdd());
+       });
+       function cartList(){
+                       if($("#addto").find("option:selected").attr("value") == "addtolist"){
+                       var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
+                       <!-- TMPL_IF NAME="loggedinusername" -->if (vShelfAdd()) {
+                       Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?selectedshelf='+shelfnumber+'&' + vShelfAdd());
                        }<!-- TMPL_ELSE --> alert('You must be logged in to create or add to Lists'); <!-- /TMPL_IF -->
+                       return false;                   
+               } else if($("#addto").find("option:selected").attr("value") == "newlist"){
+                       <!-- TMPL_IF NAME="loggedinusername" -->if (vShelfAdd()) {
+                       Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?newshelf=1&' + vShelfAdd());
+                       }<!-- TMPL_ELSE --> alert('You must be logged in to create or add to Lists'); <!-- /TMPL_IF -->
+                       return false;   
+               }
+               if($("#addto").find("option:selected").attr("value") == "addtocart"){
+                       addMultiple();
                        return false;
-       });
-       $("span.clearall").html("<input type=\"reset\" value=\"Clear All\" class=\"icon shelf\" />");
-    $("span.checkall").html("<a href=\"#\" id=\"CheckAll\"><img src=\"/opac-tmpl/prog/images/checkall.gif\" alt=\"Check All\" border=\"0\" /></a><a href=\"#\" id=\"CheckNone\"><img src=\"/opac-tmpl/prog/images/checknone.gif\" alt=\"Check None\" border=\"0\" /></a>");
-       $('#CheckNone').hide();
+                }
+       }
     $("#CheckAll").click(function(){
         $("#bookbag_form").checkCheckboxes();
-        $('#CheckAll').hide();
-               $('#CheckNone').show();
         return false;
     });
     $("#CheckNone").click(function(){
         $("#bookbag_form").unCheckCheckboxes();
-        $('#CheckAll').show();
-               $('#CheckNone').hide();
         return false;
-    });
+    }); 
 });</script>
 
 
@@ -147,10 +156,11 @@ $(document).ready(function(){
         <table>
                <tr><td colspan="3" class="resultscontrol">
                <div class="resort"> <select id="sort_by" name="sort_by"> <!--TMPL_INCLUDE Name="resort_form.inc"--> </select> <input type="submit" class="submit clearfix" id="sortsubmit" value="Go" /></div>
-        <!-- TMPL_IF EXPR="opacbookbag || virtualshelves" --><span class="checkall"></span>
-        <!-- TMPL_IF name="opacbookbag" --><span class="bookbag"></span><!-- /TMPL_IF --> 
-               <!-- TMPL_IF NAME="virtualshelves" --><span class="lists"></span><!-- /TMPL_IF -->
-               <span class="clearall"></span><!-- /TMPL_IF -->
+        <!-- TMPL_IF EXPR="opacbookbag || virtualshelves" --><div class="cartlist"><span class="checkall"></span>
+               <span class="clearall"></span>
+               <span class="addto"></span></div>
+               <!-- /TMPL_IF -->
+
         </td></tr>
             <!-- Actual Search Results -->
             <!-- TMPL_LOOP NAME="SEARCH_RESULTS" -->
index a84b114..6e2c83f 100644 (file)
                <div class="dialog alert">A record matching barcode <b><!-- TMPL_VAR NAME="duplicatebiblio" --></b> has already been added.</div>
                <!-- /TMPL_IF --> 
                <!-- TMPL_IF NAME="delete_ok" -->
-                       <p class="message">Shelf <!-- TMPL_VAR NAME="delete_ok" --> Deleted.</p>
+                       <div class="dialog message">Shelf <!-- TMPL_VAR NAME="delete_ok" --> Deleted.</div>
                <!-- /TMPL_IF -->
                <!-- TMPL_IF NAME="delete_fail" -->
-                       <p class="error">ERROR: Database error. Delete (shelf number <!-- TMPL_VAR NAME="delete_fail" -->) failed.</p>
+                       <div class="dialog message">ERROR: Database error. Delete (shelf number <!-- TMPL_VAR NAME="delete_fail" -->) failed.</div>
                <!-- /TMPL_IF -->
                <!-- TMPL_IF NAME="unrecognized" -->
-                       <p class="error">ERROR: Shelf number <!-- TMPL_VAR NAME="unrecognized" --> unrecognized.</p>
+                       <div class="dialog message">ERROR: Shelf number <!-- TMPL_VAR NAME="unrecognized" --> unrecognized.</div>
                <!-- /TMPL_IF -->
        </div>
 </div>
@@ -93,7 +93,7 @@
                 <!-- /TMPL_LOOP --><!-- /itemsloop -->
     </table>
             <!-- TMPL_ELSE -->
-        <div class="message">This List is empty.  You can add to your lists from the results of any <a href="opac-main.pl">search</a>!</div>
+        <div class="dialog message">This List is empty.  You can add to your lists from the results of any <a href="opac-main.pl">search</a>!</div>
             <!-- /TMPL_IF --><!-- /itemsloop -->
     <!-- /TMPL_IF --><!-- /viewshelf -->
 
index 497b869..c2b719d 100755 (executable)
@@ -32,6 +32,8 @@ use C4::Output;
 
 my $query        = new CGI;
 my @biblionumber = $query->param('biblionumber');
+my $selectedshelf = $query->param('selectedshelf');
+my $newshelf = $query->param('newshelf');
 my $shelfnumber  = $query->param('shelfnumber');
 my $newvirtualshelf = $query->param('newvirtualshelf');
 my $category     = $query->param('category');
@@ -63,13 +65,23 @@ if ($shelfnumber && ($shelfnumber != -1)) {
        exit;
 }
 else {
+       if($selectedshelf){
+       # adding to specific shelf
+       my ( $singleshelf, $singleshelfname, $singlecategory ) = GetShelf( $query->param('selectedshelf') );
+                               $template->param(
+                               singleshelf             => 1,
+                               shelfnumber         => $singleshelf,
+                               shelfname           => $singleshelfname,
+                               "category$singlecategory" => 1
+                       );
+       } else {
+       # offer choice of shelves
     my ($shelflist) = GetShelves( $loggedinuser, 3 );
     my @shelvesloop;
     my %shelvesloop;
     foreach my $element ( sort keys %$shelflist ) {
         push( @shelvesloop, $element );
                $shelvesloop{$element} = $shelflist->{$element}->{'shelfname'};
-    }
 
     my $CGIvirtualshelves;
     if ( @shelvesloop > 0 ) {
@@ -81,7 +93,13 @@ else {
             -tabindex => '',
             -multiple => 0
         );
+
+       $template->param (
+               CGIvirtualshelves       => $CGIvirtualshelves,
+       );
+    }
     }
+       }
 
        my @biblios;
        for my $bib (@biblionumber) {
@@ -93,14 +111,11 @@ else {
                        } );
        }
        $template->param (
+               newshelf => $newshelf,
                multiple => (scalar(@biblios) > 1),
                total    => scalar @biblios,
                biblios  => \@biblios,
        );
 
-       $template->param (
-               CGIvirtualshelves       => $CGIvirtualshelves,
-       );
-
        output_html_with_http_headers $query, $cookie, $template->output;
 }