Merge remote-tracking branch 'origin/szzh' into szzh

guange_homework
lizanle 10 years ago
commit f2dd69f9b6

@ -49,8 +49,11 @@ class CommentsController < ApplicationController
# end # end
# # <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>̬<EFBFBD>ļ<EFBFBD>¼add end # # <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>̬<EFBFBD>ļ<EFBFBD>¼add end
flash[:notice] = l(:label_comment_added) flash[:notice] = l(:label_comment_added)
course_activity = CourseActivity.where("course_act_type='News' and course_act_id =#{@news.id}").first
course_activity.updated_at = Time.now
course_activity.save
user_activity = UserActivity.where("act_type='News' and act_id =#{@news.id}").first user_activity = UserActivity.where("act_type='News' and act_id =#{@news.id}").first
user_activity.updated_at = @comment.created_on user_activity.updated_at = Time.now
user_activity.save user_activity.save
end end

@ -8,7 +8,7 @@ class CoursesController < ApplicationController
helper :attachments helper :attachments
helper :activity_notifys helper :activity_notifys
before_filter :auth_login1, :only => [:show, :feedback] before_filter :auth_login1, :only => [:show, :course_activity, :feedback]
menu_item :overview menu_item :overview
menu_item :feedback, :only => :feedback menu_item :feedback, :only => :feedback
menu_item :homework, :only => :homework menu_item :homework, :only => :homework
@ -610,11 +610,37 @@ class CoursesController < ApplicationController
end end
end end
def course_activity
redirect_to course_url(@course, type: params[:type], page: params[:page])
end
def show def show
course_activities = @course.course_activities.order("created_at desc") course_activities = @course.course_activities
@canShowRealName = User.current.member_of_course? @course @canShowRealName = User.current.member_of_course? @course
@course_activities = paginateHelper course_activities,10 @page = params[:page] ? params[:page].to_i + 1 : 0
if params[:type].present?
case params[:type]
when "homework"
@course_activities = course_activities.where("course_act_type = 'HomeworkCommon'").order('updated_at desc').limit(10).offset(@page * 10)
when "news"
@course_activities = course_activities.where("course_act_type = 'News'").order('updated_at desc').limit(10).offset(@page * 10)
when "message"
@course_activities = course_activities.where("course_act_type = 'Message'").order('updated_at desc').limit(10).offset(@page * 10)
when "poll"
@course_activities = course_activities.where("course_act_type = 'Poll'").order('updated_at desc').limit(10).offset(@page * 10)
when "attachment"
@course_activities = course_activities.where("course_act_type = 'Attachment'").order('updated_at desc').limit(10).offset(@page * 10)
when "journalsForMessage"
@course_activities = course_activities.where("course_act_type = 'JournalsForMessage'").order('updated_at desc').limit(10).offset(@page * 10)
else
@course_activities = course_activities.order('updated_at desc').limit(10).offset(@page * 10)
end
else
@course_activities = course_activities.order('updated_at desc').limit(10).offset(@page * 10)
end
@type = params[:type]
respond_to do |format| respond_to do |format|
format.js
format.html{render :layout => 'base_courses'} format.html{render :layout => 'base_courses'}
format.api format.api
end end

@ -162,6 +162,9 @@ class MessagesController < ApplicationController
@reply.subject = "RE: #{@topic.subject}" unless params[:reply][:subject] @reply.subject = "RE: #{@topic.subject}" unless params[:reply][:subject]
# @reply.reply_id = params[:id] # @reply.reply_id = params[:id]
@topic.children << @reply @topic.children << @reply
course_activity = CourseActivity.where("course_act_type='Message' and course_act_id =#{@topic.id}").first
course_activity.updated_at = Time.now
course_activity.save
user_activity = UserActivity.where("act_type='Message' and act_id =#{@topic.id}").first user_activity = UserActivity.where("act_type='Message' and act_id =#{@topic.id}").first
user_activity.updated_at = Time.now user_activity.updated_at = Time.now
user_activity.save user_activity.save

@ -53,7 +53,15 @@ class WordsController < ApplicationController
:notes => content, :notes => content,
:is_readed => false} :is_readed => false}
@jfm = add_reply_adapter options @jfm = add_reply_adapter options
@save_succ = true if @jfm.errors.empty?
if @save_succ
course_activity = CourseActivity.where("course_act_type='JournalsForMessage' and course_act_id =#{parent_id}").first
course_activity.updated_at = Time.now
course_activity.save
user_activity = UserActivity.where("act_type='JournalsForMessage' and act_id =#{parent_id}").first
user_activity.updated_at = Time.now
user_activity.save
end
respond_to do |format| respond_to do |format|
# format.html { # format.html {
# if @jfm.errors.empty? # if @jfm.errors.empty?
@ -63,10 +71,12 @@ class WordsController < ApplicationController
# end # end
# render 'test/index' # render 'test/index'
# } # }
format.js{ format.js {
@save_succ = true if @jfm.errors.empty? @user_activity_id = params[:user_activity_id] if
@activity = JournalsForMessage.find(parent_id)
} }
end end
end end
def destroy def destroy

@ -16,7 +16,7 @@ class JournalReply < ActiveRecord::Base
replier = User.find(self.reply_id) replier = User.find(self.reply_id)
receivers = [] receivers = []
# 被回复的人发送消息 # 被回复的人发送消息
if journal.user_id != self.reply_id && self.reply_id != journal.issue.author_id if journal.user_id != self.reply_id && self.reply_id != journal.issue.author_id && self.reply_id != journal.issue.assigned_to_id
receivers << replier receivers << replier
end end
if journal.user_id != journal.issue.author_id && self.reply_id != journal.issue.author_id if journal.user_id != journal.issue.author_id && self.reply_id != journal.issue.author_id

@ -185,7 +185,7 @@ class JournalsForMessage < ActiveRecord::Base
#课程动态公共表记录 #课程动态公共表记录
def act_as_course_activity def act_as_course_activity
if self.jour_type == 'Course' if self.jour_type == 'Course' && self.m_parent_id.nil?
self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.jour_id) self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.jour_id)
end end
end end

