diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index ae13b7e78..304eada37 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -211,6 +211,8 @@ class MessagesController < ApplicationController end if params[:user_activity_id] @user_activity_id = params[:user_activity_id] + @is_course = params[:is_course] + @is_board = params[:is_board] respond_to do |format| format.js end @@ -239,9 +241,17 @@ class MessagesController < ApplicationController if request.post? && @message.save attachments = Attachment.attach_files(@message, params[:attachments]) render_attachment_warning_if_needed(@message) - flash[:notice] = l(:notice_successful_update) + #flash[:notice] = l(:notice_successful_update) @message.reload - if params[:is_board] + if params[:is_course] && params[:is_course].to_i == 0 + redirect_to user_activities_path(User.current.id) + elsif params[:is_course] && params[:is_course].to_i == 1 && params[:is_board] && params[:is_board].to_i == 0 + if @project + redirect_to project_path(@project) + elsif @course + redirect_to course_activity_path(@course) + end + elsif params[:is_course] && params[:is_course].to_i == 1 && params[:is_board] && params[:is_board].to_i == 1 if @project redirect_to project_boards_path(@project) elsif @course @@ -251,26 +261,22 @@ class MessagesController < ApplicationController redirect_to board_message_url(@message.board, @message.root, :r => (@message.parent_id && @message.id)) end elsif request.get? || request.post? - if params[:is_board] - if @project - redirect_to project_boards_path(@project) - elsif @course - redirect_to course_boards_path(@course) - end - else - respond_to do |format| - format.html { - if @project - layout_file = 'base_projects' - elsif @course - layout_file = 'base_courses' - elsif @org_subfield - @organization = @org_subfield.organization - layout_file = 'base_org' - end - render :layout => layout_file - } - end + if params[:is_course] && params[:is_board] + @is_course = params[:is_course] + @is_board = params[:is_board] + end + respond_to do |format| + format.html { + if @project + layout_file = 'base_projects' + elsif @course + layout_file = 'base_courses' + elsif @org_subfield + @organization = @org_subfield.organization + layout_file = 'base_org' + end + render :layout => layout_file + } end end end @@ -286,25 +292,28 @@ class MessagesController < ApplicationController @message.destroy # modify by nwb if @project - if params[:is_board] - redirect_to project_boards_url(@project) + if params[:is_course] && params[:is_course].to_i == 0 + redirect_to user_activities_path(User.current.id) + elsif params[:is_course] && params[:is_course].to_i == 1 && params[:is_board] && params[:is_board].to_i == 0 + redirect_to project_path(@project) + elsif params[:is_course] && params[:is_course].to_i == 1 && params[:is_board] && params[:is_board].to_i == 1 + redirect_to project_boards_path(@project) + elsif @message.parent + redirect_to board_message_url(@board, @message.parent, :r => r) else - if @message.parent - redirect_to board_message_url(@board, @message.parent, :r => r) - else - redirect_to project_board_url(@project, @board) - end - # redirect_to board_message_url(@board, @topic, :r => @reply) + redirect_to project_board_url(@project, @board) end elsif @course - if params[:is_board] - redirect_to course_boards_url(@course) + if params[:is_course] && params[:is_course].to_i == 0 + redirect_to user_activities_path(User.current.id) + elsif params[:is_course] && params[:is_course].to_i == 1 && params[:is_board] && params[:is_board].to_i == 0 + redirect_to course_activity_path(@course) + elsif params[:is_course] && params[:is_course].to_i == 1 && params[:is_board] && params[:is_board].to_i == 1 + redirect_to course_boards_path(@course) + elsif @message.parent + redirect_to board_message_url(@board, @message.parent, :r => r) else - if @message.parent - redirect_to board_message_url(@board, @message.parent, :r => r) - else - redirect_to course_board_url(@course, @board) - end + redirect_to course_boards_path(@course) end elsif @org_subfield if params[:is_board] diff --git a/app/views/boards/_course_show_detail.html.erb b/app/views/boards/_course_show_detail.html.erb index 7b96c4f9a..75ee516c4 100644 --- a/app/views/boards/_course_show_detail.html.erb +++ b/app/views/boards/_course_show_detail.html.erb @@ -54,7 +54,7 @@ }); <% if topic %> - <%= render :partial => 'users/course_message', :locals => {:activity => topic, :user_activity_id => topic.id} %> + <%= render :partial => 'users/course_message', :locals => {:activity => topic, :user_activity_id => topic.id,:is_course=>1,:is_board=>1} %> <% end %> <% end %> diff --git a/app/views/boards/_project_show_detail.html.erb b/app/views/boards/_project_show_detail.html.erb index 8fb663aff..166978ee0 100644 --- a/app/views/boards/_project_show_detail.html.erb +++ b/app/views/boards/_project_show_detail.html.erb @@ -53,7 +53,7 @@ }); <% if topic %> - <%= render :partial => 'users/project_message', :locals => {:activity => topic, :user_activity_id => topic.id} %> + <%= render :partial => 'users/project_message', :locals => {:activity => topic, :user_activity_id => topic.id,:is_course=>1,:is_board=>1} %> <% end %> <% end %> diff --git a/app/views/courses/_course_activity.html.erb b/app/views/courses/_course_activity.html.erb index 2f2622f3c..ea41787d5 100644 --- a/app/views/courses/_course_activity.html.erb +++ b/app/views/courses/_course_activity.html.erb @@ -99,7 +99,7 @@ <% 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} %> + <%= render :partial => 'users/course_message', :locals => {:activity => act, :user_activity_id => activity.id,:is_course=>1,:is_board=>0} %> <% when 'Poll' %> <%= render :partial => 'users/course_poll', :locals => {:activity => act, :user_activity_id => activity.id} %> <% when 'JournalsForMessage' %> diff --git a/app/views/messages/edit.html.erb b/app/views/messages/edit.html.erb index 6e54a88e1..89fe71c65 100644 --- a/app/views/messages/edit.html.erb +++ b/app/views/messages/edit.html.erb @@ -1,6 +1,6 @@ <% if @message.project %> <%= form_for @message, {:as => :message, - :url => {:action => 'edit'}, + :url => {:action => 'edit',:is_course=>@is_course,:is_board=>@is_board}, :html => {:multipart => true, :id => 'message-form', :method => :post} @@ -14,7 +14,7 @@ <% elsif @message.course %> <%= form_for @message, { :as => :message, - :url => {:action => 'edit'}, + :url => {:action => 'edit',:is_course=>@is_course,:is_board=>@is_board}, :html => {:multipart => true, :id => 'message-form', :method => :post} diff --git a/app/views/messages/reply.js.erb b/app/views/messages/reply.js.erb index c0da5ab9b..f33986c59 100644 --- a/app/views/messages/reply.js.erb +++ b/app/views/messages/reply.js.erb @@ -1,7 +1,7 @@ <%if @project%> - $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>"); + $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:is_course=>@is_course,:is_board=>@is_board}) %>"); <%elsif @course%> - $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>"); + $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:is_course=>@is_course,:is_board=>@is_board}) %>"); <% elsif @org_subfield %> $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'organizations/org_subfield_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>"); <%end%> diff --git a/app/views/projects/_project_activities.html.erb b/app/views/projects/_project_activities.html.erb index b46522fa1..b3ae89cf2 100644 --- a/app/views/projects/_project_activities.html.erb +++ b/app/views/projects/_project_activities.html.erb @@ -61,7 +61,7 @@ <% when "Message" %> - <%= render :partial => 'users/project_message', :locals => {:activity => activity.forge_act,:user_activity_id =>activity.id} %> + <%= render :partial => 'users/project_message', :locals => {:activity => activity.forge_act,:user_activity_id =>activity.id,:is_course=>1,:is_board=>0} %> <% when "News" %> <% if !activity.forge_act.nil? and activity.forge_act.project %> diff --git a/app/views/users/_course_message.html.erb b/app/views/users/_course_message.html.erb index 3633b2134..22a4bcf57 100644 --- a/app/views/users/_course_message.html.erb +++ b/app/views/users/_course_message.html.erb @@ -44,33 +44,37 @@
- <% if activity.author.id == User.current.id%> - + @@ -137,7 +141,7 @@