[Fix #1735] Sign the admin account creation email
This commit is contained in:
parent
6992bea141
commit
41e8350cbe
7 changed files with 12 additions and 9 deletions
|
@ -14,7 +14,7 @@ module Manager
|
|||
end
|
||||
|
||||
def reinvite
|
||||
Administrateur.find_inactive_by_id(params[:id]).invite!
|
||||
Administrateur.find_inactive_by_id(params[:id]).invite!(current_administration.id)
|
||||
flash.notice = "Invitation renvoyée"
|
||||
redirect_to manager_administrateur_path(params[:id])
|
||||
end
|
||||
|
|
|
@ -10,9 +10,10 @@ class AdministrationMailer < ApplicationMailer
|
|||
subject: subject)
|
||||
end
|
||||
|
||||
def invite_admin(admin, reset_password_token)
|
||||
def invite_admin(admin, reset_password_token, administration_id)
|
||||
@reset_password_token = reset_password_token
|
||||
@admin = admin
|
||||
@author_name = BizDev.full_name(administration_id)
|
||||
subject = "Activez votre compte administrateur"
|
||||
|
||||
mail(to: admin.email,
|
||||
|
|
|
@ -44,14 +44,14 @@ class Administrateur < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
def invite!
|
||||
def invite!(administration_id)
|
||||
if active?
|
||||
raise "Impossible d'inviter un utilisateur déjà actif !"
|
||||
end
|
||||
|
||||
reset_password_token = set_reset_password_token
|
||||
|
||||
AdministrationMailer.invite_admin(self, reset_password_token).deliver_later
|
||||
AdministrationMailer.invite_admin(self, reset_password_token, administration_id).deliver_later
|
||||
|
||||
reset_password_token
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ class Administration < ApplicationRecord
|
|||
|
||||
if administrateur.save
|
||||
AdministrationMailer.new_admin_email(administrateur, self).deliver_later
|
||||
administrateur.invite!
|
||||
administrateur.invite!(id)
|
||||
User.create({
|
||||
email: email,
|
||||
password: password
|
||||
|
|
|
@ -20,4 +20,4 @@
|
|||
= link_to(DOC_URL, DOC_URL)
|
||||
|
||||
%p
|
||||
= render partial: "layouts/mailers/bizdev_signature", locals: { author_name: "Camille Garrigue" }
|
||||
= render partial: "layouts/mailers/bizdev_signature", locals: { author_name: @author_name }
|
||||
|
|
|
@ -8,7 +8,7 @@ class AdministrationMailerPreview < ActionMailer::Preview
|
|||
end
|
||||
|
||||
def invite_admin
|
||||
AdministrationMailer.invite_admin(Administrateur.last, "12345678")
|
||||
AdministrationMailer.invite_admin(Administrateur.last, "12345678", 0)
|
||||
end
|
||||
|
||||
def refuse_admin
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Administrateur, type: :model do
|
||||
let(:administration) { create(:administration) }
|
||||
|
||||
describe 'assocations' do
|
||||
it { is_expected.to have_and_belong_to_many(:gestionnaires) }
|
||||
it { is_expected.to have_many(:procedures) }
|
||||
|
@ -53,14 +55,14 @@ describe Administrateur, type: :model do
|
|||
|
||||
describe '#find_inactive_by_token' do
|
||||
let(:administrateur) { create(:administration).invite_admin('paul@tps.fr') }
|
||||
let(:reset_password_token) { administrateur.invite! }
|
||||
let(:reset_password_token) { administrateur.invite!(administration.id) }
|
||||
|
||||
it { expect(Administrateur.find_inactive_by_token(reset_password_token)).not_to be_nil }
|
||||
end
|
||||
|
||||
describe '#reset_password' do
|
||||
let(:administrateur) { create(:administration).invite_admin('paul@tps.fr') }
|
||||
let(:reset_password_token) { administrateur.invite! }
|
||||
let(:reset_password_token) { administrateur.invite!(administration.id) }
|
||||
|
||||
it { expect(Administrateur.reset_password(reset_password_token, '12345678').errors).to be_empty }
|
||||
it { expect(Administrateur.reset_password('123', '12345678').errors).not_to be_empty }
|
||||
|
|
Loading…
Reference in a new issue