@ -194,7 +194,7 @@ class Message < ActiveRecord::Base
#课程动态公共表记录 #课程动态公共表记录
def act_as_course_activity def act_as_course_activity
if self.course if self.course && self.parent_id.nil?
self.course_acts << CourseActivity.new(:user_id => self.author_id,:course_id => self.board.course_id) self.course_acts << CourseActivity.new(:user_id => self.author_id,:course_id => self.board.course_id)
end end
end end

@ -0,0 +1,108 @@
<%= javascript_include_tag "/assets/kindeditor/kindeditor", '/assets/kindeditor/pasteimg', "init_activity_KindEditor" %>
<style type="text/css">
/*回复框*/
div.ke-toolbar {
display: none;
width: 400px;
border: none;
background: none;
padding: 0px 0px;
}
span.ke-toolbar-icon {
line-height: 26px;
font-size: 14px;
padding-left: 26px;
}
span.ke-toolbar-icon-url {
background-image: url(/images/public_icon.png)
}
div.ke-toolbar .ke-outline {
padding: 0px 0px;
line-height: 26px;
font-size: 14px;
}
span.ke-icon-emoticons {
background-position: 0px -671px;
width: 50px;
height: 26px;
}
span.ke-icon-emoticons:hover {
background-position: -79px -671px;
width: 50px;
height: 26px;
}
div.ke-toolbar .ke-outline {
border: none;
}
.ke-inline-block {
display: none;
}
div.ke-container {
float: left;
}
</style>
<% course_activities.each do |activity| if course_activities %>
<script>
function expand_reply(container, btnid) {
var target = $(container);
var btn = $(btnid);
if (btn.data('init') == '0') {
btn.data('init', 1);
btn.html('收起回复(' + btn.data('count') + ')');
target.show();
} else {
btn.data('init', 0);
btn.html('展开更多(' + btn.data('count') + ')');
target.hide();
target.eq(0).show();
target.eq(1).show();
}
}
function expand_reply_input(id) {
$(id).toggle();
}
$(function () {
init_activity_KindEditor_data(<%= activity.id%>, null, "87%");
});
</script>
<% if activity %>
<% act = activity.course_act %>
<% case activity.course_act_type.to_s %>
<% when 'HomeworkCommon' %>
<%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id} %>
<% when 'News' %>
<%= render :partial => 'users/course_news', :locals => {:activity => act, :user_activity_id => activity.id} %>
<% when 'Message' %>
<%= render :partial => 'users/course_message', :locals => {:activity => act, :user_activity_id => activity.id} %>
<% when 'Poll' %>
<%= render :partial => 'users/course_poll', :locals => {:activity => act, :user_activity_id => activity.id} %>
<% when 'JournalsForMessage' %>
<%= render :partial => 'users/course_journalsformessage', :locals => {:activity => act, :user_activity_id => activity.id} %>
<% when 'Attachment' %>
<%= render :partial => 'users/course_attachment', :locals => {:activity => act, :user_activity_id => activity.id} %>
<% when 'Course' %>
<%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => activity.id} %>
<% end %>
<% end %>
<% end %>
<% end %>
<% if course_activities.count == 10 %>
<div id="show_more_course_activities" class="loadMore mt10 f_grey">展开更多<%= link_to "", course_activity_path(@course.id, :type => type, :page => page), :id => "more_course_activities_link", :remote => "true", :class => "none" %></div>
<% end %>
<script type="text/javascript">
$("#show_more_course_activities").mouseover(function () {
$("#more_course_activities_link").click();
});
</script>

@ -1,83 +1,32 @@
<div class="project_r_h">
<h2 class="fl project_h2"><%= l(:label_activity)%></h2>
</div>
<%@course_activities.each do |activity|%>
<div class="problem_main" nhname="container">
<a class="problem_pic fl">
<%= image_tag(url_to_avatar(activity.user), :width => "42", :height => "42") %>
</a>
<div class="problem_txt fl mt5 upload_img list_style">
<%= link_to_user_header(activity.user,false,:class => 'problem_name c_orange fl') %>
<span class="fl"> &nbsp;</span>
<span class="fl"> <%= activity.course_act_type == "Course" ? "创建了课程" : l(:label_new_activity) %></span>
<%#= link_to "#{eventToLanguageCourse(e.event_type, @course)} "<< format_activity_title(e.event_title), link,
:class => "problem_tit c_dblue fl fb",'data-type'=>e.event_type,
'data-notify-id'=>(e.respond_to?('get_notify_id') ? e.get_notify_id : ''),:nhname=>"nh_act_link",
'data-href'=>(course_activity_notifys_path(@course)+"/chang_read_flag?an_id="+(e.respond_to?('get_notify_id') ? e.get_notify_id : '').to_s)%>
<%#if @controller_name=='ActivityNotifys' && e.get_notify_is_read!=1%>
<!--span nhname="nh_act_flag" class="ml10 fl"><img src="/images/new.png" width="35" height="15"/></span-->
<%#end%>
<%= link_to course_activity_link activity%>
<div class="cl"></div>
<p class="mt5 break_word">
<%= course_activity_desc activity%>
<br />
<div class="cl"></div>
<%= activity.course_act_type == "Course" ? l(:label_create_time) : l(:label_activity_time) %> <%= format_time(activity.created_at) %>
</p>
<%= link_to_attachments_course(activity.course_act) if activity.course_act_type.to_s == "News" %>
</div>
<div class="cl"></div>
</div><!--课程动态 end-->
<% end%>
<ul class="wlist">
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
</ul>
<div class="cl"></div>
<script type="text/javascript"> <script type="text/javascript">
$(function(){ $(function(){
function nh_new_notify_count_show(){ $("#RSide").removeAttr("id");
var new_notify_count = $("#new_notify_count").html(); $("#homework_page_right").css("min-height",$("#LSide").height()-30);
if(new_notify_count>0){ $("#Container").css("width","1000px");
$("#new_notify_count").parent('span').show(); });
}else{
$("#new_notify_count").parent('span').hide();
}
}
$("div[nhname='container']").each(function(){
var container = $(this);
var btn = $("a[nhname='nh_act_link']",container);
if(btn.data('notify-id')>0){
btn.attr('target','_blank');
btn.click(function(){
var flag = $("span[nhname='nh_act_flag']",container);
if(flag!=undefined){
var url = $(this).data('href');
$.ajax({url:url,dataType:'text',success:function(data){
if(data == 'true'){
flag.remove();
$("#new_notify_count").html($("#new_notify_count").html()-1);
nh_new_notify_count_show();
}
}});
}
return true;
});
}
});
$("label[nhname='nh_act_link_all']").click(function(){
var url = $(this).data('href');
$.ajax({url:url,dataType:'text',success:function(data){
if(data == 'true'){
$("span[nhname='nh_act_flag']").remove();
$("#new_notify_count").html('0');
nh_new_notify_count_show();
}
}});
});
nh_new_notify_count_show();
});
</script> </script>
<input type="hidden" value="<%= @type%>" name="type" id="user_activities_type">
<div class="homepageRight mt0 ml10">
<div class="homepageRightBanner">
<div class="NewsBannerName">课程动态</div>
<ul class="resourcesSelect">
<li class="resourcesSelected"><a href="javascript:void(0);" class="resourcesIcon"></a>
<ul class="homepagePostType">
<li>
<ul class="homepagePostTypeHomework fl">
<li><%= link_to "全部动态", {:controller => "courses", :action => "show", :type => nil}, :class =>"homepagePostTypeAll postTypeGrey"%></li>
<li><%= link_to "作业动态", {:controller => "courses", :action => "show", :type => "homework"}, :class => "homepagePostTypeAssignment postTypeGrey"%></li>
<li><%= link_to "通知动态", {:controller => "courses", :action => "show", :type => "news"}, :class => "homepagePostTypeNotice postTypeGrey"%></li>
<li><%= link_to "资源库动态", {:controller => "courses", :action => "show", :type => "attachment"}, :class => "resourcesTypeAtt resourcesGrey"%></li>
<li><%= link_to "论坛动态", {:controller => "courses", :action => "show", :type => "message"}, :class => "homepagePostTypeForum postTypeGrey"%></li>
<li><%= link_to "留言动态", {:controller => "courses", :action => "show", :type => "journalsForMessage"}, :class => "homepagePostTypeQuiz postTypeGrey"%></li>
<li><%= link_to "问卷动态", {:controller => "courses", :action => "show", :type => "poll"}, :class => "homepagePostTypeQuiz postTypeGrey"%></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<%= render :partial => 'courses/course_activity', :locals => {:course_activities => @course_activities,:page => 0,:type => @type} %>
</div>

