From bb0db1e21d8ff20be3ffeda0aa7bf93b21ea57ab Mon Sep 17 00:00:00 2001 From: cxt Date: Thu, 24 Sep 2015 16:30:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=8A=A8=E6=80=81=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/comments_controller.rb | 5 +- app/controllers/courses_controller.rb | 32 ++++- app/controllers/messages_controller.rb | 3 + app/controllers/words_controller.rb | 12 +- app/views/courses/_course_activity.html.erb | 108 +++++++++++++++++ app/views/courses/show.html.erb | 110 +++++------------- app/views/courses/show.js.erb | 1 + app/views/courses/show_old.html.erb | 83 +++++++++++++ app/views/layouts/new_base_user.html.erb | 2 +- app/views/users/_course_attachment.html.erb | 23 ++-- app/views/users/_course_create.html.erb | 29 +++-- .../users/_course_journalsformessage.html.erb | 105 +++++++++++++---- app/views/words/create_reply.js.erb | 52 +++++---- config/routes.rb | 3 + public/stylesheets/course_group.css | 1 + public/stylesheets/courses.css | 105 +++++++++++++++++ public/stylesheets/header.css | 20 ++-- public/stylesheets/new_user.css | 4 +- public/stylesheets/project.css | 1 + public/stylesheets/public.css | 27 +++-- public/stylesheets/public_new.css | 22 ++-- 21 files changed, 563 insertions(+), 185 deletions(-) create mode 100644 app/views/courses/_course_activity.html.erb create mode 100644 app/views/courses/show.js.erb create mode 100644 app/views/courses/show_old.html.erb 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..2bf9dc2fc 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('created_at desc').limit(10).offset(@page * 10) + when "news" + @course_activities = course_activities.where("course_act_type = 'News'").order('created_at desc').limit(10).offset(@page * 10) + when "message" + @course_activities = course_activities.where("course_act_type = 'Message'").order('created_at desc').limit(10).offset(@page * 10) + when "poll" + @course_activities = course_activities.where("course_act_type = 'Poll'").order('created_at desc').limit(10).offset(@page * 10) + when "attachment" + @course_activities = course_activities.where("course_act_type = 'Attachment'").order('created_at desc').limit(10).offset(@page * 10) + when "journalsForMessage" + @course_activities = course_activities.where("course_act_type = 'JournalsForMessage'").order('created_at desc').limit(10).offset(@page * 10) + else + @course_activities = course_activities.order('created_at desc').limit(10).offset(@page * 10) + end + else + @course_activities = course_activities.order('created_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 f9b5b7d32..b6a508e15 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -161,6 +161,9 @@ class MessagesController < ApplicationController @reply.content = @quote + @reply.content @reply.subject = "RE: #{@topic.subject}" unless params[:reply][:subject] @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..43fea3378 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -39,7 +39,7 @@ class WordsController < ApplicationController # 删除留言功能要调用destroy,也记得在destroy.js中修改 # deny api. api useless - parent_id = params[:reference_id] + @parent_id = params[:reference_id] author_id = User.current.id reply_user_id = params[:reference_user_id] reply_id = params[:reference_message_id] # 暂时不实现 @@ -47,7 +47,7 @@ class WordsController < ApplicationController @show_name = params[:show_name] == "true" options = {:user_id => author_id, :status => true, - :m_parent_id => parent_id, + :m_parent_id => @parent_id, :m_reply_id => reply_id, :reply_id => reply_user_id, :notes => content, @@ -67,6 +67,14 @@ class WordsController < ApplicationController @save_succ = true if @jfm.errors.empty? } end + 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 end def destroy 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 %> +
展开更多<%= link_to "", course_activity_path(@course.id, :type => type, :page => page), :id => "more_course_activities_link", :remote => "true", :class => "none" %>
+<% end %> + + \ No newline at end of file diff --git a/app/views/courses/show.html.erb b/app/views/courses/show.html.erb index eceb29f34..5d4b77a06 100644 --- a/app/views/courses/show.html.erb +++ b/app/views/courses/show.html.erb @@ -1,83 +1,31 @@ -
-

<%= l(:label_activity)%>

-
- -<%@course_activities.each do |activity|%> -
- - <%= image_tag(url_to_avatar(activity.user), :width => "42", :height => "42") %> - -
- <%= link_to_user_header(activity.user,false,:class => 'problem_name c_orange fl') %> -   - <%= activity.course_act_type == "Course" ? "创建了课程" : l(:label_new_activity) %>: - <%#= 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%> - - <%#end%> - <%= link_to course_activity_link activity%> -
-

- <%= course_activity_desc activity%> -
-

- <%= activity.course_act_type == "Course" ? l(:label_create_time) : l(:label_activity_time) %> : <%= format_time(activity.created_at) %> -

- <%= link_to_attachments_course(activity.course_act) if activity.course_act_type.to_s == "News" %> -
-
-
-<% end%> - - -
- + + +
+
+
课程动态
+
    +
  • +
      +
    • +
        +
      • <%= link_to "作业动态", {:controller => "courses", :action => "show", :type => "homework"}, :class => "homepagePostTypeAssignment postTypeGrey"%>
      • +
      • <%= link_to "通知动态", {:controller => "courses", :action => "show", :type => "news"}, :class => "homepagePostTypeNotice postTypeGrey"%>
      • +
      • <%= link_to "资源库动态", {:controller => "courses", :action => "show", :type => "attachment"}, :class => "homepagePostTypeQuiz postTypeGrey"%>
      • +
      • <%= link_to "论坛动态", {:controller => "courses", :action => "show", :type => "message"}, :class => "homepagePostTypeForum postTypeGrey"%>
      • +
      • <%= link_to "留言动态", {:controller => "courses", :action => "show", :type => "journalsForMessage"}, :class => "homepagePostTypeQuiz postTypeGrey"%>
      • +
      • <%= link_to "问卷动态", {:controller => "courses", :action => "show", :type => "poll"}, :class => "homepagePostTypeQuiz postTypeGrey"%>
      • +
      +
    • +
    +
  • +
+
+ <%= render :partial => 'courses/course_activity', :locals => {:course_activities => @course_activities,:page => 0,:type => @type} %> +
\ No newline at end of file diff --git a/app/views/courses/show.js.erb b/app/views/courses/show.js.erb new file mode 100644 index 000000000..3f82dcf3a --- /dev/null +++ b/app/views/courses/show.js.erb @@ -0,0 +1 @@ +$("#show_more_course_activities").replaceWith("<%= escape_javascript( render :partial => 'courses/course_activity',:locals => {:course_activities => @course_activities, :page => @page,:type => @type} )%>"); diff --git a/app/views/courses/show_old.html.erb b/app/views/courses/show_old.html.erb new file mode 100644 index 000000000..608d41f9d --- /dev/null +++ b/app/views/courses/show_old.html.erb @@ -0,0 +1,83 @@ +
+

<%= l(:label_activity)%>

+
+ +<%@course_activities.each do |activity|%> +
+ + <%= image_tag(url_to_avatar(activity.user), :width => "42", :height => "42") %> + +
+ <%= link_to_user_header(activity.user,false,:class => 'problem_name c_orange fl') %> +   + <%= activity.course_act_type == "Course" ? "创建了课程" : l(:label_new_activity) %>: + <%#= 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%> + + <%#end%> + <%= link_to course_activity_link activity%> +
+

+ <%= course_activity_desc activity%> +
+

+ <%= activity.course_act_type == "Course" ? l(:label_create_time) : l(:label_activity_time) %> : <%= format_time(activity.created_at) %> +

+ <%= link_to_attachments_course(activity.course_act) if activity.course_act_type.to_s == "News" %> +
+
+
+<% end%> + + +
+ + diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index b86838c0b..7583eb4a4 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -25,7 +25,7 @@ <%= render :partial => 'layouts/unlogin_header' %> <% end%> - +
diff --git a/app/views/users/_course_attachment.html.erb b/app/views/users/_course_attachment.html.erb index 41961f05b..386e6d177 100644 --- a/app/views/users/_course_attachment.html.erb +++ b/app/views/users/_course_attachment.html.erb @@ -1,28 +1,29 @@
-
+
- <%= link_to image_tag(url_to_avatar(activity.author), :width => "50", :height => "50"), user_path(activity.author_id), :alt => "用户头像" %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %> <%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %> <% else %> <%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %> <% end %> - TO - <%= link_to activity.course.name.to_s+"(课程名称)", course_path(activity.container_id), :class => "newsBlue ml15", :style=>"word-break:break-all" %> - + TO + <%= link_to activity.course.name.to_s+" | 课程资源", course_files_path(activity.course), :class => "newsBlue ml15" %>
-
- <%=activity.filename.to_s(附件名称)%> +
+ <%= link_to activity.filename, course_files_path(activity.course), :class => "postGrey" %>
-
时间:<%= format_date(activity.created_on) %>
+
+ 文件大小: + <%= number_to_human_size activity.filesize%> +
+
上传时间:<%= format_time(activity.created_on) %>
-
(附件描述)<%=activity.description.to_s%>
-