@ -117,56 +117,102 @@ module ApplicationHelper
when " HomeworkCommon "
if course_contributor_score . nil?
CourseContributorScore . create ( :course_id = > course_id , :user_id = > user_id , :message_num = > 0 , :message_reply_num = > 0 ,
:news_reply_num = > 0 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 , :homework_journal_num = > 1 , :total_score = > 1 )
:news_reply_num = > 0 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 , :homework_journal_num = > 1 )
else
score = course_contributor_score . homework_journal_num + 1
total_score = course_contributor_score . total_score + 1
course_contributor_score . update_attributes ( :homework_journal_num = > score , :total_score = > total_score )
course_contributor_score . update_attributes ( :homework_journal_num = > score )
end
when " JournalForMessage "
# 课程留言
when " Course "
if course_contributor_score . nil?
CourseContributorScore . create ( :course_id = > course_id , :user_id = > user_id , :message_num = > 0 , :message_reply_num = > 0 ,
:news_reply_num = > 0 , :resource_num = > 0 , :journal_num = > 1 , :journal_reply_num = > 0 , :total_score = > 1 )
:news_reply_num = > 0 , :resource_num = > 0 , :journal_num = > 1 , :journal_reply_num = > 0 )
else
score = course_contributor_score . journal_num + 1
total_score = course_contributor_score . total_score + 1
course_contributor_score . update_attributes ( :journal_num = > score , :total_score = > total_score )
course_contributor_score . update_attributes ( :journal_num = > score )
end
when " Message "
if course_contributor_score . nil?
CourseContributorScore . create ( :course_id = > course_id , :user_id = > user_id , :message_num = > 2 , :message_reply_num = > 0 ,
:news_reply_num = > 0 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 , :total_score = > 2 )
CourseContributorScore . create ( :course_id = > course_id , :user_id = > user_id , :message_num = > 1 , :message_reply_num = > 0 ,
:news_reply_num = > 0 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 )
else
score = course_contributor_score . message_num + 2
total_score = course_contributor_score . total_score + 2
course_contributor_score . update_attributes ( :message_num = > score , :total_score = > total_score )
score = course_contributor_score . message_num + 1
course_contributor_score . update_attributes ( :message_num = > score )
end
when " MessageReply "
if course_contributor_score . nil?
CourseContributorScore . create ( :course_id = > course_id , :user_id = > user_id , :message_num = > 0 , :message_reply_num = > 1 ,
:news_reply_num = > 0 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 , :total_score = > 1 )
:news_reply_num = > 0 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 )
else
score = course_contributor_score . message_reply_num + 1
total_score = course_contributor_score . total_score + 1
course_contributor_score . update_attributes ( :message_reply_num = > score , :total_score = > total_score )
course_contributor_score . update_attributes ( :message_reply_num = > score )
end
when " NewReply "
if course_contributor_score . nil?
CourseContributorScore . create ( :course_id = > course_id , :user_id = > user_id , :message_num = > 0 , :message_reply_num = > 0 ,
:news_reply_num = > 1 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 , :total_score = > 1 )
:news_reply_num = > 1 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 )
else
score = course_contributor_score . news_reply_num + 1
total_score = course_contributor_score . total_score + 1
course_contributor_score . update_attributes ( :news_reply_num = > score , :total_score = > total_score )
course_contributor_score . update_attributes ( :news_reply_num = > score )
end
when " News "
if course_contributor_score . nil?
CourseContributorScore . create ( :course_id = > course_id , :user_id = > user_id , :message_num = > 0 , :message_reply_num = > 0 ,
:news_reply_num = > 0 , :news_num = > 1 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 , :total_score = > 1 )
:news_reply_num = > 0 , :news_num = > 1 , :resource_num = > 0 , :journal_num = > 0 , :journal_reply_num = > 0 )
else
score = course_contributor_score . news_num + 1
total_score = course_contributor_score . total_score + 1
course_contributor_score . update_attributes ( :news_num = > score , :total_score = > total_score )
course_contributor_score . update_attributes ( :news_num = > score )
end
when " Attachment "
if course_contributor_score . nil?
CourseContributorScore . create ( :course_id = > course_id , :user_id = > user_id , :message_num = > 0 , :message_reply_num = > 0 ,
:news_reply_num = > 0 , :news_num = > 0 , :resource_num = > 1 , :journal_num = > 0 , :journal_reply_num = > 0 )
else
score = course_contributor_score . resource_num + 1
course_contributor_score . update_attributes ( :resource_num = > score )
end
end
end
# 删除某条记录相应减少课程统计数
def down_course_score_num ( course_id , user_id , type )
course_contributor_score = CourseContributorScore . where ( " course_id =? and user_id =? " , course_id , user_id ) . first
case type
when " HomeworkCommon "
unless course_contributor_score . nil?
score = course_contributor_score . homework_journal_num - 1
course_contributor_score . update_attribute ( :homework_journal_num , score < 0 ? 0 : score )
end
# 课程留言
when " Course "
unless course_contributor_score . nil?
score = course_contributor_score . journal_num - 1
course_contributor_score . update_attribute ( :journal_num , score < 0 ? 0 : score )
end
when " Message "
unless course_contributor_score . nil?
score = course_contributor_score . message_num - 1
course_contributor_score . update_attribute ( :message_num , score < 0 ? 0 : score )
end
when " MessageReply "
unless course_contributor_score . nil?
score = course_contributor_score . message_reply_num - 1
course_contributor_score . update_attribute ( :message_reply_num , score < 0 ? 0 : score )
end
when " NewReply "
unless course_contributor_score . nil?
score = course_contributor_score . news_reply_num - 1
course_contributor_score . update_attribute ( :news_reply_num , score < 0 ? 0 : score )
end
when " News "
unless course_contributor_score . nil?
score = course_contributor_score . news_num - 1
course_contributor_score . update_attribute ( :news_num , score < 0 ? 0 : score )
end
when " Attachment "
unless course_contributor_score . nil?
score = course_contributor_score . resource_num - 1
course_contributor_score . update_attribute ( :resource_num , score < 0 ? 0 : score )
end
end
end
@ -2049,9 +2095,11 @@ module ApplicationHelper
course = attachment . container
candown = User . current . member_of_course? ( course ) || ( course . is_public == 1 && attachment . is_public == 1 )
elsif attachment . container . is_a? ( OrgSubfield )
candown = true
org = attachment . container . organization
candown = User . current . member_of_org? ( org ) || ( org . is_public && attachment . is_public == 1 )
elsif attachment . container . is_a? ( OrgDocumentComment )
candown = true
org = attachment . container . organization
candown = User . current . member_of_org? ( org ) || ( org . is_public && attachment . is_public == 1 )
elsif ( attachment . container . has_attribute? ( :board ) || attachment . container . has_attribute? ( :board_id ) ) && attachment . container . board &&
attachment . container . board . course
course = attachment . container . board . course