@ -0,0 +1 @@
$("#show_more_course_activities").replaceWith("<%= escape_javascript( render :partial => 'courses/course_activity',:locals => {:course_activities => @course_activities, :page => @page,:type => @type} )%>");

@ -0,0 +1,83 @@
<div class="project_r_h">
<h2 class="fl project_h2"><%= l(:label_activity)%></h2>
</div>
<%@course_activities.each do |activity|%>
<div class="problem_main" nhname="container">
<a class="problem_pic fl">
<%= image_tag(url_to_avatar(activity.user), :width => "42", :height => "42") %>
</a>
<div class="problem_txt fl mt5 upload_img list_style">
<%= link_to_user_header(activity.user,false,:class => 'problem_name c_orange fl') %>
<span class="fl"> &nbsp;</span>
<span class="fl"> <%= activity.course_act_type == "Course" ? "创建了课程" : l(:label_new_activity) %></span>
<%#= link_to "#{eventToLanguageCourse(e.event_type, @course)} "<< format_activity_title(e.event_title), link,
:class => "problem_tit c_dblue fl fb",'data-type'=>e.event_type,
'data-notify-id'=>(e.respond_to?('get_notify_id') ? e.get_notify_id : ''),:nhname=>"nh_act_link",
'data-href'=>(course_activity_notifys_path(@course)+"/chang_read_flag?an_id="+(e.respond_to?('get_notify_id') ? e.get_notify_id : '').to_s)%>
<%#if @controller_name=='ActivityNotifys' && e.get_notify_is_read!=1%>
<!--span nhname="nh_act_flag" class="ml10 fl"><img src="/images/new.png" width="35" height="15"/></span-->
<%#end%>
<%= link_to course_activity_link activity%>
<div class="cl"></div>
<p class="mt5 break_word">
<%= course_activity_desc activity%>
<br />
<div class="cl"></div>
<%= activity.course_act_type == "Course" ? l(:label_create_time) : l(:label_activity_time) %> <%= format_time(activity.created_at) %>
</p>
<%= link_to_attachments_course(activity.course_act) if activity.course_act_type.to_s == "News" %>
</div>
<div class="cl"></div>
</div><!--课程动态 end-->
<% end%>
<ul class="wlist">
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
</ul>
<div class="cl"></div>
<script type="text/javascript">
$(function(){
function nh_new_notify_count_show(){
var new_notify_count = $("#new_notify_count").html();
if(new_notify_count>0){
$("#new_notify_count").parent('span').show();
}else{
$("#new_notify_count").parent('span').hide();
}
}
$("div[nhname='container']").each(function(){
var container = $(this);
var btn = $("a[nhname='nh_act_link']",container);
if(btn.data('notify-id')>0){
btn.attr('target','_blank');
btn.click(function(){
var flag = $("span[nhname='nh_act_flag']",container);
if(flag!=undefined){
var url = $(this).data('href');
$.ajax({url:url,dataType:'text',success:function(data){
if(data == 'true'){
flag.remove();
$("#new_notify_count").html($("#new_notify_count").html()-1);
nh_new_notify_count_show();
}
}});
}
return true;
});
}
});
$("label[nhname='nh_act_link_all']").click(function(){
var url = $(this).data('href');
$.ajax({url:url,dataType:'text',success:function(data){
if(data == 'true'){
$("span[nhname='nh_act_flag']").remove();
$("#new_notify_count").html('0');
nh_new_notify_count_show();
}
}});
});
nh_new_notify_count_show();
});
</script>

@ -25,7 +25,7 @@
<%= render :partial => 'layouts/unlogin_header' %> <%= render :partial => 'layouts/unlogin_header' %>
<% end%> <% end%>
</div> </div>
<div class="cl"></div>
<div class="homepageContentContainer"> <div class="homepageContentContainer">
<!--div class="homepageRightBannerImg"></div--> <!--div class="homepageRightBannerImg"></div-->
<div class="cl"></div> <div class="cl"></div>

