Changeset 1201

Show
Ignore:
Timestamp:
2008-10-01 21:50:22 (3 months ago)
Author:
gaspard
Message:

commit d3c99f242a0406c8e3aa8b4f65603d2653b76c8c
Author: Gaspard Bucher <gaspard@teti.ch>

Small change to pagination in order to use "nodes in site limit 5 paginate p" instead of "nodes in site limit 5 paginate param:p".
This makes it easier to get/set pagination key and avoids different syntax from zafu <r:nodes in='site' limit='5' paginate='p'>.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/node_query.rb

    r1197 r1201  
    271271        @errors << "invalid paginate clause '#{paginate}' (used without limit)" 
    272272        nil 
    273       elsif (fld = map_literal("[#{paginate}]", :ruby)) && (page_size = @limit[/ LIMIT (\d+)/,1]) 
     273      elsif (fld = map_literal("[param:#{paginate}]", :ruby)) && (page_size = @limit[/ LIMIT (\d+)/,1]) 
    274274        @page_size = [2,page_size.to_i].max 
    275275        " OFFSET \#{((#{fld}.to_i > 0 ? #{fld}.to_i : 1)-1)*#{page_size.to_i}}" 
  • trunk/lib/parser/lib/rules/zena.rb

    r1199 r1201  
    21922192        page_size = params[:limit].to_i 
    21932193        page_size = 20 if page_size < 1 
    2194         parts[-1] << " limit #{page_size} paginate param:#{paginate.gsub(/[^a-z_A-Z]/,'')}" 
     2194        parts[-1] << " limit #{page_size} paginate #{paginate.gsub(/[^a-z_A-Z]/,'')}" 
    21952195      else 
    21962196        [:limit, :offset].each do |k| 
     
    24532453        end 
    24542454         
    2455         if query && query.pagination_key && (pagination_key = query.pagination_key[/param:([a-zA-Z_]+)/,1]
     2455        if query && (pagination_key = query.pagination_key
    24562456          out "<% set_#{pagination_key}_nodes = #{query.finder(:count)}; set_#{pagination_key}_count = (set_#{pagination_key}_nodes / #{query.page_size.to_f}).ceil; set_#{pagination_key} = [1,params[:#{pagination_key}].to_i].max -%>" 
    24572457          @context[:paginate] = pagination_key 
  • trunk/test/fixtures/files/Node-test.zafu

    r1198 r1201  
    4444  <p><b do='[p_nodes]'/> nodes</p> 
    4545  <p> 
    46     <r:link mode='test' page='previous' do='t'>previous</r:link> 
     46    <r:link mode='test' update='pagir' page='previous' do='t'>previous</r:link> 
    4747    <r:show var='p'/>/<r:show var='p_count'/> 
    48     <r:link mode='test' page='next' do='t'>next</r:link> 
     48    <r:link mode='test' update='pagir' page='next' do='t'>next</r:link> 
    4949  </p> 
    5050<ul>