1.增加消息:用户迟交作业时,发送不能参与匿评的消息;

2.增加消息:用户创建课程时,发送创建课程消息。
This commit is contained in:
ouyangxuhua 2015-10-19 15:45:24 +08:00
parent 86cd27eb17
commit 4deeaa0f34
5 changed files with 73 additions and 1 deletions

View File

@ -615,6 +615,10 @@ class CoursesController < ApplicationController
end
def show
#更新创建课程消息状态
create_course_messages = @course.course_messages.where("user_id =? and course_message_type =? and course_id =? and viewed =?", User.current.id, 'Course', @course.id, 0)
create_course_messages.update_all(:viewed => true)
course_activities = @course.course_activities
@canShowRealName = User.current.member_of_course? @course
@page = params[:page] ? params[:page].to_i + 1 : 0

View File

@ -62,6 +62,9 @@ class StudentWorkController < ApplicationController
journals_for_teacher.each do |journal_for_teacher|
journal_for_teacher.update_attributes(:viewed => true)
end
#不能参与作业匿评消息状态更新
no_evaluation = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @homework.course, "NoEvaluation", 0)
no_evaluation.update_all(:viewed => true)
# 作品留言
# 消息end
#设置作业对应的forge_messages表的viewed字段

View File

@ -50,7 +50,7 @@ class Course < ActiveRecord::Base
validates_format_of :name,:with =>/^[^ ]+[a-zA-Z0-9_\u4e00-\u9fa5\s\S]+$/
validates_length_of :description, :maximum => 10000
before_save :self_validate
after_create :create_board_sync, :act_as_course_activity
after_create :create_board_sync, :act_as_course_activity, :act_as_course_message
before_destroy :delete_all_members
safe_attributes 'extra',
@ -321,6 +321,10 @@ class Course < ActiveRecord::Base
self.course_acts << CourseActivity.new(:user_id => self.tea_id,:course_id => self.id)
end
#创建课程后,给该用户发送消息
def act_as_course_message
self.course_messages << CourseMessage.new(:user_id => self.tea_id, :course_id => self.id, :viewed => false)
end
#项目与课程分离后,很多课程的名称等信息为空,这些数据信息存储在项目表中!!就是数据兼容的问题
#def name
# read_attribute('name') || Project.find_by_identifier(self.extra).try(:name)

View File

@ -12,6 +12,7 @@ class StudentWork < ActiveRecord::Base
before_destroy :delete_praise
before_save :set_program_score, :set_src
after_create :act_as_message
acts_as_attachable
def delete_praise
@ -136,4 +137,11 @@ class StudentWork < ActiveRecord::Base
end
end
end
def act_as_message
if self.created_at > self.homework_common.end_time + 1
CourseMessage.create(:user_id => self.user_id, :course_id => self.homework_common.course_id,
:course_message_id => self.id, :course_message_type => 'NoEvaluation',:viewed => false)
end
end
end

View File

@ -359,4 +359,57 @@
</ul>
<% end %>
<% end %>
<!-- 作业迟交,不能参与匿评提醒消息 -->
<% if ma.course_message_type == "NoEvaluation" %>
<ul class="homepageNewsList fl">
<li class="homepageNewsPortrait fl"><a href="javascript:void(0);"></a></li>
<li class="homepageNewsPubType fl">
<span class="<%= ma.viewed == 0 ? "homepageNewsTypeNotRead fl":"homepageNewsType fl" %>">迟交作业,不能参与作业匿评!</span>
</li>
<% student_work = StudentWork.find(ma.course_message_id)%>
<li class="homepageNewsContent fl"><a href="javascript:void(0);" class="newsGrey">
<%= link_to student_work.homework_common.name, student_work_index_path(:homework => student_work.homework_common_id),
:class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}",
:onmouseover => "message_titile_show($(this),event)",
:onmouseout => "message_titile_hide($(this))" %></a></li>
<div style="display: none" class="message_title_red system_message_style">
<p>
<%= User.current.lastname + User.current.firstname %>
<%= User.current.allowed_to?(:as_teacher,student_work.homework_common.course) ? '老师':'同学'%>您好!由于迟交作业,您及您的作品都不能参与以下作业的匿评。作业详情如下:
</p>
<p>课程名称:<%= student_work.homework_common.course.name %>(<%= student_work.homework_common.course.term %>)</p>
<p>作业标题:<span style="color:Red;"><%=student_work.homework_common.name %></span></p>
<p>提交截止:<span style="color:Red;"><%=student_work.homework_common.end_time %>&nbsp;&nbsp;24点</span></p>
<p>提交时间:<span style="color:Red;"><%=format_time(student_work.created_at) %></span></p>
</div>
<li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li>
</ul>
<% end %>
<!-- 创建课程消息 -->
<% if ma.course_message_type == "Course" %>
<ul class="homepageNewsList fl">
<li class="homepageNewsPortrait fl"><a href="javascript:void(0);"></a></li>
<li class="homepageNewsPubType fl">
<span class="newsBlue homepageNewsPublisher">系统提示</span>
<span class="<%= ma.viewed == 0 ? "homepageNewsTypeNotRead fl":"homepageNewsType fl" %>">您成功创建了课程:</span>
</li>
<li class="homepageNewsContent fl"><a href="javascript:void(0);" class="newsGrey">
<%= link_to ma.course_message.name, course_path(ma.course_message),
:class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}",
:onmouseover => "message_titile_show($(this),event)",
:onmouseout => "message_titile_hide($(this))" %></a></li>
<div style="display: none" class="message_title_red system_message_style">
<p>
<%= User.current.lastname + User.current.firstname %>老师您好!您成功创建了一个课程,详情如下:
</p>
<p>课程名称:<%= ma.course_message.name %></p>
<p>开课学期:<%= ma.course_message.term %></p>
<div class="fl">课程描述:</div>
<div class="ml60"><%= ma.course_message.description.html_safe %></div>
<p>学时总数:<%= ma.course_message.class_period%></p>
<p>创建时间:<%= format_time(ma.course_message.created_at) %></p>
</div>
<li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li>
</ul>
<% end %>
<% end %>