#1503 老师发布的作业可以在课程动态中显示了

dev_repository_hjq
guange 11 years ago
parent 38c3b40ca1
commit ab6c21314d

@ -872,13 +872,15 @@ class CoursesController < ApplicationController
"show_course_news" => true, "show_course_news" => true,
"show_course_messages" => true, "show_course_messages" => true,
"show_bids" => true, "show_bids" => true,
"show_course_journals_for_messages" => true "show_course_journals_for_messages" => true,
"show_homeworks" => true
} }
@date_to ||= Date.today + 1 @date_to ||= Date.today + 1
# #
@date_from = (@date_to - @days) > @course.created_at.to_date ? (@date_to - @days) : @course.created_at.to_date @date_from = (@date_to - @days) > @course.created_at.to_date ? (@date_to - @days) : @course.created_at.to_date
#@date_from = @date_to - @days-1.years #@date_from = @date_to - @days-1.years
@author = (params[:user_id].blank? ? nil : User.active.find(params[:user_id])) @author = (params[:user_id].blank? ? nil : User.active.find(params[:user_id]))
@author ||= @course.teacher
# 决定显示所用用户或单个用户活动 # 决定显示所用用户或单个用户活动
@activity = Redmine::Activity::Fetcher.new(User.current, :course => @course, @activity = Redmine::Activity::Fetcher.new(User.current, :course => @course,
:with_subprojects => false, :with_subprojects => false,

@ -61,14 +61,21 @@ class Bid < ActiveRecord::Base
end end
} }
scope :course_visible, lambda {|*args|
includes(:courses).where(Course.allowed_to_condition(args.shift || User.current, :view_homeworks, *args))
}
acts_as_watchable acts_as_watchable
acts_as_taggable acts_as_taggable
acts_as_event :title => Proc.new {|o| "#{l(:label_requirement)} ##{o.id}: #{o.name}" }, acts_as_event :title => Proc.new {|o| "#{l(:label_course_homework)} ##{o.id}: #{o.name}" },
:description => :description, :description => :description,
:author => :author, :author => :author,
:url => Proc.new {|o| {:controller => 'bids', :action => 'show', :id => o.id}} :url => Proc.new {|o| {:controller => 'bids', :action => 'show', :id => o.id}}
acts_as_activity_provider :type => 'homeworks',
:author_key => :author_id
acts_as_activity_provider :find_options => {:include => [:projects, :author]}, acts_as_activity_provider :find_options => {:include => [:projects, :author]},
:author_key => :author_id :author_key => :author_id

@ -776,7 +776,7 @@ class User < Principal
(block_given? ? yield(role, self) : true) (block_given? ? yield(role, self) : true)
} }
#添加课程相关的权限判断 #添加课程相关的权限判断
elsif context && context.is_a?(Course) elsif context && context.is_a?(Course)
return false unless context.allows_to?(action) return false unless context.allows_to?(action)
# Admin users are authorized for anything else # Admin users are authorized for anything else
return true if admin? return true if admin?

@ -119,6 +119,8 @@ Redmine::AccessControl.map do |map|
map.permission :course_attachments_download,{:attachments => :download},:belong_to_course => true map.permission :course_attachments_download,{:attachments => :download},:belong_to_course => true
map.permission :contest_attachments_download,{:attachments => :download},:belong_to_contest => true map.permission :contest_attachments_download,{:attachments => :download},:belong_to_contest => true
map.permission :view_homeworks, {}, :public => true, :read => true
map.course_module :files do |map| map.course_module :files do |map|
# map.permission :manage_files, {:files => [:new, :create]}, :require => :loggedin # map.permission :manage_files, {:files => [:new, :create]}, :require => :loggedin
map.permission :view_course_files, {:files => :index, :versions => :download}, :read => true,:belong_to_course => true map.permission :view_course_files, {:files => :index, :versions => :download}, :read => true,:belong_to_course => true
@ -480,6 +482,8 @@ Redmine::Activity.map do |activity|
activity.register :course_journals_for_messages , :class_name => 'JournalsForMessage' activity.register :course_journals_for_messages , :class_name => 'JournalsForMessage'
activity.register :course_news, :class_name => 'News' activity.register :course_news, :class_name => 'News'
activity.register :course_messages, :default => false, :class_name => 'Message' activity.register :course_messages, :default => false, :class_name => 'Message'
activity.register :homeworks, :class_name => 'Bid'
end end
Redmine::Search.map do |search| Redmine::Search.map do |search|

Loading…
Cancel
Save