From b89218a1b374dd3049d28ad0ffbfec961d176b5a Mon Sep 17 00:00:00 2001 From: huang Date: Sun, 6 Sep 2015 16:50:03 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=AA=E8=AF=BB=E6=B6=88=E6=81=AF=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E5=92=8C=E2=80=9C=E5=85=A8=E9=83=A8=E8=AE=BE=E4=B8=BA?= =?UTF-8?q?=E5=B7=B2=E8=AF=BB=E2=80=9D=E5=8A=9F=E8=83=BD=20=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E7=95=99=E8=A8=80=E6=B7=BB=E5=8A=A0=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 30 +++++++++++++++----------- app/views/users/user_messages.html.erb | 6 +++++- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index e3480b238..d1eeda707 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -102,22 +102,22 @@ class UsersController < ApplicationController # issue:问题;journal:缺陷状态更新; forum:公共贴吧: user_feedback: 用户留言; new_reply:新闻回复(comment) def user_messages unless User.current.logged? - render_403 + redirect_to signin_url return end # 当前用户查看消息,则设置消息为已读 - #if params[:viewed] == "all" - # course_querys = @user.course_messages - # forge_querys = @user.forge_messages - # user_querys = @user.user_feedback_messages - # forum_querys = @user.memo_messages - # if User.current.id == @user.id - # course_querys.update_all(:viewed => true) - # forge_querys.update_all(:viewed => true) - # user_querys.update_all(:viewed => true) - # forum_querys.update_all(:viewed => true) - # end - #end + if params[:viewed] == "all" + course_querys = @user.course_messages + forge_querys = @user.forge_messages + user_querys = @user.user_feedback_messages + forum_querys = @user.memo_messages + if User.current.id == @user.id + course_querys.update_all(:viewed => true) + forge_querys.update_all(:viewed => true) + user_querys.update_all(:viewed => true) + forum_querys.update_all(:viewed => true) + end + end # @new_message_count = forge_querys.count + forum_querys.count + course_querys.count + user_querys.count case params[:type] when nil @@ -540,6 +540,10 @@ class UsersController < ApplicationController # modified by fq def user_newfeedback + unless User.current.logged? + redirect_to signin_url + return + end # 更新用户留言消息状态 @user.journals_for_messages.each do |jour_message| jour_message.user_feedback_messages.each do |userfeedback_message| diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index 1d288b4b8..c3c1a447b 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -29,7 +29,11 @@
- +<% if params[:type].nil? %> +
+ 有 <%= User.current.count_new_message %> 条未读<%= link_to "全部设为已读", user_message_path(User.current, :viewed => 'all') %> +
+<% end %> <% if @message_alls.count >0 %> <%# 课程消息 %> <% unless @message_alls.nil? %> From 62c657a827dc37cfc06f204ea83c69a8587128f9 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Sun, 6 Sep 2015 17:06:05 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=95=99=E8=A8=80?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=99=BB=E5=BD=95=E5=88=A4=E6=96=AD=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E4=B8=94=E5=88=A0=E9=99=A4=E5=8C=BF=E5=90=8D=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=95=99=E8=A8=80=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/words_controller.rb | 12 ++++++++---- .../20150906090419_delete_anonymous_feedback.rb | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 db/migrate/20150906090419_delete_anonymous_feedback.rb diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb index 5158a99c4..77304c1b1 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -202,11 +202,15 @@ class WordsController < ApplicationController #给用户留言 def leave_user_message - @user = User.find(params[:id]) - if params[:new_form][:user_message].size>0 && User.current.logged? && @user - @user.add_jour(User.current, params[:new_form][:user_message]) + if User.current.logged? + @user = User.find(params[:id]) + if params[:new_form][:user_message].size>0 && User.current.logged? && @user + @user.add_jour(User.current, params[:new_form][:user_message]) + end + redirect_to feedback_path(@user) + else + render_403 end - redirect_to feedback_path(@user) end # add by nwb diff --git a/db/migrate/20150906090419_delete_anonymous_feedback.rb b/db/migrate/20150906090419_delete_anonymous_feedback.rb new file mode 100644 index 000000000..a96d6b30d --- /dev/null +++ b/db/migrate/20150906090419_delete_anonymous_feedback.rb @@ -0,0 +1,15 @@ +class DeleteAnonymousFeedback < ActiveRecord::Migration + def up + jour_count = JournalsForMessage.all.count / 30 + 2 + transaction do + for i in 1 ... jour_count do i + JournalsForMessage.page(i).per(30).each do |jour| + jour.destroy if jour.user_id == 2 + end + end + end + end + + def down + end +end From 88397d58d0922901be1e2aedf1a0be5d99e34235 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Sun, 6 Sep 2015 17:27:20 +0800 Subject: [PATCH 3/5] =?UTF-8?q?1=E3=80=81=E8=AE=A8=E8=AE=BA=E5=8C=BA?= =?UTF-8?q?=E6=96=B0=E5=BB=BA=E5=B8=96=E5=AD=90=E6=97=B6=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=88=A4=E6=96=AD=202=E3=80=81=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=8E=86=E5=8F=B2=E7=9A=84=E5=8C=BF=E5=90=8D=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=8F=91=E5=B8=83=E5=B8=96=E5=AD=90=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/messages_controller.rb | 98 ++++++++----------- ...0150906090419_delete_anonymous_feedback.rb | 3 +- ...20150906091723_delete_anonymous_message.rb | 15 +++ 3 files changed, 57 insertions(+), 59 deletions(-) create mode 100644 db/migrate/20150906091723_delete_anonymous_message.rb diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index f71103973..9b0fd56a0 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -89,72 +89,54 @@ class MessagesController < ApplicationController # Create a new topic def new - @message = Message.new - @message.author = User.current - @message.board = @board - @message.safe_attributes = params[:message] - if request.post? - @message.save_attachments(params[:attachments]) - if @message.save - # 更新kindeditor上传的图片资源所有者 - if params[:asset_id] - ids = params[:asset_id].split(',') - update_kindeditor_assets_owner ids,@message.id,OwnerTypeHelper::MESSAGE - end - # # 与我相关动态的记录add start - # if(@board && @board.course) #项目的先不管 - # teachers = searchTeacherAndAssistant(@board.course) - # for teacher in teachers - # if(teacher.user_id != User.current.id) - # notify = ActivityNotify.new() - # if(@board.course) - # notify.activity_container_id = @board.course_id - # notify.activity_container_type = 'Course' - # else - # notify.activity_container_id = @board.project_id - # notify.activity_container_type = 'Project' - # end - # notify.activity_id = @message.id - # notify.activity_type = 'Message' - # notify.notify_to = teacher.user_id - # notify.is_read = 0 - # notify.save() - # end - # end - # end - # 与我相关动态的记录add end + if User.current.logged? + @message = Message.new + @message.author = User.current + @message.board = @board + @message.safe_attributes = params[:message] + if request.post? + @message.save_attachments(params[:attachments]) + if @message.save + # 更新kindeditor上传的图片资源所有者 + if params[:asset_id] + ids = params[:asset_id].split(',') + update_kindeditor_assets_owner ids,@message.id,OwnerTypeHelper::MESSAGE + end - call_hook(:controller_messages_new_after_save, { :params => params, :message => @message}) - render_attachment_warning_if_needed(@message) - if params[:is_board] - if @project - redirect_to project_boards_path(@project) - elsif @course - redirect_to course_boards_path(@course) + call_hook(:controller_messages_new_after_save, { :params => params, :message => @message}) + render_attachment_warning_if_needed(@message) + if params[:is_board] + if @project + redirect_to project_boards_path(@project) + elsif @course + redirect_to course_boards_path(@course) + end + else + redirect_to board_message_url(@board, @message) end else - redirect_to board_message_url(@board, @message) + if params[:is_board] + if @project + redirect_to project_boards_path(@project, :flag => true) + elsif @course + redirect_to course_boards_path(@course, :flag => true) + end + else + layout_file = @project ? 'base_projects' : 'base_courses' + render :action => 'new', :layout => layout_file + end + end else - if params[:is_board] - if @project - redirect_to project_boards_path(@project, :flag => true) - elsif @course - redirect_to course_boards_path(@course, :flag => true) - end - else - layout_file = @project ? 'base_projects' : 'base_courses' - render :action => 'new', :layout => layout_file + respond_to do |format| + format.html { + layout_file = @project ? 'base_projects' : 'base_courses' + render :layout => layout_file + } end - end else - respond_to do |format| - format.html { - layout_file = @project ? 'base_projects' : 'base_courses' - render :layout => layout_file - } - end + redirect_to signin_path end end diff --git a/db/migrate/20150906090419_delete_anonymous_feedback.rb b/db/migrate/20150906090419_delete_anonymous_feedback.rb index a96d6b30d..405cfa7fb 100644 --- a/db/migrate/20150906090419_delete_anonymous_feedback.rb +++ b/db/migrate/20150906090419_delete_anonymous_feedback.rb @@ -1,10 +1,11 @@ class DeleteAnonymousFeedback < ActiveRecord::Migration def up jour_count = JournalsForMessage.all.count / 30 + 2 + puts jour_count transaction do for i in 1 ... jour_count do i JournalsForMessage.page(i).per(30).each do |jour| - jour.destroy if jour.user_id == 2 + jour.destroy if jour.user_id.to_s == "2" end end end diff --git a/db/migrate/20150906091723_delete_anonymous_message.rb b/db/migrate/20150906091723_delete_anonymous_message.rb new file mode 100644 index 000000000..d128f2aff --- /dev/null +++ b/db/migrate/20150906091723_delete_anonymous_message.rb @@ -0,0 +1,15 @@ +class DeleteAnonymousMessage < ActiveRecord::Migration + def up + message_count = Message.all.count / 30 + 2 + transaction do + for i in 1 ... message_count do i + Message.page(i).per(30).each do |message| + message.destroy if jour.author_id.to_s == "2" + end + end + end + end + + def down + end +end From 955ef3d5fd0fc5d862cb28be5f9c1aaeaf7f40f6 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Sun, 6 Sep 2015 17:28:09 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/migrate/20150906090419_delete_anonymous_feedback.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/db/migrate/20150906090419_delete_anonymous_feedback.rb b/db/migrate/20150906090419_delete_anonymous_feedback.rb index 405cfa7fb..ebb15e9d0 100644 --- a/db/migrate/20150906090419_delete_anonymous_feedback.rb +++ b/db/migrate/20150906090419_delete_anonymous_feedback.rb @@ -1,7 +1,6 @@ class DeleteAnonymousFeedback < ActiveRecord::Migration def up jour_count = JournalsForMessage.all.count / 30 + 2 - puts jour_count transaction do for i in 1 ... jour_count do i JournalsForMessage.page(i).per(30).each do |jour| From d0f7f89db3ba7d9095b3d70a34f491d9f84208f6 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Sun, 6 Sep 2015 17:42:55 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/migrate/20150906083453_delete_anonymous_jour.rb | 9 +-------- db/migrate/20150906090419_delete_anonymous_feedback.rb | 9 +-------- db/migrate/20150906091723_delete_anonymous_message.rb | 9 +-------- 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/db/migrate/20150906083453_delete_anonymous_jour.rb b/db/migrate/20150906083453_delete_anonymous_jour.rb index 5361eb5e1..52e5454e5 100644 --- a/db/migrate/20150906083453_delete_anonymous_jour.rb +++ b/db/migrate/20150906083453_delete_anonymous_jour.rb @@ -1,13 +1,6 @@ class DeleteAnonymousJour < ActiveRecord::Migration def up - jour_count = Journal.all.count / 30 + 2 - transaction do - for i in 1 ... jour_count do i - Journal.page(i).per(30).each do |jour| - jour.destroy if jour.user_id == 2 - end - end - end + Journal.where("user_id = 2").destroy_all end def down diff --git a/db/migrate/20150906090419_delete_anonymous_feedback.rb b/db/migrate/20150906090419_delete_anonymous_feedback.rb index ebb15e9d0..771fd4856 100644 --- a/db/migrate/20150906090419_delete_anonymous_feedback.rb +++ b/db/migrate/20150906090419_delete_anonymous_feedback.rb @@ -1,13 +1,6 @@ class DeleteAnonymousFeedback < ActiveRecord::Migration def up - jour_count = JournalsForMessage.all.count / 30 + 2 - transaction do - for i in 1 ... jour_count do i - JournalsForMessage.page(i).per(30).each do |jour| - jour.destroy if jour.user_id.to_s == "2" - end - end - end + JournalsForMessage.where("user_id = 2").destroy_all end def down diff --git a/db/migrate/20150906091723_delete_anonymous_message.rb b/db/migrate/20150906091723_delete_anonymous_message.rb index d128f2aff..dc60bc5e4 100644 --- a/db/migrate/20150906091723_delete_anonymous_message.rb +++ b/db/migrate/20150906091723_delete_anonymous_message.rb @@ -1,13 +1,6 @@ class DeleteAnonymousMessage < ActiveRecord::Migration def up - message_count = Message.all.count / 30 + 2 - transaction do - for i in 1 ... message_count do i - Message.page(i).per(30).each do |message| - message.destroy if jour.author_id.to_s == "2" - end - end - end + Message.where("author_id = 2").destroy_all end def down