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
|
def publish
|
||||||
procedure = current_administrateur.procedures.find(params[:procedure_id])
|
procedure = current_administrateur.procedures.find(params[:procedure_id])
|
||||||
|
|
||||||
test_procedure = ProcedurePath.new(
|
new_procedure_path = ProcedurePath.new(
|
||||||
{
|
{
|
||||||
path: params[:procedure_path],
|
path: params[:procedure_path],
|
||||||
procedure: procedure,
|
procedure: procedure,
|
||||||
administrateur: procedure.administrateur
|
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'
|
flash.alert = 'Lien de la procédure invalide'
|
||||||
return redirect_to admin_procedures_path
|
return redirect_to admin_procedures_path
|
||||||
end
|
end
|
||||||
|
|
||||||
procedure_path = ProcedurePath.find_by_path(params[:procedure_path])
|
procedure_path = ProcedurePath.find_by_path(params[:procedure_path])
|
||||||
if (procedure_path)
|
if procedure_path
|
||||||
if (procedure_path.administrateur_id == current_administrateur.id)
|
if procedure_path.administrateur_id == current_administrateur.id
|
||||||
procedure_path.procedure.archive
|
procedure_path.procedure.archive
|
||||||
else
|
else
|
||||||
@mine = false
|
@mine = false
|
||||||
|
@ -110,7 +112,8 @@ class Admin::ProceduresController < AdminController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
procedure.publish(params[:procedure_path])
|
procedure.publish!(params[:procedure_path])
|
||||||
|
|
||||||
flash.notice = "Procédure publiée"
|
flash.notice = "Procédure publiée"
|
||||||
render js: "window.location = '#{admin_procedures_path}'"
|
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_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 :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 :module_api_carto
|
||||||
accepts_nested_attributes_for :procedure_path
|
|
||||||
|
|
||||||
mount_uploader :logo, ProcedureLogoUploader
|
mount_uploader :logo, ProcedureLogoUploader
|
||||||
|
|
||||||
|
@ -76,7 +75,7 @@ class Procedure < ActiveRecord::Base
|
||||||
return procedure if procedure.save
|
return procedure if procedure.save
|
||||||
end
|
end
|
||||||
|
|
||||||
def publish(path)
|
def publish!(path)
|
||||||
self.update_attributes!({ published: true, archived: false })
|
self.update_attributes!({ published: true, archived: false })
|
||||||
ProcedurePath.create!(path: path, procedure: self, administrateur: self.administrateur)
|
ProcedurePath.create!(path: path, procedure: self, administrateur: self.administrateur)
|
||||||
end
|
end
|
||||||
|
|
|
@ -58,7 +58,7 @@ FactoryGirl.define do
|
||||||
|
|
||||||
trait :published do
|
trait :published do
|
||||||
after(:create) do |procedure, _evaluator|
|
after(:create) do |procedure, _evaluator|
|
||||||
procedure.publish(generate(:published_path))
|
procedure.publish!(generate(:published_path))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -27,7 +27,7 @@ describe 'admin/procedures/show.html.haml', type: :view do
|
||||||
|
|
||||||
describe 'procedure is published' do
|
describe 'procedure is published' do
|
||||||
before do
|
before do
|
||||||
procedure.publish('fake_path')
|
procedure.publish!('fake_path')
|
||||||
procedure.reload
|
procedure.reload
|
||||||
render
|
render
|
||||||
end
|
end
|
||||||
|
@ -45,7 +45,7 @@ describe 'admin/procedures/show.html.haml', type: :view do
|
||||||
|
|
||||||
describe 'procedure is archived' do
|
describe 'procedure is archived' do
|
||||||
before do
|
before do
|
||||||
procedure.publish('fake_path')
|
procedure.publish!('fake_path')
|
||||||
procedure.archive
|
procedure.archive
|
||||||
procedure.reload
|
procedure.reload
|
||||||
render
|
render
|
||||||
|
|
Loading…
Add table
Reference in a new issue