Commit 02911673

mo khan <mo@mokhan.ca>
2014-09-24 03:57:47
add newest/oldest sort.
1 parent 9704c79
Changed files (3)
app
app/models/creation_repository.rb
@@ -10,7 +10,7 @@ class CreationRepository
   end
 
   def visible_creations
-    connection.distinct.includes(:user, :photos).joins(:photos).where('photos.image_processing' => nil)
+    connection.unscoped.distinct.includes(:user, :photos).joins(:photos).where('photos.image_processing' => nil)
   end
 
   private
app/services/application/find_all_creations_query.rb
@@ -6,7 +6,17 @@ class FindAllCreationsQuery
   end
 
   def fetch(params)
-    @repository.visible_creations.page(params[:page]).per(params[:per_page] || DEFAULT_PER_PAGE)
+    @repository.visible_creations.order(created_at: sort(params)).page(params[:page]).per(per_page(params))
+  end
+
+  private
+
+  def per_page(params)
+    params[:per_page] || DEFAULT_PER_PAGE
+  end
+
+  def sort(params)
+    params[:sort] == "newest" ? :asc : :desc
   end
 end
 
app/views/creations/index.html.erb
@@ -17,6 +17,12 @@
 <% end -%>
 
 <div id="bakery">
+  <div class="row-fluid">
+    <ul class="nav nav-tabs">
+      <li class="<%= params[:sort].blank? || params[:sort] == "newest" ? "active" : "" %>"><%= link_to "Newest", creations_path(sort: :newest) %></li>
+      <li class="<%= params[:sort] == "oldest" ? "active" : "" %>"><%= link_to "Oldest", creations_path(sort: :oldest) %></li>
+    </ul>
+  </div>
   <%= render partial: 'index' %>
 </div>