@ -1,28 +1,29 @@
<div class="resources mt10"> <div class="resources mt10">
<div class="homepagePostBrief" onmouseover="$('#act-<%=user_activity.id %>').css('visibility','visible')" onmouseout="$('.homepagePostSetting').css('visibility','hidden')"> <div class="homepagePostBrief">
<div class="homepagePostPortrait"> <div class="homepagePostPortrait">
<!-- <a href="javascript:void(0);"><img src="images/homepageImage.jpg" width="90" height="90" alt="用户头像"/></a>-->
<%= link_to image_tag(url_to_avatar(activity.author), :width => "50", :height => "50"), user_path(activity.author_id), :alt => "用户头像" %> <%= link_to image_tag(url_to_avatar(activity.author), :width => "50", :height => "50"), user_path(activity.author_id), :alt => "用户头像" %>
</div> </div>
<div class="homepagePostDes"> <div class="homepagePostDes">
<div class="homepagePostTo"> <div class="homepagePostTo break_word">
<% if activity.try(:author).try(:realname) == ' ' %> <% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %> <%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %> <% else %>
<%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %> <%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% end %> <% end %>
TO TO
<%= link_to activity.course.name.to_s+"(课程名称)", course_path(activity.container_id), :class => "newsBlue ml15", :style=>"word-break:break-all" %> <%= link_to activity.course.name.to_s+" | 课程资源", course_files_path(activity.course), :class => "newsBlue ml15" %>
<!--<a href="javascript:void(0);" class="newsBlue ml15">分布式计算环境(课程名称)</a>-->
</div> </div>
<div class="homepagePostTitle"> <div class="homepagePostTitle break_word" >
<a href="javascript:void(0);" class="postGrey"><%=activity.filename.to_s(附件名称)%></a> <%= link_to activity.filename, course_files_path(activity.course), :class => "postGrey" %>
</div> </div>
<div class="homepagePostSubmitContainer"> <div class="homepagePostSubmitContainer">
<div class="homepagePostDeadline">时间:<%= format_date(activity.created_on) %></div> <div class="homepagePostDeadline mr15">
文件大小:
<%= number_to_human_size activity.filesize%>
</div>
<div class="homepagePostDeadline">上传时间:<%= format_time(activity.created_on) %></div>
</div> </div>
<div class="homepagePostIntro">(附件描述)<%=activity.description.to_s%></div> <div class="homepagePostSetting" id="act-<%= user_activity_id %>" style="visibility: hidden">
<div class="homepagePostSetting" id="act-<%= user_activity.id %>" style="visibility: hidden">
<ul> <ul>
<li class="homepagePostSettingIcon"> <li class="homepagePostSettingIcon">
<ul class="homepagePostSettiongText"> <ul class="homepagePostSettiongText">

@ -1,18 +1,25 @@
<div class="resources mt10"> <div class="resources mt10">
<div class="homepagePostBrief" onmouseover="$('#act-<%=user_activity.id %>').css('visibility','visible')" onmouseout="$('.homepagePostSetting').css('visibility','hidden')"> <div class="homepagePostBrief">
<div class="homepagePostPortrait"> <div class="homepagePostPortrait">
<a href="javascript:void(0);"><img src="images/homepageImage.jpg" width="50" height="50" alt="用户头像"/></a></div> <%= link_to image_tag(url_to_avatar(activity.teacher), :width => "50", :height => "50"), user_path(activity.tea_id), :alt => "用户头像" %>
</div>
<div class="homepagePostDes"> <div class="homepagePostDes">
<div class="homepagePostTo"><a href="javascript:void(0);" class="newsBlue mr15">尹教授</a> TO <div class="homepagePostTo break_word">
<a href="javascript:void(0);" class="newsBlue ml15">分布式计算环境(课程名称)</a></div> <% if activity.try(:teacher).try(:realname) == ' ' %>
<div class="homepagePostTitle"> <%= link_to activity.try(:teacher), user_path(activity.tea_id), :class => "newsBlue mr15" %>
<a href="javascript:void(0);" class="postGrey">ckeditor值设置的默认在光标聚焦控件后应自动消失的处理课程创建</a></div> <% else %>
<div class="homepagePostSubmitContainer"> <%= link_to activity.try(:teacher).try(:realname), user_path(activity.tea_id), :class => "newsBlue mr15" %>
<div class="homepagePostSubmit"><a href="javascript:void(0);" class="c_blue">提交10</a></div> <% end %>
<div class="homepagePostDeadline">截止时间2015-08-20</div> TO
<%= link_to activity.name.to_s+" | 课程", course_path(activity.id,:host=>Setting.host_course), :class => "newsBlue ml15" %>
</div>
<div class="homepagePostTitle break_word" >
<%= link_to activity.name, course_path(activity.id,:host=>Setting.host_course), :class => "postGrey" %>
</div>
<div class="homepagePostDate">
创建时间:<%= format_time(activity.created_at) %>
</div> </div>
<div class="homepagePostIntro">作业描述系统中有多个ckeditor且每个ckeditor的id未知怎么样做到当光标聚焦某个ckeditor的文本框中该编辑器的默认值应自动消失的处理网络拓扑图开发</div> <div class="homepagePostSetting" id="act-<%= user_activity_id %>" style="visibility: hidden">
<div class="homepagePostSetting" id="act-<%= user_activity.id %>" style="visibility: hidden">
<ul> <ul>
<li class="homepagePostSettingIcon"> <li class="homepagePostSettingIcon">
<ul class="homepagePostSettiongText"> <ul class="homepagePostSettiongText">

