Add the admin argument to Procedure#clone

This commit is contained in:
gregoirenovel 2018-01-08 14:44:15 +01:00
parent 7f44818796
commit ec5b9c86ce
3 changed files with 5 additions and 5 deletions

View file

@ -136,9 +136,8 @@ class Admin::ProceduresController < AdminController
render '/admin/procedures/transfer', formats: 'js', status: 404
else
procedure = current_administrateur.procedures.find(params[:procedure_id])
clone_procedure = procedure.clone
clone_procedure = procedure.clone(admin)
clone_procedure.administrateur = admin
clone_procedure.save
flash.now.notice = "La procédure a correctement été clonée vers le nouvel administrateur."
@ -162,7 +161,7 @@ class Admin::ProceduresController < AdminController
def clone
procedure = current_administrateur.procedures.find(params[:procedure_id])
new_procedure = procedure.clone
new_procedure = procedure.clone(current_administrateur)
if new_procedure
flash.notice = 'Procédure clonée'
redirect_to edit_admin_procedure_path(id: new_procedure.id)

View file

@ -98,7 +98,7 @@ class Procedure < ActiveRecord::Base
publiee_ou_archivee?
end
def clone
def clone(admin)
procedure = self.deep_clone(include:
{
types_de_piece_justificative: nil,
@ -112,6 +112,7 @@ class Procedure < ActiveRecord::Base
procedure.logo_secure_token = nil
procedure.remote_logo_url = self.logo_url
procedure.administrateur = admin
procedure.initiated_mail = initiated_mail.try(:dup)
procedure.received_mail = received_mail.try(:dup)
procedure.closed_mail = closed_mail.try(:dup)

View file

@ -174,7 +174,7 @@ describe Procedure do
@signature.close
end
subject { procedure.clone }
subject { procedure.clone(procedure.administrateur) }
it 'should duplicate specific objects with different id' do
expect(subject.id).not_to eq(procedure.id)