@ -75,7 +75,7 @@ class MessagesController < ApplicationController
@replies = paginateHelper messages_replies , 10
@reply = Message . new ( :subject = > " RE: #{ @message . subject } " )
render :action = > " show " , :layout = > " base_courses " #by young
els e
els if @proj ect
@reply_pages = Paginator . new @reply_count , REPLIES_PER_PAGE , page
@replies = @topic . children .
includes ( :author , :attachments , { :board = > :project } ) .
@ -86,6 +86,18 @@ class MessagesController < ApplicationController
@reply = Message . new ( :subject = > " RE: #{ @message . subject } " )
render :action = > " show " , :layout = > " base_projects " #by young
else
@reply_pages = Paginator . new @reply_count , REPLIES_PER_PAGE , page
@replies = @topic . children .
includes ( :author , :attachments , { :board = > :project } ) .
reorder ( " #{ Message . table_name } .created_on DESC " ) .
limit ( @reply_pages . per_page ) .
offset ( @reply_pages . offset ) .
all
@reply = Message . new ( :subject = > " RE: #{ @message . subject } " )
@organization = @org_subfield . organization
render :action = > " show " , :layout = > " base_org " #by young
end
end
@ -219,8 +231,10 @@ class MessagesController < ApplicationController
@isReply = false
if @project
( render_403 ; return false ) unless @message . editable_by? ( User . current )
els e
els if @cours e
( render_403 ; return false ) unless @message . course_editable_by? ( User . current )
else
( render_403 ; return false ) unless @message . org_subfield_editable_by? ( User . current )
end
@message . safe_attributes = params [ :message ]
@ -248,7 +262,14 @@ class MessagesController < ApplicationController
else
respond_to do | format |
format . html {
layout_file = @project ? 'base_projects' : 'base_courses'
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
@ -260,8 +281,10 @@ class MessagesController < ApplicationController
def destroy
if @project
( render_403 ; return false ) unless @message . destroyable_by? ( User . current )
els e
els if @cours e
( render_403 ; return false ) unless @message . course_destroyable_by? ( User . current )
else
( render_403 ; return false ) unless @message . org_subfield_editable_by? ( User . current )
end
r = @message . to_param
@message . destroy
@ -287,6 +310,16 @@ class MessagesController < ApplicationController
redirect_to course_board_url ( @course , @board )
end
end
elsif @org_subfield
if params [ :is_board ]
redirect_to organization_path ( :id = > @org_subfield . organization_id , :org_subfield_id = > @org_subfield . id )
else
if @message . parent
redirect_to board_message_url ( @board , @message . parent , :r = > r )
else
redirect_to organization_path ( :id = > @org_subfield . organization_id , :org_subfield_id = > @org_subfield . id )
end
end
end
end
@ -319,15 +352,25 @@ class MessagesController < ApplicationController
org_subfield_ids = params [ :org_subfields ]
@message = Message . find ( params [ :id ] )
# @message.update_attribute(:updated_on, Time.now)
type = @message . board . course_id . nil? ? " Project " :" Course "
# type = @message.board.course_id.nil? ? "Project":"Course "
org_subfield_ids . each do | field_id |
OrgSubfieldMessage . create ( :org_subfield_id = > field_id . to_i , :message_id = > @message . id , :message_type = > type )
org_acts = OrgActivity . where ( " container_type='OrgSubfield' and container_id=? and org_act_type='Message' and org_act_id=? " , field_id . to_i , @message . id )
if org_acts . all . size ( ) > 0
org_acts . first . update_attribute ( :updated_at , Time . now )
else
OrgActivity . create ( :container_type = > 'OrgSubfield' , :container_id = > field_id . to_i , :org_act_type = > 'Message' , :org_act_id = > @message . id , :user_id = > User . current . id )
@message . quotes = @message . quotes . nil? ? 1 : ( @message . quotes + 1 )
@message . save
board = OrgSubfield . find ( field_id ) . boards . first
mes = Message . create ( :board_id = > board . id , :subject = > @message . subject , :content = > @message . content , :author_id = > User . current . id ,
:created_on = > Time . now , :updated_on = > Time . now , :locked = > @message . locked , :sticky = > @message . sticky )
@message . attachments . each do | attach |
mes . attachments << Attachment . new ( :filename = > attach . filename , :disk_filename = > attach . disk_filename , :filesize = > attach . filesize , :content_type = > attach . content_type , :digest = > attach . digest ,
:downloads = > 0 , :author_id = > User . current . id , :created_on = > Time . now , :description = > attach . description , :disk_directory = > attach . disk_directory , :attachtype = > attach . attachtype ,
:is_public = > attach . is_public , :quotes = > 0 )
end
# OrgSubfieldMessage.create(:org_subfield_id => field_id.to_i, :message_id => mes.id, :message_type => type)
# org_acts = OrgActivity.where("container_type='OrgSubfield' and container_id=? and org_act_type='Message' and org_act_id=?", field_id.to_i, @message.id)
# if org_acts.all.size() > 0
# org_acts.first.update_attribute(:updated_at, Time.now)
# else
OrgActivity . create ( :container_type = > 'OrgSubfield' , :container_id = > field_id . to_i , :org_act_type = > 'Message' , :org_act_id = > mes . id , :user_id = > User . current . id )
# end
end
end
@ -347,6 +390,9 @@ class MessagesController < ApplicationController
@project = @board . project
elsif @board . course_id
@course = @board . course
else
@org_subfield = @board . org_subfield
@organization = @org_subfield
end
rescue ActiveRecord :: RecordNotFound