From 68a6f3f7f2711eb3d7a89a1a5742ca00a25fe12d Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Wed, 30 Dec 2015 18:44:54 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=BB=84=E7=BB=87=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E6=9C=89=E5=88=A0=E9=99=A4=E5=B8=96=E5=AD=90=E7=9A=84=E6=9D=83?= =?UTF-8?q?=E9=99=90=EF=BC=9B2.=E5=88=A0=E9=99=A4=E5=B8=96=E5=AD=90?= =?UTF-8?q?=E5=90=8E=E6=9B=B4=E6=96=B0org=5Factivities=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/messages_controller.rb | 4 +++- app/models/message.rb | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index e91b3f0db..de9ec9852 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -281,8 +281,10 @@ class MessagesController < ApplicationController def destroy if @project (render_403; return false) unless @message.destroyable_by?(User.current) - else + elsif @course (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 diff --git a/app/models/message.rb b/app/models/message.rb index f59f778a8..6d108e607 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -44,6 +44,8 @@ class Message < ActiveRecord::Base has_many :ActivityNotifies,:as => :activity, :dependent => :destroy + after_destroy :delete_org_activities + acts_as_searchable :columns => ['subject', 'content'], :include => {:board => :project}, :project_key => "#{Board.table_name}.project_id", @@ -316,4 +318,8 @@ class Message < ActiveRecord::Base end end end + + def delete_org_activities + OrgActivity.where("org_act_type='Message' and org_act_id =#{self.id} and container_type='OrgSubfield'").destroy_all + end end