diff --git a/app/controllers/archives_controller.rb b/app/controllers/archives_controller.rb index 082e3e0..deeebb8 100644 --- a/app/controllers/archives_controller.rb +++ b/app/controllers/archives_controller.rb @@ -1,77 +1,37 @@ class ArchivesController < ApplicationController def index files_by_cateogry = ArchiveFile.filter_by_categories.filter_by_tags.group_by(&:category) - cats = files_by_cateogry.keys.collect do |cat| - - files_by_category_tag = files_by_cateogry[cat].group_by(&:tags) - url_to_edit = OrbitHelper.user_has_cateogry?(cat) ? "/admin/archive_files?filters[category][]=#{cat.id.to_s}" : "" - ts = [] - files_by_category_tag.keys.each do |t| - - archives = [] - files_by_category_tag[t].each_with_index do |archive,index| - - 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').each do |file| - if file.choose_lang.include?(I18n.locale.to_s) - 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 "" - files << { - "file-name" => title, - "file-type" => extension, - "file-url" => "/xhr/archive/download?file=#{file.id}" - } - end + categories = files_by_cateogry.keys + cats = categories.collect do |category| + archives = files_by_cateogry[category].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').each do |file| + if file.choose_lang.include?(I18n.locale.to_s) + title = (file.file_title.blank? ? File.basename(file.file.path) : file.file_title) rescue "" + extension = file.file.file.extension.downcase rescue "" + files << { + "file-name" => title, + "file-type" => extension, + "file-url" => "/xhr/archive/download?file=#{file.id}" + } end - a = { - "archive-title" => archive.title || "", - "statuses" => statuses, - "files" => files - } - if t.count > 1 - t.each do |inner_tag| - index = ts.index{|tot| tot["tag-name"] == inner_tag.name} - if index.nil? - ts << { - "tag-name" => (inner_tag.name rescue ""), - "archives" => [a] - } - else - ts[index]["archives"] << a - end - end - else - archives << a - end - end - ts << { - "tag-name" => (t[0].name rescue ""), - "archives" => archives - - } if !archives.blank? - end - if(files_by_category_tag.empty?) + end { - "category-title" => "", - "tags" => ts, - "url_to_edit" => url_to_edit - - } - else - { - "category-title" => cat.title || "", - "tags" => ts, - "url_to_edit" => url_to_edit - + "archive-title" => archive.title, + "statuses" => statuses, + "files" => files } end + { + "category-title" => category.title, + "archives" => archives + } end { "categories" => cats