scinote-web/app/controllers/client_api/users/invitations_controller.rb
2017-09-28 14:49:33 +02:00

42 lines
1.2 KiB
Ruby

module ClientApi
module Users
class InvitationsController < Devise::InvitationsController
before_action :check_invite_users_permission, only: :invite_users
def invite_users
invite_service =
ClientApi::InvitationsService.new(user: current_user,
team: @team,
role: params['user_role'],
emails: params[:emails])
invite_results = invite_service.invitation
success_response(invite_results)
end
private
def success_response(invite_results)
respond_to do |format|
format.json do
render template: '/client_api/users/invite_users',
status: :ok,
locals: { invite_results: invite_results, team: @team }
end
end
end
def check_invite_users_permission
@team = Team.find_by_id(params[:team_id])
if @team && !is_admin_of_team(@team)
respond_to do |format|
format.json do
render json: t('client_api.invite_users.permission_error'),
status: 422
end
end
end
end
end
end
end