From e3e1871a8fe51cf6e0f5e1b10baade819e342125 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Sun, 25 Aug 2013 23:38:50 +0200 Subject: [PATCH] Better use of Rails' tag helpers. Added list view. --- app/controllers/packages_controller.rb | 18 ++++++---- ...=> _packages_search_results_grid.html.erb} | 2 +- .../_packages_search_results_list.html.erb | 34 +++++++++++++++++++ app/views/packages/index.html.erb | 33 +++++++++--------- 4 files changed, 63 insertions(+), 24 deletions(-) rename app/views/packages/{_packages_search_results.html.erb => _packages_search_results_grid.html.erb} (96%) create mode 100644 app/views/packages/_packages_search_results_list.html.erb diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index 9c65e96..c24c7d0 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -3,16 +3,22 @@ class PackagesController < ApplicationController @packages = Package.includes(:screenshots) if params[:search] - @packages = @packages.text_search(params[:search]) + @packages = @packages.text_search(params[:search][:query]) end - if params[:with_screenshots]=='yes' - # Limit the packages to those that have approved screenshots. - # Also eager-load the screenshots. - @packages = @packages.where("screenshots.approved"=>true) - end + #if params[:with_screenshots]=='yes' + # # Limit the packages to those that have approved screenshots. + # # Also eager-load the screenshots. + # @packages = @packages.where("screenshots.approved"=>true) + #end @packages = @packages.page(params[:page]).per(12) + + if params[:search][:display]=='list' + @view='list' + else + @view='grid' + end end def with_screenshots diff --git a/app/views/packages/_packages_search_results.html.erb b/app/views/packages/_packages_search_results_grid.html.erb similarity index 96% rename from app/views/packages/_packages_search_results.html.erb rename to app/views/packages/_packages_search_results_grid.html.erb index fd4da71..e7b7862 100644 --- a/app/views/packages/_packages_search_results.html.erb +++ b/app/views/packages/_packages_search_results_grid.html.erb @@ -1,4 +1,4 @@ -<% # Show search results %> +<% # Show search results - grid style %> <% if @packages.length>0 %> <% @packages.each do |package| %> diff --git a/app/views/packages/_packages_search_results_list.html.erb b/app/views/packages/_packages_search_results_list.html.erb new file mode 100644 index 0000000..953af11 --- /dev/null +++ b/app/views/packages/_packages_search_results_list.html.erb @@ -0,0 +1,34 @@ +<% # Show search results - list style %> + +<% if @packages.length>0 %> + <% @packages.each do |package| %> +
+ +
+ <% if package.screenshots.length>0 %> + <% screenshot = package.screenshots.first %> +
+ <%= link_to image_tag(screenshot.image_url('small')), + screenshot.image_url('large'), + :class => 'fancybox thumbnail', + :title => ( + "#{package.description}" + + (screenshot.description.blank? ? '' : " (#{screenshot.description})") + ) + %> +
+ <% else %> +
+ <%= link_to image_tag("/thumbnail-404.png"), "/path/to/upload/package" %> +
+

<%= package.name %>

+

<%= package.description %>

+ <% end %> +
+ +
+ descr +
+
+ <% end %> +<% end %> diff --git a/app/views/packages/index.html.erb b/app/views/packages/index.html.erb index 93f0916..d69d763 100644 --- a/app/views/packages/index.html.erb +++ b/app/views/packages/index.html.erb @@ -23,28 +23,23 @@ --> <%= form_tag(url_for, method: "get", class: "navbar-form navbar-left form-search", role: "search") do %>
- + <%= search_field_tag('search[query]', nil, placeholder:'Search...', size:30, maxlength:200, class:'form-control') %>
-
- <%= label('search', 'display', class: 'btn btn-default') do %> + +
+ <%= radio_button('search', 'display', 'grid') %> - - <% end %> - <%= label('search', 'display', class: 'btn btn-default') do %> + + + <%= radio_button('search', 'display', 'list') %> - - <% end %> - - -
+ + +
- <% end %> + <% end %>