[Koha-patches] [PATCH] OPAC search by shelving location

Ian Walls ian.walls at bywatersolutions.com
Mon Aug 23 22:47:09 CEST 2010


Rebased patch of PTFS's Bug4329 branch of Harley.  Implements OPAC advance
search limitation by shelving location (a series of checkboxes, much like
limit by itemtype/ccode)

Signed-off-by: Ian Walls <ian.walls at bywatersolutions.com>
---
 koha-tmpl/opac-tmpl/prog/en/css/opac.css           |   25 +++++++++++++++++++-
 .../opac-tmpl/prog/en/modules/opac-advsearch.tmpl  |   14 +++++++++++
 opac/opac-search.pl                                |   18 ++++++++++++++
 3 files changed, 56 insertions(+), 1 deletions(-)

diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
index 5142dd2..b60a4b8 100644
--- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css
+++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
@@ -649,6 +649,29 @@ input.deleteshelf {
 	background-color : #F8F8EB;
 }
 
+/* the shelving location list in advanced search */
+#advsearch-shelvingloc table {
+	border-collapse : separate;
+	border-spacing : 3px;
+	border : 0px;
+	margin : 0px;
+	background-color : white;
+	border : 0px solid #D8DEB8;
+}
+
+#advsearch-shelvingloc table tr td {
+	background-color : #F8F8EB;
+	border : 0px;
+	margin : 0px;
+	width : 700px;
+}
+
+#advsearch-shelvingloc td {
+	font-size : 0.8em;
+	background-color : #F8F8EB;
+}
+
+
 body#advsearch #breadcrumbs {
 	line-height : 1px;
 	height : 1px;
@@ -1957,4 +1980,4 @@ div.ft {
 	font-size:90%;
 	list-style:disc outside url("../../images/item-bullet.gif");
 	padding:0.2em 0;
-}
\ No newline at end of file
+}
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
index 52b00e7..61eaede 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
@@ -157,6 +157,20 @@
                 </select></p><!-- <a href="">Show all languages</a>-->
     <!-- /LANGUAGE LIMIT -->
     </fieldset>
+    <div id="advsearch-shelvingloc" class="container">
+	<fieldset>
+    <legend>Limit to any of the following shelving locations:</legend>
+    <table>
+        <tr>
+      <!--TMPL_LOOP Name="shelvinglocsloop"-->
+        <td><input type="checkbox" id="<!-- TMPL_VAR NAME="ccl" -->-<!--TMPL_VAR Name="number" -->" name="limit" value="mc-<!-- TMPL_VAR NAME="ccl" -->:<!--TMPL_VAR Name="code" -->"/><label for="<!-- TMPL_VAR NAME="ccl" -->-<!--TMPL_VAR Name="number" -->">
+        <!--TMPL_VAR Name="description" --></label></td>
+        <!-- TMPL_UNLESS name="count5" --><!-- TMPL_UNLESS name="__last__" --></tr><tr><!-- /TMPL_UNLESS --><!-- /TMPL_UNLESS -->
+      <!--/TMPL_LOOP-->
+		</tr>
+    </table>
+	</fieldset>
+    </div>
 <!-- TMPL_IF NAME="expanded_options" -->
     <!--TMPL_IF Name="usmarc"-->
         <!-- SUBTYPE LIMITS -->
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index 30bc34a..d847286 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -149,6 +149,24 @@ $template->param(
 my $languages_limit_loop = getAllLanguages();
 $template->param(search_languages_loop => $languages_limit_loop,);
 
+# add support for searching by shelving location
+my @shelvinglocsloop;
+my $selected=1;
+my $cnt2;
+my $shelflocations =GetAuthorisedValues("LOC");
+for my $thisloc (sort {$a->{'lib'} cmp $b->{'lib'}} @$shelflocations) {
+    my %row =(
+                number => $cnt2++,
+                ccl => 'loc',
+                code => $thisloc->{authorised_value},
+                selected => $selected,
+                description => $thisloc->{'lib'},
+                count5 => $cnt2 % 4,
+              );
+    	$selected = 0; # set to zero after first pass through
+    push @shelvinglocsloop, \%row;
+}
+$template->param(shelvinglocsloop => \@shelvinglocsloop);
 # load the Type stuff
 my $itemtypes = GetItemTypes;
 # the index parameter is different for item-level itemtypes
-- 
1.5.6.5



More information about the Koha-patches mailing list