85 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
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|
 | 
						|
					{
 | 
						|
						"file-name" => file.file_title,
 | 
						|
						"file-type" => file.file.file.extension.downcase,
 | 
						|
						"file-url" => file.file.url
 | 
						|
					}
 | 
						|
				end
 | 
						|
				{
 | 
						|
					"archive-title" => archive.title,
 | 
						|
					"statuses" => statuses,
 | 
						|
					"files" => files
 | 
						|
				}
 | 
						|
			end
 | 
						|
			{
 | 
						|
				"category-title" => cat["title"],
 | 
						|
				"archives" => archives 
 | 
						|
			}
 | 
						|
		end
 | 
						|
		{
 | 
						|
			"categories" => cats,
 | 
						|
			"extras" => {"widget-title" => "Archives"}
 | 
						|
		}
 | 
						|
	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 |