diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 6b421bf2a..1efbc9c48 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -49,8 +49,11 @@ class CommentsController < ApplicationController # end # # ������ض�̬�ļ�¼add end 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.updated_at = @comment.created_on + user_activity.updated_at = Time.now user_activity.save end diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index b30715a1f..e12d4886a 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -8,7 +8,7 @@ class CoursesController < ApplicationController helper :attachments helper :activity_notifys - before_filter :auth_login1, :only => [:show, :feedback] + before_filter :auth_login1, :only => [:show, :course_activity, :feedback] menu_item :overview menu_item :feedback, :only => :feedback menu_item :homework, :only => :homework @@ -610,11 +610,37 @@ class CoursesController < ApplicationController end end + def course_activity + redirect_to course_url(@course, type: params[:type], page: params[:page]) + end + def show - course_activities = @course.course_activities.order("created_at desc") + course_activities = @course.course_activities @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| + format.js format.html{render :layout => 'base_courses'} format.api end diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 2c7df84cf..c6ac8b906 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -162,6 +162,9 @@ class MessagesController < ApplicationController @reply.subject = "RE: #{@topic.subject}" unless params[:reply][:subject] # @reply.reply_id = params[:id] @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.updated_at = Time.now user_activity.save diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb index 77304c1b1..a0ce8d18e 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -53,7 +53,15 @@ class WordsController < ApplicationController :notes => content, :is_readed => false} @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| # format.html { # if @jfm.errors.empty? @@ -63,10 +71,12 @@ class WordsController < ApplicationController # end # render 'test/index' # } - format.js{ - @save_succ = true if @jfm.errors.empty? + format.js { + @user_activity_id = params[:user_activity_id] if + @activity = JournalsForMessage.find(parent_id) } end + end def destroy diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb index 81ada2f80..dde34abfd 100644 --- a/app/models/journals_for_message.rb +++ b/app/models/journals_for_message.rb @@ -185,7 +185,7 @@ class JournalsForMessage < ActiveRecord::Base #课程动态公共表记录 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) end end diff --git a/app/models/message.rb b/app/models/message.rb index 2c46857f8..7af59815b 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -194,7 +194,7 @@ class Message < ActiveRecord::Base #课程动态公共表记录 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) end end diff --git a/app/views/courses/_course_activity.html.erb b/app/views/courses/_course_activity.html.erb new file mode 100644 index 000000000..1a033b372 --- /dev/null +++ b/app/views/courses/_course_activity.html.erb @@ -0,0 +1,108 @@ +<%= javascript_include_tag "/assets/kindeditor/kindeditor", '/assets/kindeditor/pasteimg', "init_activity_KindEditor" %> + +<% course_activities.each do |activity| if course_activities %> + + <% 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 %> +
- <%= course_activity_desc activity%>
-
-
+ <%= course_activity_desc activity%>
+
+
<%= string %>
diff --git a/app/views/users/_project_message.html.erb b/app/views/users/_project_message.html.erb index 2856d6ed1..9be1145ff 100644 --- a/app/views/users/_project_message.html.erb +++ b/app/views/users/_project_message.html.erb @@ -74,7 +74,7 @@ <% end %> <%= format_time(reply.created_on) %>