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| 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| title = (file.file_title.blank? ? File.basename(file.file.path) : file.file_title) rescue "" extension = file.file.file.extension.downcase rescue "" url = file.file.url rescue "" { "file-name" => title, "file-type" => extension, "file-url" => url } end { "archive-title" => archive.title || "", "statuses" => statuses, "files" => files } end { "category-title" => cat["title"] || "", "archives" => archives } end { "categories" => cats } 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| { "archive-title" => archive.title, "archive_url" => OrbitHelper.widget_more_url } end { "category-title" => cat["title"], "archives" => archives } end { "categories" => cats, "extras" => {"widget-title" => "Archives","more_url"=>OrbitHelper.widget_more_url} } end end