mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-07 21:55:20 +08:00
add notification for removing user from team and removing user from project
This commit is contained in:
parent
6e022699eb
commit
a2213e23b3
4 changed files with 39 additions and 7 deletions
|
@ -191,6 +191,7 @@ class UserProjectsController < ApplicationController
|
|||
unassigned_by_user: current_user.full_name
|
||||
)
|
||||
)
|
||||
generate_notification(current_user, @up.user, @project)
|
||||
|
||||
respond_to do |format|
|
||||
format.html {
|
||||
|
@ -275,6 +276,26 @@ class UserProjectsController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def generate_notification(user, target_user, 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}"
|
||||
notification = Notification.create(
|
||||
type_of: :assignment,
|
||||
title:
|
||||
ActionController::Base.helpers.sanitize(title),
|
||||
message:
|
||||
ActionController::Base.helpers.sanitize(message)
|
||||
)
|
||||
if target_user.assignments_notification
|
||||
UserNotification.create(notification: notification, user: target_user)
|
||||
end
|
||||
end
|
||||
|
||||
def init_gui
|
||||
@users = @project.unassigned_users
|
||||
end
|
||||
|
|
|
@ -224,8 +224,8 @@ class Users::SettingsController < ApplicationController
|
|||
|
||||
generate_notification(@user_organization.user,
|
||||
@new_user_org.user,
|
||||
@new_user_org.role_str,
|
||||
@new_user_org.organization)
|
||||
@new_user_org.organization,
|
||||
@new_user_org.role_str)
|
||||
|
||||
flash[:notice] = I18n.t(
|
||||
'users.settings.organizations.edit.modal_add_user.existing_flash_success',
|
||||
|
@ -409,7 +409,10 @@ class Users::SettingsController < ApplicationController
|
|||
)
|
||||
flash.keep(:notice)
|
||||
end
|
||||
|
||||
generate_notification(@user_organization.user,
|
||||
@user_org.user,
|
||||
@user_org.organization,
|
||||
false)
|
||||
format.json {
|
||||
render json: {
|
||||
status: :ok
|
||||
|
@ -579,12 +582,19 @@ class Users::SettingsController < ApplicationController
|
|||
)
|
||||
end
|
||||
|
||||
def generate_notification(user, target_user, role, org)
|
||||
title = I18n.t('notifications.assign_user_to_organization',
|
||||
def generate_notification(user, target_user, org, role)
|
||||
if role
|
||||
title = I18n.t('notifications.assign_user_to_organization',
|
||||
assigned_user: target_user.name,
|
||||
role: role,
|
||||
organization: org.name,
|
||||
assigned_by_user: user.name)
|
||||
else
|
||||
title = I18n.t('notifications.unassign_user_from_organization',
|
||||
unassigned_user: target_user.name,
|
||||
organization: org.name,
|
||||
unassigned_by_user: user.name)
|
||||
end
|
||||
|
||||
message = "#{I18n.t('search.index.organization')} #{org.name}"
|
||||
notification = Notification.create(
|
||||
|
@ -592,7 +602,7 @@ class Users::SettingsController < ApplicationController
|
|||
title:
|
||||
ActionController::Base.helpers.sanitize(title),
|
||||
message:
|
||||
ActionController::Base.helpers.sanitize(message),
|
||||
ActionController::Base.helpers.sanitize(message),
|
||||
)
|
||||
|
||||
if target_user.assignments_notification
|
||||
|
|
|
@ -54,7 +54,7 @@ class Activity < ActiveRecord::Base
|
|||
private
|
||||
|
||||
def generate_notification
|
||||
if %w(assign_user_to_project assign_user_to_module).include? type_of
|
||||
if %w(assign_user_to_project assign_user_to_module unassign_user_from_module).include? type_of
|
||||
notification_type = :assignment
|
||||
else
|
||||
notification_type = :recent_changes
|
||||
|
|
|
@ -1510,6 +1510,7 @@ en:
|
|||
system_message: "sciNote system message"
|
||||
email_title: "You've received a sciNote notification!"
|
||||
assign_user_to_organization: "<i>%{assigned_user}</i> was added as %{role} to team <strong>%{organization}</strong> by <i>%{assigned_by_user}</i>."
|
||||
unassign_user_from_organization: "<i>%{unassigned_user}</i> was removed from team <strong>%{organization}</strong> by <i>%{unassigned_by_user}</i>."
|
||||
|
||||
# This section contains general words that can be used in any parts of
|
||||
# application.
|
||||
|
|
Loading…
Add table
Reference in a new issue