Fix bug.
This commit is contained in:
parent
9447a64511
commit
b8dafc5e47
|
@ -73,8 +73,9 @@ class ArchivesController < ApplicationController
|
||||||
if categories == ["all"]
|
if categories == ["all"]
|
||||||
categories = module_app.categories.pluck(:id).map(&:to_s)
|
categories = module_app.categories.pluck(:id).map(&:to_s)
|
||||||
end
|
end
|
||||||
|
org_tags = tags
|
||||||
if tags == ["all"]
|
if tags == ["all"]
|
||||||
tags = module_app.tags.sort_by{|tag| ((module_app.asc rescue true) ? tag.sort_number.to_i : -tag.sort_number.to_i)}.map{|tag| tag.id.to_s}
|
tags = module_app.tags.map{|tag| tag.id.to_s}
|
||||||
tags << nil
|
tags << nil
|
||||||
end
|
end
|
||||||
if params[:data_count].to_i > 0
|
if params[:data_count].to_i > 0
|
||||||
|
@ -134,63 +135,63 @@ class ArchivesController < ApplicationController
|
||||||
end
|
end
|
||||||
cats_last = cats
|
cats_last = cats
|
||||||
else
|
else
|
||||||
files_by_category = ArchiveFile.can_display.filter_by_categories(categories, false).filter_by_tags(tags).sorted.group_by(&:category)
|
files_by_category = ArchiveFile.can_display.filter_by_categories(categories, false).filter_by_tags(org_tags).sorted.group_by(&:category)
|
||||||
each_data_count = []
|
each_data_count = []
|
||||||
categories = files_by_category.keys
|
categories = files_by_category.keys
|
||||||
categories_sort = get_sorted_cat_with_filter(categories, :orm)
|
categories_sort = get_sorted_cat_with_filter(categories, :orm)
|
||||||
cats = categories_sort.collect.with_index do |category, cat_idx|
|
cats = categories_sort.collect.with_index do |category, cat_idx|
|
||||||
url_to_edit = OrbitHelper.user_has_cateogry?(category) ? "/admin/archive_files?filters[category][]=#{category.id.to_s}" : ""
|
url_to_edit = OrbitHelper.user_has_cateogry?(category) ? "/admin/archive_files?filters[category][]=#{category.id.to_s}" : ""
|
||||||
serial_number = 0
|
serial_number = 0
|
||||||
archives = files_by_category[category].collect.with_index do |archive,idx|
|
archives = files_by_category[category].collect.with_index do |archive,idx|
|
||||||
data, serial_number, idx = archive.get_frontend_data(locale, serial_number, idx)
|
data, serial_number, idx = archive.get_frontend_data(locale, serial_number, idx)
|
||||||
data
|
data
|
||||||
end
|
|
||||||
each_data_count.push(archives.length)
|
|
||||||
sorted = archives
|
|
||||||
{
|
|
||||||
"category-id" => category.id,
|
|
||||||
"category-title" => (categories.count > 1 ? category.title : ""),
|
|
||||||
"archives" => sorted,
|
|
||||||
"url_to_edit" => url_to_edit
|
|
||||||
}
|
|
||||||
end
|
|
||||||
if page_data_count != 0
|
|
||||||
# all_data_count = 0
|
|
||||||
data_start = -1
|
|
||||||
data_end = -1
|
|
||||||
page_data_end = page_no * page_data_count #Not include end
|
|
||||||
page_data_start = page_data_end - page_data_count
|
|
||||||
# all_data_count = each_data_count.sum
|
|
||||||
cats_last = []
|
|
||||||
counter = 0
|
|
||||||
cats.each do |cat_data|
|
|
||||||
start_idx = page_data_start - counter
|
|
||||||
end_idx = page_data_end - counter
|
|
||||||
archives = cat_data['archives']
|
|
||||||
archives_count = archives.count
|
|
||||||
counter += archives_count
|
|
||||||
if start_idx >= archives_count
|
|
||||||
next
|
|
||||||
elsif start_idx < 0
|
|
||||||
start_idx = 0
|
|
||||||
end
|
|
||||||
archives = archives[start_idx...end_idx]
|
|
||||||
if archives && archives.count > 0
|
|
||||||
cat_data['archives'] = archives
|
|
||||||
cats_last << cat_data
|
|
||||||
end
|
end
|
||||||
|
each_data_count.push(archives.length)
|
||||||
|
sorted = archives
|
||||||
|
{
|
||||||
|
"category-id" => category.id,
|
||||||
|
"category-title" => (categories.count > 1 ? category.title : ""),
|
||||||
|
"archives" => sorted,
|
||||||
|
"url_to_edit" => url_to_edit
|
||||||
|
}
|
||||||
end
|
end
|
||||||
@@total_pages = (counter.to_f / page_data_count).ceil
|
if page_data_count != 0
|
||||||
else
|
# all_data_count = 0
|
||||||
if page_no!=1
|
data_start = -1
|
||||||
cats_last = [Hash[cats[0].map{|k,v| [k,'']}]]
|
data_end = -1
|
||||||
@@total_pages = 0
|
page_data_end = page_no * page_data_count #Not include end
|
||||||
|
page_data_start = page_data_end - page_data_count
|
||||||
|
# all_data_count = each_data_count.sum
|
||||||
|
cats_last = []
|
||||||
|
counter = 0
|
||||||
|
cats.each do |cat_data|
|
||||||
|
start_idx = page_data_start - counter
|
||||||
|
end_idx = page_data_end - counter
|
||||||
|
archives = cat_data['archives']
|
||||||
|
archives_count = archives.count
|
||||||
|
counter += archives_count
|
||||||
|
if start_idx >= archives_count
|
||||||
|
next
|
||||||
|
elsif start_idx < 0
|
||||||
|
start_idx = 0
|
||||||
|
end
|
||||||
|
archives = archives[start_idx...end_idx]
|
||||||
|
if archives && archives.count > 0
|
||||||
|
cat_data['archives'] = archives
|
||||||
|
cats_last << cat_data
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@@total_pages = (counter.to_f / page_data_count).ceil
|
||||||
else
|
else
|
||||||
cats_last = cats
|
if page_no != 1
|
||||||
@@total_pages = 1
|
cats_last = [Hash[cats[0].map{|k,v| [k,'']}]]
|
||||||
|
@@total_pages = 0
|
||||||
|
else
|
||||||
|
cats_last = cats
|
||||||
|
@@total_pages = 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end
|
end
|
||||||
if cats_last.count != 0
|
if cats_last.count != 0
|
||||||
cats_last.each_with_index do |h, i|
|
cats_last.each_with_index do |h, i|
|
||||||
|
|
Loading…
Reference in New Issue