Class: WorkStateTransition::AwaitingApproval

Inherits:
Base show all
Defined in:
app/models/work_state_transition/awaiting_approval.rb

Constant Summary

Constants inherited from WorkActivity

WorkActivity::CHANGES, WorkActivity::CHANGE_LOG_ACTIVITY_TYPES, WorkActivity::DATACITE_ERROR, WorkActivity::EMBARGO, WorkActivity::FILE_CHANGES, WorkActivity::MESSAGE, WorkActivity::MESSAGE_ACTIVITY_TYPES, WorkActivity::MIGRATION_COMPLETE, WorkActivity::MIGRATION_START, WorkActivity::NOTIFICATION, WorkActivity::PROVENANCE_NOTES, WorkActivity::SYSTEM, WorkActivity::USER_REFERENCE

Class Method Summary collapse

Methods inherited from Base

data_commons_url, #group_users, #notification_class, #notify_users, user_tags, #work

Methods inherited from WorkActivity

activities_for_work, changes_for_work, #created_by_user, #log_event_type?, #message_event_type?, messages_for_work, #notify_creator, #notify_curator, #notify_group, #notify_users, #renderer, #users_referenced

Class Method Details

.add_work_activity(work_id, current_user_id) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'app/models/work_state_transition/awaiting_approval.rb', line 4

def self.add_work_activity(work_id, current_user_id)
  work_title = Work.find(work_id).title
  work_url = data_commons_url(work_id)
  message = "#{user_tags(work_id)} [#{work_title}](#{work_url}) is ready for review."
  activity = AwaitingApproval.new(work_id:, activity_type: WorkActivity::NOTIFICATION, message:, created_by_user_id: current_user_id)
  activity.save!
  activity.notify_users

  activity
end