FEAT: init admins group
This commit is contained in:
parent
b7d6e9e30f
commit
b100c8380e
35 changed files with 604 additions and 0 deletions
|
@ -0,0 +1,9 @@
|
|||
module AdminsGroupManagers
|
||||
class AdminsGroupManagerController < ApplicationController
|
||||
before_action :authenticate_admins_group_manager!
|
||||
|
||||
def nav_bar_profile
|
||||
:admins_group_manager
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,14 @@
|
|||
module AdminsGroupManagers
|
||||
class AdminsGroupsController < AdminsGroupManagerController
|
||||
def index
|
||||
@admins_groups = admins_groups
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def admins_groups
|
||||
admins_group_ids = current_admins_group_manager.admins_group_ids
|
||||
AdminsGroup.where(id: admins_group_ids.compact.uniq)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,4 @@
|
|||
module Manager
|
||||
class AdminsGroupManagersController < Manager::ApplicationController
|
||||
end
|
||||
end
|
32
app/controllers/manager/admins_groups_controller.rb
Normal file
32
app/controllers/manager/admins_groups_controller.rb
Normal file
|
@ -0,0 +1,32 @@
|
|||
module Manager
|
||||
class AdminsGroupsController < Manager::ApplicationController
|
||||
def add_admins_group_manager
|
||||
emails = (params['emails'].presence || '').split(',').to_json
|
||||
emails = JSON.parse(emails).map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
|
||||
admins_group_managers, invalid_emails = admins_group.add_admins_group_managers(emails:)
|
||||
|
||||
if invalid_emails.present?
|
||||
flash[:alert] = t('.wrong_address',
|
||||
count: invalid_emails.size,
|
||||
emails: invalid_emails)
|
||||
end
|
||||
|
||||
if admins_group_managers.present?
|
||||
flash[:notice] = "Les gestionnaires ont bien été affectés au groupe d'administrateurs"
|
||||
|
||||
AdminsGroupMailer
|
||||
.notify_added_admins_group_managers(admins_group, admins_group_managers, current_super_admin.email)
|
||||
.deliver_later
|
||||
end
|
||||
|
||||
redirect_to manager_admins_groups_path(admins_group)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def admins_group
|
||||
@admins_group ||= AdminsGroup.find(params[:id])
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue