70 lines
1.7 KiB
Ruby
70 lines
1.7 KiB
Ruby
class GalleriesController < ApplicationController
|
|
def index
|
|
albums = Album.filter_by_categories.collect do |a|
|
|
{
|
|
"album-name" => a.name,
|
|
"link_to_show" => OrbitHelper.url_to_show(a.to_param),
|
|
"thumb-src" => a.cover_path || "/assets/gallery/default.jpg"
|
|
}
|
|
end
|
|
{
|
|
"data" => albums,
|
|
"extras" => {"widget-title"=>"Gallery"}
|
|
}
|
|
|
|
end
|
|
|
|
def show
|
|
params = OrbitHelper.params
|
|
album = Album.find_by_param(params[:uid])
|
|
images = album.album_images.collect do |a|
|
|
{
|
|
"link_to_show" => "/" + I18n.locale.to_s + params[:url] + "/-" + a.id.to_s + "?method=theater",
|
|
"thumb-src" => a.file.thumb.url
|
|
}
|
|
end
|
|
{
|
|
"images" => images,
|
|
"data" => {"album-title"=>album.name}
|
|
}
|
|
end
|
|
|
|
def widget
|
|
albums = Album.filter_by_widget_categories
|
|
params = OrbitHelper.params
|
|
|
|
images = []
|
|
while images.count < 9
|
|
albums.each do |album|
|
|
img = album.album_images.sample
|
|
if !images.include?(img) && img != nil
|
|
images << img
|
|
end
|
|
end
|
|
end
|
|
images = images.collect do |a|
|
|
{
|
|
"link_to_show" => OrbitHelper.widget_more_url + "/-" + a.id.to_s + "?method=theater",
|
|
"thumb-src" => a.file.thumb.url
|
|
}
|
|
end
|
|
{
|
|
"images" => images,
|
|
"extras" => {"widget-title"=>"Gallery","more_url" => OrbitHelper.widget_more_url}
|
|
}
|
|
end
|
|
|
|
def theater
|
|
params = OrbitHelper.params
|
|
image = AlbumImage.find(params[:uid])
|
|
albumid = image.album_id
|
|
album = Album.find(albumid)
|
|
images = album.album_images.all
|
|
{
|
|
"album" => album,
|
|
"images" => images,
|
|
"image" => image,
|
|
"back_to_albums" => OrbitHelper.url_to_show(album.to_param)
|
|
}
|
|
end
|
|
end |