From 2bd08d1aaac22419ab3399cef4d01074bdd6c69d Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Tue, 28 Oct 2014 23:38:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug=E3=80=8A=E9=80=89?= =?UTF-8?q?=E5=AE=9A=E4=BA=86=E5=86=85=E5=AE=B9=E7=B1=BB=E5=9E=8B=E5=90=8E?= =?UTF-8?q?=E5=86=8D=E7=82=B9=E5=87=BB=E8=A1=A8=E5=A4=B4=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E6=80=BB=E6=98=AF=E8=BF=94=E5=9B=9E=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=A9=BA=E7=99=BD=E9=A1=B5=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: alan <547533434@qq.com> --- app/controllers/files_controller.rb | 68 +++++-- app/views/files/_course_file.html.erb | 11 +- app/views/files/_project_file.html.erb | 12 +- app/views/files/getattachtype.html.erb | 262 +++++++++++++++++++++++-- 4 files changed, 325 insertions(+), 28 deletions(-) diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb index f34a757e2..3d1970656 100644 --- a/app/controllers/files_controller.rb +++ b/app/controllers/files_controller.rb @@ -84,7 +84,7 @@ class FilesController < ApplicationController @containers = [ Project.includes(:attachments).reorder(sort).find(@project.id)] @containers += @project.versions.includes(:attachments).reorder(sort).all - getattachtype + show_attachments @containers render :layout => !request.xhr? @@ -122,7 +122,7 @@ class FilesController < ApplicationController end end end - getattachtype + @containers = [ Course.includes(:attachments).reorder(sort).find(@course.id)] show_attachments @containers @@ -262,21 +262,63 @@ class FilesController < ApplicationController 'filename' => "#{Attachment.table_name}.filename", 'size' => "#{Attachment.table_name}.filesize", 'downloads' => "#{Attachment.table_name}.downloads" + sort='' + if params[:sort] + params[:sort].split(",").each do |sort_type| + order_by = sort_type.split(":") + + case order_by[0] + when "filename" + attribute = "filename" + when "size" + attribute = "filesize" + when "attach_type" + attribute = "attachtype" + when "content_type" + attribute = "created_on" + when "field_file_dense" + attribute = "is_public" + when "downloads" + attribute = "downloads" + when "created_on" + attribute = "created_on" + end + + if order_by.count == 1 + sort += "#{Attachment.table_name}.#{attribute} asc " + elsif order_by.count == 2 + sort += "#{Attachment.table_name}.#{attribute} #{order_by[1]} " + end + if sort_type != params[:sort].split(",").last + sort += "," + end + end + end if @project + @isproject = true @containers = [ Project.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").find(@project.id)] - @containers += @project.versions.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").all.sort - elsif @course - @containers = [ Course.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").find(@course.id)] - end - show_attachments @containers + @containers += @project.versions.includes(:attachments).reorder(sort).all - @attachtype = params[:type].to_i - @contenttype = params[:contentType].to_s - - respond_to do |format| - format.js - format.html + show_attachments @containers + @attachtype = params[:type].to_i + @contenttype = params[:contentType].to_s + render :layout => 'base_projects' + elsif @course + @isproject = false + @containers = [ Course.includes(:attachments).reorder(sort).find(@course.id)] + show_attachments @containers + @attachtype = params[:type].to_i + @contenttype = params[:contentType].to_s + render :layout => 'base_courses' end + + + + # respond_to do |format| + # format.js + # format.html + # end + end end diff --git a/app/views/files/_course_file.html.erb b/app/views/files/_course_file.html.erb index 55a36e125..a1dae9a33 100644 --- a/app/views/files/_course_file.html.erb +++ b/app/views/files/_course_file.html.erb @@ -67,7 +67,16 @@ <% delete_allowed = User.current.allowed_to?(:manage_files, @course) %>