archive/app/controllers/archives_controller.rb

85 lines
2.1 KiB
Ruby
Raw Normal View History

2014-05-14 11:52:06 +00:00
class ArchivesController < ApplicationController
def index
categories = OrbitHelper.page_categories
@categories = []
if categories.first == "all"
module_app = OrbitHelper.this_module_app
@categories = module_app.categories.collect do |cat|
{
"title" => cat.title,
"id" => cat.id.to_s
}
end
else
categories.each do |cat|
c = Category.find(cat)
@categories << {"title" => c.title, "id" => c.id.to_s}
end
end
cats = @categories.collect do |cat|
archives = ArchiveFile.where(:category_id => cat["id"]).order_by(:sort_number=>'asc').collect do |archive|
2014-06-18 10:07:10 +00:00
statuses = archive.statuses_with_classname.collect do |status|
{
"status" => status["name"],
"status-class" => "status-#{status['classname']}"
}
end
files = archive.archive_file_multiples.order_by(:sort_number=>'asc').collect do |file|
2014-05-14 11:52:06 +00:00
{
"file-name" => file.file_title,
"file-type" => file.file.file.extension.downcase,
"file-url" => file.file.url
}
end
{
"archive-title" => archive.title,
2014-06-18 10:07:10 +00:00
"statuses" => statuses,
2014-05-14 11:52:06 +00:00
"files" => files
}
end
{
"category-title" => cat["title"],
"archives" => archives
}
end
{
"categories" => cats,
2014-06-18 11:57:39 +00:00
"extras" => {"widget-title" => "Archives"}
2014-05-14 11:52:06 +00:00
}
end
def widget
categories = OrbitHelper.widget_categories
@categories = []
if categories.first == "all"
module_app = OrbitHelper.widget_module_app
@categories = module_app.categories.collect do |cat|
{
"title" => cat.title,
"id" => cat.id.to_s
}
end
else
categories.each do |cat|
c = Category.find(cat)
@categories << {"title" => c.title, "id" => c.id.to_s}
end
end
cats = @categories.collect do |cat|
archives = ArchiveFile.can_display.where(:category_id => cat["id"]).collect do |archive|
{
2014-05-24 11:37:07 +00:00
"archive-title" => archive.title,
"archive_url" => OrbitHelper.widget_more_url
}
end
{
"category-title" => cat["title"],
"archives" => archives
}
end
{
"categories" => cats,
2014-05-24 11:37:07 +00:00
"extras" => {"widget-title" => "Archives","more_url"=>OrbitHelper.widget_more_url}
}
end
2014-05-14 11:52:06 +00:00
end