@ -1,29 +1,123 @@
<div class="resources mt10"> <div class="resources mt10" id="user_activity_<%= user_activity_id%>">
<div class="homepagePostBrief" onmouseover="$('#act-<%=user_activity.id %>').css('visibility','visible')" onmouseout="$('.homepagePostSetting').css('visibility','hidden')"> <div class="homepagePostBrief">
<div class="homepagePostPortrait"> <div class="homepagePostPortrait">
<a href="javascript:void(0);"><img src="images/homepageImage.jpg" width="50" height="50" alt="用户头像"/></a></div> <%= link_to image_tag(url_to_avatar(activity.user), :width => "50", :height => "50"), user_path(activity.user_id), :alt => "用户头像" %>
</div>
<div class="homepagePostDes"> <div class="homepagePostDes">
<div class="homepagePostTo"><a href="javascript:void(0);" class="newsBlue mr15">尹教授</a> TO <div class="homepagePostTo break_word">
<a href="javascript:void(0);" class="newsBlue ml15">分布式计算环境(课程名称)</a></div> <% if @ctivity.try(:user).try(:realname) == ' ' %>
<div class="homepagePostTitle"> <%= link_to activity.try(:user), user_path(activity.user_id), :class => "newsBlue mr15" %>
<a href="javascript:void(0);" class="postGrey">ckeditor值设置的默认在光标聚焦控件后应自动消失的处理留言</a></div> <% else %>
<div class="homepagePostSubmitContainer"> <%= link_to activity.try(:user).try(:realname), user_path(activity.user_id), :class => "newsBlue mr15" %>
<div class="homepagePostSubmit"><a href="javascript:void(0);" class="c_blue">提交10</a></div> <% end %> TO
<div class="homepagePostDeadline">截止时间2015-08-20</div> <% course=Course.find(activity.jour_id) %>
<%= link_to course.name.to_s+" | 课程留言", course_feedback_path(course), :class => "newsBlue ml15" %>
</div>
<div class="homepagePostTitle break_word list_style upload_img">
<% if activity.m_parent_id.nil? %>
<%= link_to activity.notes.html_safe, course_feedback_path(course), :class => "postGrey" %>
<% else %>
<%= link_to activity.parent.notes.html_safe, course_feedback_path(course), :class => "postGrey" %>
<% end %>
</div> </div>
<div class="homepagePostIntro">作业描述系统中有多个ckeditor且每个ckeditor的id未知怎么样做到当光标聚焦某个ckeditor的文本框中该编辑器的默认值应自动消失的处理网络拓扑图开发</div> <div class="homepagePostDate">
<div class="homepagePostSetting" id="act-<%= user_activity.id %>" style="visibility: hidden"> 留言时间:<%= format_time(activity.created_on) %>
<ul>
<li class="homepagePostSettingIcon">
<ul class="homepagePostSettiongText">
<li><a href="javascript:void(0);" class="postOptionLink">编辑</a></li>
<li><a href="javascript:void(0);" class="postOptionLink">复制</a></li>
<li><a href="javascript:void(0);" class="postOptionLink">删除</a></li>
</ul>
</li>
</ul>
</div> </div>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
</div> </div>
<% count=course.journals_for_messages.where('m_parent_id IS NULL').count %>
<div class="homepagePostReply">
<div class="topBorder" style="display: <%= count>0 ? 'none': '' %>"></div>
<div class="homepagePostReplyBanner" style="display: <%= count>0 ? '': 'none' %>">
<div class="homepagePostReplyBannerCount" onclick="expand_reply_input('#reply_input_<%= user_activity_id %>');">
回复(<%= count %>
</div>
<div class="homepagePostReplyBannerTime"></div>
<%if count>2 %>
<div class="homepagePostReplyBannerMore">
<a id="reply_btn_<%=user_activity_id%>" onclick="expand_reply('#reply_div_<%= user_activity_id %> li','#reply_btn_<%=user_activity_id%>')" data-count="<%= count %>" data-init="0" class=" replyGrey" href="javascript:void(0)" value="show_help" >
展开更多
</a>
</div>
<% end %>
</div>
<% replies_all_i = 0 %>
<% if count > 0 %>
<div class="" id="reply_div_<%= user_activity_id %>">
<ul>
<% course.journals_for_messages.where('m_parent_id IS NULL').reorder("created_on desc").each do |comment| %>
<% replies_all_i = replies_all_i + 1 %>
<li class="homepagePostReplyContainer" nhname="reply_rec" style="display:<%= replies_all_i > 2 ? 'none' : '' %>">
<div class="homepagePostReplyPortrait">
<%= link_to image_tag(url_to_avatar(comment.user), :width => "33", :height => "33", :class =>"mt8"), user_path(comment.user_id), :alt => "用户头像" %>
</div>
<div class="homepagePostReplyDes">
<div class="homepagePostReplyPublisher">
<% if comment.try(:user).try(:realname) == ' ' %>
<%= link_to comment.try(:user), user_path(comment.user_id), :class => "newsBlue mr10 f14" %>
<% else %>
<%= link_to comment.try(:user).try(:realname), user_path(comment.user_id), :class => "newsBlue mr10 f14" %>
<% end %>
<%= format_time(comment.created_on) %>
</div>
<div class="homepagePostReplyContent break_word list_style upload_img"><%= comment.notes.html_safe %></div>
<% fetch_user_leaveWord_reply(comment).each do |reply| unless fetch_user_leaveWord_reply(comment).nil? %>
<div class="recall">
<div class="homepagePostReplyPortrait">
<%= link_to image_tag(url_to_avatar(reply.user), :width => "33", :height => "33", :class =>"mt8"), user_path(reply.user_id), :alt => "用户头像" %>
</div>
<div class="homepagePostReplyjournal">
<div class="homepagePostReplyPublisher">
<% if reply.try(:user).try(:realname) == ' ' %>
<%= link_to reply.try(:user), user_path(reply.user_id), :class => "newsBlue mr10 f14" %>
<% else %>
<%= link_to reply.try(:user).try(:realname), user_path(reply.user_id), :class => "newsBlue mr10 f14" %>
<% end %>
<%= l(:label_reply_to)%>
<% if comment.try(:user).try(:realname) == ' ' %>
<%= link_to comment.try(:user), user_path(comment.user_id), :class => "newsBlue mr10 f14 ml10" %>
<% else %>
<%= link_to comment.try(:user).try(:realname), user_path(comment.user_id), :class => "newsBlue mr10 f14 ml10" %>
<% end %>
<%= format_time reply.created_on %>
</div>
<div class="homepagePostReplyContent break_word list_style upload_img"><%= reply.notes.html_safe %></div>
<div class="cl"></div>
</div>
<div class="cl"></div>
</div>
<% end %>
<% end %>
</div>
<div class="cl"></div>
</li>
<% end %>
</ul>
</div>
<% end %>
<div class="homepagePostReplyContainer borderBottomNone minHeight48">
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= user_activity_id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), :alt => "用户头像" %></div>
<div class="homepagePostReplyInputContainer mb10">
<div nhname='new_message_<%= user_activity_id%>' style="display:none;">
<%= form_for('new_form',:url => {:controller => 'words', :action => 'create_reply', :id => activity.id},:method => "post", :remote => true) do |f|%>
<%= hidden_field_tag 'reference_id', params[:reference_id], :value => activity.id %>
<%= hidden_field_tag 'reference_user_id', params[:reference_user_id], :value => activity.user.id %>
<%= hidden_field_tag 'reference_message_id', params[:reference_message_id], :value => activity.id %>
<%= hidden_field_tag 'show_name',params[:show_name],:value =>true %>
<%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>user_activity_id %>
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= user_activity_id%>' name="user_notes"></textarea>
<div nhname='toolbar_container_<%= user_activity_id%>' style="float:left;padding-top:3px; margin-left: 5px;"></div>
<a id="new_message_submit_btn_<%= user_activity_id%>" href="javascript:void(0)" class="blue_n_btn fr" style="display:none;margin-top:6px;">发送</a>
<div class="cl"></div>
<p nhname='contentmsg_<%= user_activity_id%>'></p>
<% end%>
</div>
<div class="cl"></div>
</div>
<div class="cl"></div>
</div>
</div>
</div> </div>

