activity_stream_base.rb 1018 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Copyright (C) 2012-2014 Zammad Foundation, http://zammad-foundation.org/
  2. # rubocop:disable ClassAndModuleChildren
  3. module ApplicationModel::ActivityStreamBase
  4. =begin
  5. log activity for this object
  6. article = Ticket::Article.find(123)
  7. result = article.activity_stream_log( 'created', user_id )
  8. # force log
  9. result = article.activity_stream_log( 'created', user_id, true )
  10. returns
  11. result = true # false
  12. =end
  13. def activity_stream_log (type, user_id, force = false)
  14. # return if we run import mode
  15. return if Setting.get('import_mode')
  16. # return if we run on init mode
  17. return if !Setting.get('system_init_done')
  18. role = self.class.activity_stream_support_config[:role]
  19. updated_at = self.updated_at
  20. if force
  21. updated_at = Time.zone.now
  22. end
  23. ActivityStream.add(
  24. o_id: self['id'],
  25. type: type,
  26. object: self.class.name,
  27. group_id: self['group_id'],
  28. role: role,
  29. created_at: updated_at,
  30. created_by_id: user_id,
  31. )
  32. end
  33. end