From 0ce35c692d9d386d56f7f139feeba08364a36f62 Mon Sep 17 00:00:00 2001 From: Harry Bomrah Date: Thu, 13 Oct 2016 16:23:49 +0530 Subject: [PATCH] added random albums --- app/controllers/galleries_controller.rb | 52 ++++++++++++++++++------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/app/controllers/galleries_controller.rb b/app/controllers/galleries_controller.rb index bf6fa04..6dc0234 100644 --- a/app/controllers/galleries_controller.rb +++ b/app/controllers/galleries_controller.rb @@ -1,26 +1,52 @@ class GalleriesController < ApplicationController def index - # albums = Album.filter_by_categories + params = OrbitHelper.params + page = Page.where(:page_id => params[:page_id]).first + if page.layout.starts_with?("random") + data = get_random_data + else + data = get_data + end - params = OrbitHelper.params + data + end - albums = Album.filter_by_categories([],false).filter_by_tags.sample(OrbitHelper.page_data_count) - albums = Kaminari.paginate_array(albums).page(params[:page]).per(OrbitHelper.page_data_count) - - galleries = albums.collect do |a| - { - "album-name" => a.name, - "album-description" => a.description, - "link_to_show" => OrbitHelper.url_to_show(a.to_param), - "thumb-src" => a.cover_path || "/assets/gallery/default.jpg" - } + def get_random_data + categories = OrbitHelper.page_categories + if categories.include?("all") + albums = Album.all.sample(OrbitHelper.page_data_count) + else + albums = Album.where(:category_id.in => categories).filter_by_tags.sample(OrbitHelper.page_data_count) + end + galleries = albums.collect do |a| + { + "album-name" => a.name, + "album-description" => a.description, + "link_to_show" => OrbitHelper.url_to_show(a.to_param), + "thumb-src" => a.cover_path || "/assets/gallery/default.jpg" + } + end + { + "albums" => galleries, + "extras" => {"widget-title"=>"Gallery"}, + } + end + + def get_data + albums = Album.filter_by_categories.filter_by_tags + galleries = albums.collect do |a| + { + "album-name" => a.name, + "album-description" => a.description, + "link_to_show" => OrbitHelper.url_to_show(a.to_param), + "thumb-src" => a.cover_path || "/assets/gallery/default.jpg" + } end { "albums" => galleries, "extras" => {"widget-title"=>"Gallery"}, "total_pages" => albums.total_pages } - end def show