@ -87,7 +87,7 @@
<% end %> <% end %>
<%= format_time(reply.created_on) %> <%= format_time(reply.created_on) %>
</div> </div>
<div class="homepagePostReplyContent break_word list_style"> <div class="homepagePostReplyContent break_word list_style upload_img">
<%= reply.content.html_safe %> <%= reply.content.html_safe %>
</div> </div>
</div> </div>

@ -60,7 +60,7 @@
<% end %> <% end %>
<%= format_time(comment.created_on) %> <%= format_time(comment.created_on) %>
</div> </div>
<div class="homepagePostReplyContent break_word list_style"><%= comment.comments.html_safe %></div> <div class="homepagePostReplyContent break_word list_style upload_img"><%= comment.comments.html_safe %></div>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
</li> </li>

@ -97,7 +97,7 @@
<% end %> <% end %>
<%= format_time(reply.created_on) %> <%= format_time(reply.created_on) %>
</div> </div>
<div class="homepagePostReplyContent break_word"> <div class="homepagePostReplyContent break_word list_style upload_img">
<% if reply.details.any? %> <% if reply.details.any? %>
<% details_to_strings(reply.details).each do |string| %> <% details_to_strings(reply.details).each do |string| %>
<p><%= string %></p> <p><%= string %></p>

@ -74,7 +74,7 @@
<% end %> <% end %>
<%= format_time(reply.created_on) %> <%= format_time(reply.created_on) %>
</div> </div>
<div class="homepagePostReplyContent break_word list_style"><%= reply.content.html_safe %></div> <div class="homepagePostReplyContent break_word list_style upload_img"><%= reply.content.html_safe %></div>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
</li> </li>

