From f168e43b0fb92e2d49f5cd6ad3950a586cffc02b Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Thu, 4 Jun 2015 09:57:30 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=BF=94=E8=BF=98=E6=89=B9=E9=98=85?= =?UTF-8?q?=E7=9A=84=E9=99=84=E4=BB=B6=E5=8F=AF=E4=BB=A5=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=B9=B6=E4=B8=94js=E5=88=B7=E6=96=B0=202=E3=80=81=E5=AD=A6?= =?UTF-8?q?=E7=94=9F=E5=8F=AF=E4=BB=A5=E5=9C=A8=E4=BD=9C=E5=93=81show?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=88=A0=E9=99=A4=E8=87=AA=E5=B7=B1=E7=9A=84?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=9A=84=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 10 +++- app/controllers/homework_attach_controller.rb | 5 +- app/controllers/homework_common_controller.rb | 3 ++ app/views/attachments/destroy.js.erb | 52 ++++++++++--------- .../student_work/_work_attachments.html.erb | 11 ++-- 5 files changed, 48 insertions(+), 33 deletions(-) diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index c8b6a6fda..46428d5e8 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -191,9 +191,15 @@ class AttachmentsController < ApplicationController if !@attachment.container.nil? && (@attachment.container.is_a?(Course) || ((@attachment.container.has_attribute?(:course) || @attachment.container.has_attribute?(:course_id) ) && @attachment.container.course ) || ((@attachment.container.has_attribute?(:board) || @attachment.container.has_attribute?(:board_id)) && - @attachment.container.board && @attachment.container.board.course ) ) + @attachment.container.board && @attachment.container.board.course ) || @attachment.container.is_a?(StudentWorksScore) || @attachment.container.is_a?(HomeworkCommon)) if @attachment.container.is_a?(News) format.html { redirect_to_referer_or news_path(@attachment.container) } + elsif @attachment.container.is_a?(StudentWorksScore) + @is_destroy = true #根据ID删除页面对应的数据,js刷新页面 + format.js + elsif @attachment.container.is_a?(HomeworkCommon) + @is_destroy = true #根据ID删除页面对应的数据,js刷新页面 + format.js elsif @attachment.container.is_a?(Message) format.html { redirect_to_referer_or new_board_message_path(@attachment.container) } elsif @course.nil? @@ -431,7 +437,7 @@ private @attachment.container.board.course) @course = @attachment.container.board.course else - unless @attachment.container_type == 'Bid' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWorks' + unless @attachment.container_type == 'Bid' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWork' @project = @attachment.project end end diff --git a/app/controllers/homework_attach_controller.rb b/app/controllers/homework_attach_controller.rb index f6b044c63..5dd5363b9 100644 --- a/app/controllers/homework_attach_controller.rb +++ b/app/controllers/homework_attach_controller.rb @@ -334,9 +334,8 @@ class HomeworkAttachController < ApplicationController @homework.name = name @homework.description = description @homework.project_id = params[:project_id] || 0 - if params[:attachments] - @homework.save_attachments(params[:attachments]) - end + @homework.save_attachments(params[:attachments]) + render_attachment_warning_if_needed(@homework) if @homework.save respond_to do |format| format.html { redirect_to course_for_bid_url @homework.bid } diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 58c959512..281ff7cf8 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -101,6 +101,9 @@ class HomeworkCommonController < ApplicationController @homework_detail_manual.evaluation_num = params[:evaluation_num] @homework_detail_manual.absence_penalty = params[:absence_penalty] + @homework.save_attachments(params[:attachments]) + render_attachment_warning_if_needed(@homework) + if @homework.save && @homework_detail_manual.save respond_to do |format| format.html { diff --git a/app/views/attachments/destroy.js.erb b/app/views/attachments/destroy.js.erb index 0b6cee0df..d23422e24 100644 --- a/app/views/attachments/destroy.js.erb +++ b/app/views/attachments/destroy.js.erb @@ -1,26 +1,30 @@ -var attachment_html_obj = $('#attachments_<%= j params[:attachment_id] %>'); -//modify by yutao 2015-5-14 当1个页面存在多个上传控件时此块代码存在bug 故改之 start -var containerid=$('.remove-upload',attachment_html_obj).data('containerid'); -if(containerid==undefined){ - $('#attachments_<%= j params[:attachment_id] %>').remove(); - var count=$('#attachments_fields>span').length; - if(count<=0){ - $("#upload_file_count").text('<%= l(:label_no_file_uploaded)%>'); - $(".remove_all").remove(); +<% if @is_destroy%> + $("#attachment_<%= @attachment.id%>").remove(); +<%else%> + var attachment_html_obj = $('#attachments_<%= j params[:attachment_id] %>'); + //modify by yutao 2015-5-14 当1个页面存在多个上传控件时此块代码存在bug 故改之 start + var containerid=$('.remove-upload',attachment_html_obj).data('containerid'); + if(containerid==undefined){ + $('#attachments_<%= j params[:attachment_id] %>').remove(); + var count=$('#attachments_fields>span').length; + if(count<=0){ + $("#upload_file_count").text('<%= l(:label_no_file_uploaded)%>'); + $(".remove_all").remove(); + }else{ + $("#upload_file_count").html(""+count+""+"个文件"+"已上传"); + } }else{ - $("#upload_file_count").html(""+count+""+"个文件"+"已上传"); + $('#attachments_<%= j params[:attachment_id] %>').remove(); + var count=$('#attachments_fields'+containerid+'>span').length; + if(count<=0){ + $('#upload_file_count'+containerid).text('<%= l(:label_no_file_uploaded)%>'); + var remove_all_html_obj = $(".remove_all").filter(function(index){ + return $(this).data('containerid')==containerid; + }); + remove_all_html_obj.remove(); + }else{ + $('#upload_file_count'+containerid).html(""+count+""+"个文件"+"已上传"); + } } -}else{ - $('#attachments_<%= j params[:attachment_id] %>').remove(); - var count=$('#attachments_fields'+containerid+'>span').length; - if(count<=0){ - $('#upload_file_count'+containerid).text('<%= l(:label_no_file_uploaded)%>'); - var remove_all_html_obj = $(".remove_all").filter(function(index){ - return $(this).data('containerid')==containerid; - }); - remove_all_html_obj.remove(); - }else{ - $('#upload_file_count'+containerid).html(""+count+""+"个文件"+"已上传"); - } -} -//modify by yutao 2015-5-14 当1个页面存在多个上传控件时此块代码存在bug 故改之 end \ No newline at end of file + //modify by yutao 2015-5-14 当1个页面存在多个上传控件时此块代码存在bug 故改之 end +<% end%> \ No newline at end of file diff --git a/app/views/student_work/_work_attachments.html.erb b/app/views/student_work/_work_attachments.html.erb index 638644fdf..2f7e1e1cd 100644 --- a/app/views/student_work/_work_attachments.html.erb +++ b/app/views/student_work/_work_attachments.html.erb @@ -1,5 +1,8 @@ -<% for attachment in attachments %> - <%= link_to_short_attachment attachment, :class => 'link_file', :download => true -%> - (<%= number_to_human_size attachment.filesize %>) -
+<% attachments.each_with_index do |attachment,i| %> +