Fix bug double procedure path publish
This commit is contained in:
parent
9669fee7fe
commit
7281ee74b2
4 changed files with 12 additions and 10 deletions
|
@ -89,20 +89,22 @@ class Admin::ProceduresController < AdminController
|
|||
def publish
|
||||
procedure = current_administrateur.procedures.find(params[:procedure_id])
|
||||
|
||||
test_procedure = ProcedurePath.new(
|
||||
new_procedure_path = ProcedurePath.new(
|
||||
{
|
||||
path: params[:procedure_path],
|
||||
procedure: procedure,
|
||||
administrateur: procedure.administrateur
|
||||
})
|
||||
unless test_procedure.validate
|
||||
if new_procedure_path.validate
|
||||
new_procedure_path.delete
|
||||
else
|
||||
flash.alert = 'Lien de la procédure invalide'
|
||||
return redirect_to admin_procedures_path
|
||||
end
|
||||
|
||||
procedure_path = ProcedurePath.find_by_path(params[:procedure_path])
|
||||
if (procedure_path)
|
||||
if (procedure_path.administrateur_id == current_administrateur.id)
|
||||
if procedure_path
|
||||
if procedure_path.administrateur_id == current_administrateur.id
|
||||
procedure_path.procedure.archive
|
||||
else
|
||||
@mine = false
|
||||
|
@ -110,7 +112,8 @@ class Admin::ProceduresController < AdminController
|
|||
end
|
||||
end
|
||||
|
||||
procedure.publish(params[:procedure_path])
|
||||
procedure.publish!(params[:procedure_path])
|
||||
|
||||
flash.notice = "Procédure publiée"
|
||||
render js: "window.location = '#{admin_procedures_path}'"
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@ class Procedure < ActiveRecord::Base
|
|||
accepts_nested_attributes_for :types_de_champ,:reject_if => proc { |attributes| attributes['libelle'].blank? }, :allow_destroy => true
|
||||
accepts_nested_attributes_for :types_de_piece_justificative, :reject_if => proc { |attributes| attributes['libelle'].blank? }, :allow_destroy => true
|
||||
accepts_nested_attributes_for :module_api_carto
|
||||
accepts_nested_attributes_for :procedure_path
|
||||
|
||||
mount_uploader :logo, ProcedureLogoUploader
|
||||
|
||||
|
@ -76,7 +75,7 @@ class Procedure < ActiveRecord::Base
|
|||
return procedure if procedure.save
|
||||
end
|
||||
|
||||
def publish(path)
|
||||
def publish!(path)
|
||||
self.update_attributes!({ published: true, archived: false })
|
||||
ProcedurePath.create!(path: path, procedure: self, administrateur: self.administrateur)
|
||||
end
|
||||
|
|
|
@ -58,7 +58,7 @@ FactoryGirl.define do
|
|||
|
||||
trait :published do
|
||||
after(:create) do |procedure, _evaluator|
|
||||
procedure.publish(generate(:published_path))
|
||||
procedure.publish!(generate(:published_path))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -27,7 +27,7 @@ describe 'admin/procedures/show.html.haml', type: :view do
|
|||
|
||||
describe 'procedure is published' do
|
||||
before do
|
||||
procedure.publish('fake_path')
|
||||
procedure.publish!('fake_path')
|
||||
procedure.reload
|
||||
render
|
||||
end
|
||||
|
@ -45,7 +45,7 @@ describe 'admin/procedures/show.html.haml', type: :view do
|
|||
|
||||
describe 'procedure is archived' do
|
||||
before do
|
||||
procedure.publish('fake_path')
|
||||
procedure.publish!('fake_path')
|
||||
procedure.archive
|
||||
procedure.reload
|
||||
render
|
||||
|
|
Loading…
Add table
Reference in a new issue