@ -51,7 +51,7 @@
<li class="homepageNewsPubType fl"> <li class="homepageNewsPubType fl">
<span class="newsBlue homepageNewsPublisher">Trustie平台</span><span class="homepageNewsType fl">发布新消息:</span> <span class="newsBlue homepageNewsPublisher">Trustie平台</span><span class="homepageNewsType fl">发布新消息:</span>
</li> </li>
<span style="color: red;float: left">【系统消息】</span><li class="homepageSystenMessageContent fl" id="content_<%= usm.id %>"> <span style="color: red;float: left">【系统消息】</span>
<li class="homepageSystenMessageContent fl"> <li class="homepageSystenMessageContent fl">
<%= link_to usm.subject.blank? ? (usm.content.nil? ? usm.description.html_safe : usm.content.html_safe) : usm.subject, user_system_messages_path(User.current), <%= link_to usm.subject.blank? ? (usm.content.nil? ? usm.description.html_safe : usm.content.html_safe) : usm.subject, user_system_messages_path(User.current),
@ -127,18 +127,7 @@
:onmouseover =>"message_titile_show($(this),event)", :onmouseover =>"message_titile_show($(this),event)",
:onmouseout => "message_titile_hide($(this))" %></a></li> :onmouseout => "message_titile_hide($(this))" %></a></li>
<div style="display: none" class="message_title_red system_message_style"> <div style="display: none" class="message_title_red system_message_style">
<% if User.current.members.where("course_id = ?", ma.course_message.course.id).first.roles.first.name == 'Student' %> <% if User.current.allowed_to?(:as_teacher,ma.course_message) %>
<p><%= User.current.lastname + User.current.firstname %>同学你好!<%= ma.course_message.user.lastname + ma.course_message.user.firstname %>老师刚刚发布了一个作业:</p>
<p>课程名称:<%= ma.course_message.course.name %>
(<%= ma.course_message.course.term %>)</p>
<p>作业标题:<span style="color:Red;"><%= ma.course_message.name %></span></p>
<p>提交截止:<span style="color:Red;"><%= ma.course_message.end_time %>&nbsp;&nbsp;24点</span></p>
<p>匿评关闭:<span style="color:Red;"><%= ma.course_message.homework_detail_manual.evaluation_end %>&nbsp;&nbsp;24点</span></p>
<p>迟交扣分:<span style="color:Red;"><%= ma.course_message.late_penalty %>分</span></p>
<p>
请抓紧时间提交自己的作品,谢谢!
</p>
<% else %>
<p> <p>
<%= User.current.lastname + User.current.firstname %>老师您好! <%= User.current.lastname + User.current.firstname %>老师您好!
<%= ma.course_message.user.lastname + ma.course_message.user.firstname %>老师刚刚发布了一个作业: <%= ma.course_message.user.lastname + ma.course_message.user.firstname %>老师刚刚发布了一个作业:
@ -154,6 +143,17 @@
<p> <p>
您可以修改作业内容、评分规则、匿评过程等,谢谢! 您可以修改作业内容、评分规则、匿评过程等,谢谢!
</p> </p>
<% else %>
<p><%= User.current.lastname + User.current.firstname %>同学你好!<%= ma.course_message.user.lastname + ma.course_message.user.firstname %>老师刚刚发布了一个作业:</p>
<p>课程名称:<%= ma.course_message.course.name %>
(<%= ma.course_message.course.term %>)</p>
<p>作业标题:<span style="color:Red;"><%= ma.course_message.name %></span></p>
<p>提交截止:<span style="color:Red;"><%= ma.course_message.end_time %>&nbsp;&nbsp;24点</span></p>
<p>匿评关闭:<span style="color:Red;"><%= ma.course_message.homework_detail_manual.evaluation_end %>&nbsp;&nbsp;24点</span></p>
<p>迟交扣分:<span style="color:Red;"><%= ma.course_message.late_penalty %>分</span></p>
<p>
请抓紧时间提交自己的作品,谢谢!
</p>
<% end %> <% end %>
</div> </div>
<li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li> <li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li>
@ -191,26 +191,26 @@
请同学们抓紧时间提交自己的作品,谢谢! 请同学们抓紧时间提交自己的作品,谢谢!
</p> </p>
<% else %> <% else %>
<p><%= User.current.lastname + User.current.firstname %>您好! <p><%= User.current.lastname + User.current.firstname %>老师您好!
<%= ma.course_message.user.lastname + ma.course_message.user.firstname %> <%= ma.course_message.user.lastname + ma.course_message.user.firstname %>
老师发布的作业截止日期快到了:</p> 老师发布的作业截止日期快到了:</p>
<p><strong>课程名称:</strong><%= ma.course_message.course.name %> <p>课程名称:<%= ma.course_message.course.name %>
(<%= ma.course_message.course.term %>)</p> (<%= ma.course_message.course.term %>)</p>
<p><strong>作业标题:</strong><%= ma.course_message.name %></p> <p>作业标题:<span style="color:Red;"><%= ma.course_message.name %></span></p>
<p><strong>提交截止:</strong><%= ma.course_message.end_time %>@nbsp;@nbsp;24点</p> <p>提交截止:<span style="color:Red;"><%= ma.course_message.end_time %>@nbsp;@nbsp;24点</span></p>
<p><strong>匿评开始:</strong><%= ma.course_message.homework_detail_manual.evaluation_start %> <p>匿评开始:<span style="color:Red;"><%= ma.course_message.homework_detail_manual.evaluation_start %>
@nbsp;@nbsp;24点</p> @nbsp;@nbsp;24点</span></p>
<p><strong>匿评关闭:</strong><%= ma.course_message.homework_detail_manual.evaluation_end %> <p>匿评关闭:<span style="color:Red;"><%= ma.course_message.homework_detail_manual.evaluation_end %>
@nbsp;@nbsp;24点</p> @nbsp;@nbsp;24点</span></p>
<p><strong>迟交扣分:</strong><%= ma.course_message.late_penalty %>分</p> <p>迟交扣分:<span style="color:Red;"><%= ma.course_message.late_penalty %>分</span></p>
<p><strong>缺评扣分:</strong><%= ma.course_message.homework_detail_manual.absence_penalty %>分 <p>缺评扣分:<span style="color:Red;"><%= ma.course_message.homework_detail_manual.absence_penalty %>分</span>
</p> </p>
<p> <p>
@ -239,14 +239,15 @@
:onmouseout => "message_titile_hide($(this))" %> :onmouseout => "message_titile_hide($(this))" %>
</li> </li>
<div style="display: none" class="message_title_red system_message_style"> <div style="display: none" class="message_title_red system_message_style">
<p>您好!<%= ma.course_message.user.lastname + ma.course_message.user.firstname %>老师开启了匿评,作业详情如下:</p> <p>
<p><strong>课程:</strong><%= ma.course_message.course.name %>(<%= ma.course_message.course.term %>)</p> <%= User.current.lastname + User.current.firstname %><%= User.current.members.where("course_id=?", ma.course.id).first.roles.first.name == 'Student' ? '同学' : '老师' %>
<p><strong>作业标题:</strong><%= ma.course_message.name %></p> 您好!<%= ma.course_message.user.lastname + ma.course_message.user.firstname %>老师开启了匿评,作业详情如下:
<% unless ma.course_message.description.blank? %> </p>
<div class="fl"><strong>作业内容:</strong></div> <p>课程名称:<%= ma.course_message.course.name %>(<%= ma.course_message.course.term %>)</p>
<div class="ml60"><%= ma.course_message.description.html_safe %></div> <p>作业标题:<span style="color:Red;"><%= ma.course_message.name %></span></p>
<% end %>
<p><strong>匿评自动关闭日期:</strong><%= ma.course_message.homework_detail_manual.evaluation_end %> <p>
匿评开启:<span style="color:Red;"><%= ma.course_message.homework_detail_manual.evaluation_end %>&nbsp;&nbsp;24点</span>
</p> </p>
</div> </div>
<li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li> <li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li>
@ -265,8 +266,10 @@
:onmouseout => "message_titile_hide($(this))"%> :onmouseout => "message_titile_hide($(this))"%>
</li> </li>
<div style="display: none" class="message_title_red system_message_style"> <div style="display: none" class="message_title_red system_message_style">
<p>您好!<%= ma.course_message.user.lastname + ma.course_message.user.firstname %>老师关闭了匿评,作业详情如下:</p> <p>
<p><strong>课程:</strong><%= ma.course_message.course.name %>(<%= ma.course_message.course.term %>)</p> <%= User.current.lastname + User.current.firstname %><%= User.current.members.where("course_id=?", ma.course.id).first.roles.first.name == 'Student' ? '同学':'老师'%>您好!<%= ma.course_message.user.lastname + ma.course_message.user.firstname %>老师关闭了匿评,作业详情如下:
</p>
<p>课程名称:<%= ma.course_message.course.name %>(<%= ma.course_message.course.term %>)</p>
<p><strong>作业标题:</strong><%= ma.course_message.name %></p> <p><strong>作业标题:</strong><%= ma.course_message.name %></p>
<% unless ma.course_message.description.blank? %> <% unless ma.course_message.description.blank? %>
<div class="fl"><strong>作业内容:</strong></div> <div class="fl"><strong>作业内容:</strong></div>

