Moves message activity provider settings

This commit is contained in:
Hagen Schink
2013-11-27 11:48:21 +01:00
committed by Sebastian Schuster
parent 03c97f1297
commit efffb371e4
2 changed files with 56 additions and 12 deletions
+55
View File
@@ -29,4 +29,59 @@
class Journal::MessageJournal < Journal::BaseJournal
self.table_name = "message_journals"
acts_as_activity_provider type: 'messages',
permission: :view_messages
def self.extend_event_query(j, ej, query)
b = Arel::Table.new(:boards)
query = query.join(b).on(ej[:board_id].eq(b[:id]))
query
end
def self.event_query_projection(j, ej)
b = Arel::Table.new(:boards)
[
ej[:subject].as('message_subject'),
ej[:content].as('message_content'),
ej[:parent_id].as('message_parent_id'),
b[:id].as('board_id'),
b[:name].as('board_name')
]
end
def self.format_event(event, event_data)
event.title = self.event_title event_data
event.description event_data['message_content']
event.type = self.event_type event_data
event.url = self.event_url event_data
event
end
private
def self.event_title(event)
"#{event['board_name']}: #{event['message_subject']}"
end
def self.event_type(event)
event['parent_id'].blank? ? 'message' : 'reply'
end
def self.event_url(event)
is_reply = !event['parent_id'].blank?
if is_reply
parameters = { id: event['journable_id'] }
else
parameters = { id: event['parent_id'], r: event['journable_id'], anchor: "message-#{event['journable_id']}" }
end
parameters[:board_id] = event['board_id']
Rails.application.routes.url_helpers.topc_path(parameters)
end
end
+1 -12
View File
@@ -38,18 +38,7 @@ class Message < ActiveRecord::Base
after_remove: :attachments_changed
belongs_to :last_reply, :class_name => 'Message', :foreign_key => 'last_reply_id'
acts_as_journalized :event_title => Proc.new {|o| "#{o.journal.journable.board.name}: #{o.journal.journable.subject}"},
:event_description => :content,
:event_type => Proc.new {|o| o.parent_id.nil? ? 'message' : 'reply'},
:event_url => (Proc.new do |o|
msg = o.journal.journable
if msg.parent_id.nil?
{:id => msg.id}
else
{:id => msg.parent_id, :r => msg.id, :anchor => "message-#{msg.id}"}
end.reverse_merge :controller => '/messages', :action => 'show', :board_id => msg.board_id
end),
:activity_find_options => { :include => { :board => :project } }
acts_as_journalized
acts_as_searchable :columns => ['subject', 'content'],
:include => {:board => :project},