diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb index cbbf36ea8..a2902e3fc 100644 --- a/app/controllers/files_controller.rb +++ b/app/controllers/files_controller.rb @@ -24,7 +24,7 @@ class FilesController < ApplicationController before_filter :auth_login1, :only => [:index] before_filter :logged_user_by_apptoken,:only => [:index] before_filter :find_project_by_project_id#, :except => [:getattachtype] - before_filter :authorize, :except => [:getattachtype,:quote_resource_show,:search,:searchone4reload,:search_project,:quote_resource_show_project,:search_tag_attachment] + before_filter :authorize, :except => [:create,:getattachtype,:quote_resource_show,:search,:searchone4reload,:search_project,:quote_resource_show_project,:search_tag_attachment] helper :sort include SortHelper diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index e566a8f46..04e2c24ee 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -243,6 +243,7 @@ class CoursesService #params[:term]:学期(秋季学期或春季学期) #params[:time]: 年份(例:2014) #params[:class_period]:学时总数 + #params[:publish_resource] 允许学生上传资源 0 不允许 1 允许 def edit_course(params,course,current_user) course.send(:safe_attributes=, params[:course], current_user) #course.safe_attributes = params[:course] @@ -251,6 +252,7 @@ class CoursesService course.class_period = params[:class_period].to_i params[:course][:is_public] ? course.is_public = 1 : course.is_public = 0 params[:course][:open_student] ? course.open_student = 1 : course.open_student = 0 + params[:course][:publish_resource] ? course.publish_resource = 1 : course.publish_resource = 0 if course.save if params[:course][:is_public] == '0' course_status = CourseStatus.find_by_course_id(course.id) diff --git a/app/views/courses/settings.html.erb b/app/views/courses/settings.html.erb index d598b96d6..5c3918f00 100644 --- a/app/views/courses/settings.html.erb +++ b/app/views/courses/settings.html.erb @@ -68,6 +68,12 @@ (打钩为"学生列表公开",不打钩为不公开,若不公开,则课程外部人员看不到学生列表)
+
  • + + id="course_publish_resource" name="course[publish_resource]" type="checkbox" style="margin-left: 1px;"/> + (打钩为"允许学生上传资源",不打钩为"不允许学生上传资源") +
    +
  • 提交 <%= link_to l(:button_cancel), course_path(@course), :class => "blue_btn grey_btn fl c_white" %> @@ -112,4 +118,4 @@ } $("#time_selected").click(select); $("#term_selected").click(select); - \ No newline at end of file + diff --git a/app/views/files/_course_file.html.erb b/app/views/files/_course_file.html.erb index 4176b72d0..a0cb419b2 100644 --- a/app/views/files/_course_file.html.erb +++ b/app/views/files/_course_file.html.erb @@ -72,7 +72,7 @@ <%= submit_tag "课内搜索", :class => "re_schbtn b_lblue",:name => "incourse",:id => "incourse", :onmouseover => "presscss('incourse')",:onmouseout =>"buttoncss()" %> <%= submit_tag "全站搜索", :class => "re_schbtn b_lblue",:name => "insite",:id => "insite",:onmouseover => "presscss('insite')",:onmouseout =>"buttoncss()" %> <% end %> - <% if is_course_teacher(User.current,@course) %> + <% if is_course_teacher(User.current,@course) || (@course.publish_resource==1 && User.current.member_of_course?(@course) ) %>

    上传: diff --git a/app/views/files/_course_list.html.erb b/app/views/files/_course_list.html.erb index 4cc249c20..f04d70577 100644 --- a/app/views/files/_course_list.html.erb +++ b/app/views/files/_course_list.html.erb @@ -32,7 +32,7 @@ <% if (is_course_teacher(User.current,@course) || file.author_id == User.current.id) && course_contains_attachment?(@course,file) %> <%= link_to("选入我的其他课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select c_lorange",:remote => true) if has_course?(User.current,file) %> - <% if delete_allowed && file.container_id == @course.id && file.container_type == "Course" %> + <% if delete_allowed && file.container_id == @course.id && file.container_type == "Course" %> <% if @course.is_public? %> <%= link_to (file.is_public? ? "公开":"私有"), update_file_dense_attachments_path(:attachmentid=>file.id,:newtype=>(file.is_public? ? 0:1)),:remote=>true,:class=>"f_l re_open c_blue",:method => :post %> @@ -57,7 +57,7 @@

    文件大小:<%= number_to_human_size(file.filesize) %>

    <%= link_to( l(:button_delete), attachment_path(file), - :data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "f_r re_de") if delete_allowed && file.container_id == @course.id && file.container_type == "Course"%> + :data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "f_r re_de") if (delete_allowed || User.current.id == file.author_id) && file.container_id == @course.id && file.container_type == "Course"%>

    <%= time_tag(file.created_on).html_safe %><%= l(:label_bids_published_ago) %>  |  下载<%= file.downloads %>  |  引用<%= file.quotes.nil? ? 0:file.quotes %>

    diff --git a/app/views/layouts/base.html.erb b/app/views/layouts/base.html.erb index 489820f0c..96b015bdc 100644 --- a/app/views/layouts/base.html.erb +++ b/app/views/layouts/base.html.erb @@ -18,6 +18,18 @@ <%= yield :header_tags -%> <%= stylesheet_link_tag 'base','header', :media => 'all'%> + + + + diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index 39de4faeb..f2525a014 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -21,6 +21,22 @@ <%= javascript_include_tag "course","header","attachments",'prettify' %> <%= yield :header_tags -%> + + + + + + + @@ -138,7 +154,7 @@