Content
View differences
Updated by Andreas Pfohl about 3 years ago
Based on: https://api.rubyonrails.org/classes/ActiveSupport/Notifications.html
Events: openproject/lib/open\_project/events.rb
```ruby
module Events
AGGREGATED_WORK_PACKAGE_JOURNAL_READY = "aggregated_work_package_journal_ready".freeze
AGGREGATED_WIKI_JOURNAL_READY = "aggregated_wiki_journal_ready".freeze
AGGREGATED_NEWS_JOURNAL_READY = "aggregated_news_journal_ready".freeze
AGGREGATED_MESSAGE_JOURNAL_READY = "aggregated_message_journal_ready".freeze
ATTACHMENT_CREATED = 'attachment_created'.freeze
JOURNAL_CREATED = 'journal_created'.freeze
MEMBER_CREATED = 'member_created'.freeze
MEMBER_UPDATED = 'member_updated'.freeze
# Called like this for historic reasons, should be called 'member_destroyed'
MEMBER_DESTROYED = 'member_removed'.freeze
TIME_ENTRY_CREATED = "time_entry_created".freeze
NEWS_COMMENT_CREATED = "news_comment_created".freeze
PROJECT_CREATED = "project_created".freeze
PROJECT_UPDATED = "project_updated".freeze
PROJECT_RENAMED = "project_renamed".freeze
WATCHER_ADDED = 'watcher_added'.freeze
WATCHER_REMOVED = 'watcher_removed'.freeze
end
```
Subscriptions: [https://github.com/opf/openproject/blob/dev/lib\_static/open\_project/notifications.rb](https://github.com/opf/openproject/blob/dev/lib_static/open_project/notifications.rb)
```ruby
OpenProject::Notifications.subscribe(OpenProject::Events::MEMBER_CREATED) do |payload|
next unless payload[:send_notifications]
Mails::MemberCreatedJob
.perform_later(current_user: User.current,
member: payload[:member],
message: payload[:message])
end
```
Problem: We need to find a way to not interrupt or race an already running Job. Hint: https://github.com/opf/openproject/blob/dev/lib\_static/open\_project/notifications.rb
Events: openproject/lib/open\_project/events.rb
```ruby
module Events
AGGREGATED_WORK_PACKAGE_JOURNAL_READY = "aggregated_work_package_journal_ready".freeze
AGGREGATED_WIKI_JOURNAL_READY = "aggregated_wiki_journal_ready".freeze
AGGREGATED_NEWS_JOURNAL_READY = "aggregated_news_journal_ready".freeze
AGGREGATED_MESSAGE_JOURNAL_READY = "aggregated_message_journal_ready".freeze
ATTACHMENT_CREATED = 'attachment_created'.freeze
JOURNAL_CREATED = 'journal_created'.freeze
MEMBER_CREATED = 'member_created'.freeze
MEMBER_UPDATED = 'member_updated'.freeze
# Called like this for historic reasons, should be called 'member_destroyed'
MEMBER_DESTROYED = 'member_removed'.freeze
TIME_ENTRY_CREATED = "time_entry_created".freeze
NEWS_COMMENT_CREATED = "news_comment_created".freeze
PROJECT_CREATED = "project_created".freeze
PROJECT_UPDATED = "project_updated".freeze
PROJECT_RENAMED = "project_renamed".freeze
WATCHER_ADDED = 'watcher_added'.freeze
WATCHER_REMOVED = 'watcher_removed'.freeze
end
```
Subscriptions: [https://github.com/opf/openproject/blob/dev/lib\_static/open\_project/notifications.rb](https://github.com/opf/openproject/blob/dev/lib_static/open_project/notifications.rb)
```ruby
OpenProject::Notifications.subscribe(OpenProject::Events::MEMBER_CREATED) do |payload|
next unless payload[:send_notifications]
Mails::MemberCreatedJob
.perform_later(current_user: User.current,
member: payload[:member],
message: payload[:message])
end
```
Problem: We need to find a way to not interrupt or race an already running Job.