@ -1,27 +1,30 @@
<% if @save_succ %> <% if @save_succ %>
<% if !@jfm.nil? && @jfm.jour_type == 'Principal' %> <% if @user_activity_id %>
$("#<%= @jfm.m_parent_id%>").children("div[nhname='reply_list']").prepend("<%= escape_javascript( render(:partial => 'users/user_jour_reply',:locals => {:reply=>@jfm} )) %>"); $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_journalsformessage', :locals => {:activity => @activity,:user_activity_id =>@user_activity_id}) %>");
div_1 = $("#<%= @jfm.m_reply_id%>").children("div[nhname='div_form']"); init_activity_KindEditor_data('<%= @user_activity_id%>', "", "87%");
div_1.hide(); <% else %>
div_2 = $("#<%= @jfm.m_reply_id%>").children("div[nhname='sub_div_form']"); <% if !@jfm.nil? && @jfm.jour_type == 'Principal' %>
div_2.hide(); $("#<%= @jfm.m_parent_id%>").children("div[nhname='reply_list']").prepend("<%= escape_javascript( render(:partial => 'users/user_jour_reply',:locals => {:reply=>@jfm} )) %>");
<% else %> div_1 = $("#<%= @jfm.m_reply_id%>").children("div[nhname='div_form']");
div_1.hide();
var pre_append = $('<%= j( div_2 = $("#<%= @jfm.m_reply_id%>").children("div[nhname='sub_div_form']");
render :partial => "words/journal_reply_items", div_2.hide();
:locals => {:reply => @jfm, :journal => @jfm.parent, :m_reply_id => @jfm,:show_name => @show_name} <% else %>
) %>').hide(); var pre_append = $('<%= j(
$('#journal_reply_ul_<%=@jfm.m_parent_id%>').append(pre_append); render :partial => "words/journal_reply_items",
pre_append.fadeIn(600); :locals => {:reply => @jfm, :journal => @jfm.parent, :m_reply_id => @jfm,:show_name => @show_name}
var textarea = $('#project_respond_form_<%=@jfm.m_reply_id.to_s%> textarea'); ) %>').hide();
textarea.val(''); $('#journal_reply_ul_<%=@jfm.m_parent_id%>').append(pre_append);
$('#project_respond_form_<%=@jfm.m_reply_id.to_s%>').hide(); pre_append.fadeIn(600);
var textarea1 = $('#course_respond_form_<%=@jfm.m_reply_id.to_s%> textarea'); var textarea = $('#project_respond_form_<%=@jfm.m_reply_id.to_s%> textarea');
textarea1.val(''); textarea.val('');
$('#course_respond_form_<%=@jfm.m_reply_id.to_s%>').hide(); $('#project_respond_form_<%=@jfm.m_reply_id.to_s%>').hide();
setMaxLengthItem(pre_append.find('textarea')[0]); var textarea1 = $('#course_respond_form_<%=@jfm.m_reply_id.to_s%> textarea');
<% end %> textarea1.val('');
$('#course_respond_form_<%=@jfm.m_reply_id.to_s%>').hide();
setMaxLengthItem(pre_append.find('textarea')[0]);
<% end %>
<% end %>
<% else %> <% else %>
alert("<%= l(:label_feedback_fail) %>"); alert("<%= l(:label_feedback_fail) %>");
<% end %> <% end %>

@ -320,6 +320,8 @@ RedmineApp::Application.routes.draw do
get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details' get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details'
post '/users/:id/user_activities', :to => 'users#show', :as => "user_activities" post '/users/:id/user_activities', :to => 'users#show', :as => "user_activities"
post '/courses/:id/course_activity', :to => 'courses#show', :as => 'course_activity'
#added by young #added by young
resources :users do resources :users do
collection do collection do
@ -775,6 +777,7 @@ RedmineApp::Application.routes.draw do
post 'join_in/join_group', :to => 'courses#join_group', :as => 'join_group' post 'join_in/join_group', :to => 'courses#join_group', :as => 'join_group'
delete 'join_in/join_group', :to => 'courses#unjoin_group' delete 'join_in/join_group', :to => 'courses#unjoin_group'
get 'copy_course' get 'copy_course'
match 'course_activity', :to => 'courses#course_activity', :via => :get, :as => "course_activity"
end end
collection do collection do
match 'join_private_courses', :via => [:get, :post] match 'join_private_courses', :via => [:get, :post]

@ -0,0 +1,53 @@
class AlterActivities < ActiveRecord::Migration
def up
UserActivity.all.each do |activity|
if activity.act_type == 'JournalsForMessage'
if activity.act
unless activity.act.m_parent_id.nil?
parent_act = UserActivity.where("act_id = #{activity.act.parent.id} and act_type='JournalsForMessage' and container_type='Course'").first
if parent_act
parent_act.created_at = activity.act.parent.children.maximum("created_on")
parent_act.save
activity.destroy
end
end
else
activity.destroy
end
end
end
CourseActivity.all.each do |activity|
if activity.course_act_type == 'JournalsForMessage'
if activity.course_act
unless activity.course_act.m_parent_id.nil?
parent_act = CourseActivity.where("course_act_id = #{activity.course_act.parent.id} and course_act_type='JournalsForMessage'").first
if parent_act
parent_act.created_at = activity.course_act.parent.children.maximum("created_on")
parent_act.save
activity.destroy
end
end
else
activity.destroy
end
elsif activity.course_act_type == 'Message'
if activity.course_act
unless activity.course_act.parent_id.nil?
parent_act = CourseActivity.where("course_act_id = #{activity.course_act.parent.id} and course_act_type='Message'").first
if parent_act
parent_act.created_at = activity.course_act.parent.children.maximum("created_on")
parent_act.save
activity.destroy
end
end
else
activity.destroy
end
end
end
end
def down
end
end

@ -0,0 +1,16 @@
class UpdateCourseActivitiesUpdatedAt < ActiveRecord::Migration
def up
count = CourseActivity.all.count / 30 + 2
transaction do
for i in 1 ... count do i
CourseActivity.page(i).per(30).each do |activity|
activity.updated_at = activity.created_at
activity.save
end
end
end
end
def down
end
end

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save