trabajo-afectivo/app/models/application_model/can_activity_stream_log.rb

58 lines
1.3 KiB
Ruby
Raw Permalink Normal View History

2022-01-01 13:38:12 +00:00
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
module ApplicationModel::CanActivityStreamLog
extend ActiveSupport::Concern
2013-09-28 00:07:11 +00:00
=begin
log activity for this object
article = Ticket::Article.find(123)
2016-02-22 19:58:23 +00:00
result = article.activity_stream_log('create', user_id)
2013-09-28 00:07:11 +00:00
2013-10-07 03:38:07 +00:00
# force log
2016-02-22 19:58:23 +00:00
result = article.activity_stream_log('create', user_id, true)
2013-10-07 03:38:07 +00:00
2013-09-28 00:07:11 +00:00
returns
result = true # false
=end
2016-02-22 19:58:23 +00:00
def activity_stream_log(type, user_id, force = false)
# return if we run import mode
return if Setting.get('import_mode')
# return if we run on init mode
return if !Setting.get('system_init_done')
permission = self.class.instance_variable_get(:@activity_stream_permission)
updated_at = self.updated_at
if force
updated_at = Time.zone.now
2013-10-07 03:38:07 +00:00
end
attributes = {
o_id: self['id'],
type: type,
object: self.class.name,
group_id: self['group_id'],
permission: permission,
created_at: updated_at,
created_by_id: user_id,
}.merge(activity_stream_log_attributes)
ActivityStream.add(attributes)
end
private
# callback function to overwrite
# default history stream log attributes
# gets called from activity_stream_log
def activity_stream_log_attributes
{}
2013-09-28 00:07:11 +00:00
end
2014-02-03 19:23:00 +00:00
end