You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by eh...@apache.org on 2007/02/25 22:17:06 UTC

svn commit: r511616 - in /lucene/solr/trunk/client/ruby/flare/app: controllers/browse_controller.rb views/browse/index.rhtml

Author: ehatcher
Date: Sun Feb 25 13:17:05 2007
New Revision: 511616

URL: http://svn.apache.org/viewvc?view=rev&rev=511616
Log:
Fix off-by-one error with paging, and wetly add going to the first page any time changes to constraints occur.

Modified:
    lucene/solr/trunk/client/ruby/flare/app/controllers/browse_controller.rb
    lucene/solr/trunk/client/ruby/flare/app/views/browse/index.rhtml

Modified: lucene/solr/trunk/client/ruby/flare/app/controllers/browse_controller.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/flare/app/controllers/browse_controller.rb?view=diff&rev=511616&r1=511615&r2=511616
==============================================================================
--- lucene/solr/trunk/client/ruby/flare/app/controllers/browse_controller.rb (original)
+++ lucene/solr/trunk/client/ruby/flare/app/controllers/browse_controller.rb Sun Feb 25 13:17:05 2007
@@ -24,7 +24,7 @@
         
     @results_per_page = 25
     
-    @start = (session[:page] - 1) * @results_per_page + 1
+    @start = (session[:page] - 1) * @results_per_page
     
     request = Solr::Request::Standard.new(:query => query,
                                           :filter_queries => filters,
@@ -51,12 +51,14 @@
 
   def add_query
     session[:queries] << {:query => params[:search][:query]}
+    session[:page] = 1
     redirect_to :action => 'index'
   end
   
   def update_query
     logger.debug "update_query: #{params.inspect}"
     session[:queries][params[:index].to_i][:query] = params[:value]
+    session[:page] = 1
     render :update do |page|
       page.redirect_to '/browse'
     end
@@ -65,27 +67,32 @@
   def invert_query
     q = session[:queries][params[:index].to_i]
     q[:negative] = !q[:negative]
+    session[:page] = 1
     redirect_to :action => 'index'
   end
 
   def remove_query
     session[:queries].delete_at(params[:index].to_i)
+    session[:page] = 1
     redirect_to :action => 'index'
   end
 
   def invert_filter
     f = session[:filters][params[:index].to_i]
     f[:negative] = !f[:negative]
+    session[:page] = 1
     redirect_to :action => 'index'
   end
   
   def remove_filter
     session[:filters].delete_at(params[:index].to_i)
+    session[:page] = 1
     redirect_to :action => 'index'
   end
   
   def add_filter
     session[:filters] << {:field => params[:field_name], :value => params[:value], :negative => (params[:negative] ? true : false)} 
+    session[:page] = 1
     redirect_to :action => 'index'
   end
   

Modified: lucene/solr/trunk/client/ruby/flare/app/views/browse/index.rhtml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/flare/app/views/browse/index.rhtml?view=diff&rev=511616&r1=511615&r2=511616
==============================================================================
--- lucene/solr/trunk/client/ruby/flare/app/views/browse/index.rhtml (original)
+++ lucene/solr/trunk/client/ruby/flare/app/views/browse/index.rhtml Sun Feb 25 13:17:05 2007
@@ -60,7 +60,7 @@
 
 </div>
 
-<div class="resultsheader">Results <strong><%=@start%>-<%=[@response.total_hits,@results_per_page + @start -1].min%></strong> of <strong><%=@response.total_hits%></strong></div>
+<div class="resultsheader">Results <strong><%=@start + 1%>-<%=[@response.total_hits,@results_per_page + @start].min%></strong> of <strong><%=@response.total_hits%></strong></div>
 
 <div id="results"><table cellpadding="10">
   <% @response.each do |doc| %>
@@ -69,7 +69,7 @@
 </table>
 </div>
 
-<div class="resultsheader"><%=link_to_if session[:page] != 1,  "<<", :page => session[:page] - 1%> Results <strong><%=@start%>-<%=[@response.total_hits,@results_per_page + @start -1].min%></strong> of <strong><%=@response.total_hits%></strong><%=link_to_if session[:page] < (@response.total_hits.to_f / @results_per_page).ceil, ">>", :page => session[:page] + 1%></div>
+<div class="resultsheader"><%=link_to_if session[:page] != 1,  "<<", :page => session[:page] - 1%> Results <strong><%=@start + 1%>-<%=[@response.total_hits,@results_per_page + @start].min%></strong> of <strong><%=@response.total_hits%></strong><%=link_to_if session[:page] < (@response.total_hits.to_f / @results_per_page).ceil, ">>", :page => session[:page] + 1%></div>