module NotificationsHelper def create_system_notification(title, message) notification = Notification.new notification.title = title notification.message = message notification.type_of = :system_message notification.transaction do User.where.not(confirmed_at: nil).find_each do |u| UserNotification .new(user: u, notification: notification, checked: false) .save! end notification.save! end end def send_email_notification(user, notification) AppMailer.delay.notification(user, notification) end def generate_notification(user, target_user, team, role, project) if team title = I18n.t('notifications.unassign_user_from_team', unassigned_user: target_user.name, team: team.name, unassigned_by_user: user.name) title = I18n.t('notifications.assign_user_to_team', assigned_user: target_user.name, role: role, team: team.name, assigned_by_user: user.name) if role message = "#{I18n.t('search.index.team')} #{team.name}" elsif project title = I18n.t('activities.unassign_user_from_project', unassigned_user: target_user.full_name, project: project.name, unassigned_by_user: user.full_name) message = "#{I18n.t('search.index.project')} #{@project.name}" end notification = Notification.create( type_of: :assignment, title: sanitize_input(title), message: sanitize_input(message) ) if target_user.assignments_notification UserNotification.create(notification: notification, user: target_user) end end end