[Fix #1735] Sign the admin account creation email

This commit is contained in:
gregoirenovel 2018-05-31 18:07:19 +02:00
parent 6992bea141
commit 41e8350cbe
7 changed files with 12 additions and 9 deletions

View file

@ -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

View file

@ -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,

View file

@ -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

View file

@ -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

View file

@ -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 }

View file

@ -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

View file

@ -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 }