Changeset 1351

Show
Ignore:
Timestamp:
08/13/08 18:10:17 (4 months ago)
Author:
alban
Message:

Filtrage des episodes sans contenu et par tag. Fixes #21

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/app/controllers/episode_controller.rb

    r1307 r1351  
    4040  def list 
    4141    @show = current_user.shows.find(params[:show]) 
    42     @episodes = @show.episodes.paginate(:per_page => 10, :page => (params[:page] or 1)) 
     42    @episodes = @show.episodes 
     43 
     44    @filter = params[:filter] 
     45    case @filter 
     46      when 'without_content' 
     47        @episodes = @episodes.find_all { |episode| episode.contents.empty? } 
     48    end 
     49 
     50    if params[:tag] 
     51      @tag = Tag.find(params[:tag]) 
     52      @episodes = @episodes.find_all { |episode| episode.tags.include? @tag } 
     53    end 
     54 
     55    @episode_count = @episodes.size 
     56 
     57    @episodes = @episodes.paginate(:per_page => 10, :page => (params[:page] or 1)) 
    4358  end 
    4459 
  • trunk/app/views/episode/list.html.erb

    r1307 r1351  
    11<h2><%= h @show.name %> - Episodes</h2> 
     2 
     3<div id="selection"> 
     4  <p id="selection-filter"> 
     5    <%= link_to "Tous", :show => @show %> | 
     6    Seulement : 
     7    <%= link_to "Sans contenu", :show => @show, :filter => :without_content, :tag => @tag %> 
     8  </p> 
     9 
     10  <p id="selection-tag"> 
     11    <% for tag in @show.tags.first(10) %> 
     12      <%= link_to tag.name.gsub(' ','&nbsp;'), { :show => @show, :tag => tag, :filter => @filter }, :class => "rel-tag" %> 
     13    <% end %> 
     14  </p> 
     15 
     16  <p> 
     17    <%= @filter == 'without_content' ? "Sans contenu" : "Tous" %> 
     18    <%= "avec l'étiquette #{@tag.name}" if @tag %> 
     19    › 
     20    <%= pluralize @episode_count, 'épisode trouvé', 'épisodes trouvés' %> 
     21  </p> 
     22</div> 
     23 
    224 
    325<% unless @episodes.empty? %> 
  • trunk/public/stylesheets/screen.css

    r1310 r1351  
    120120 
    121121.textile_editor_help { padding: 4px 0 10px 10px; font-size: 0.9em; font-style: italic; } 
     122 
     123#selection li { display: inline; }