Publications page to the new UI (admin)

This commit is contained in:
kara Diaby 2020-09-08 12:35:44 +02:00
parent d755a23dd9
commit 13e4589905
32 changed files with 440 additions and 714 deletions

View file

@ -62,40 +62,6 @@ class Admin::ProceduresController < AdminController
end
end
def publish_validate
@procedure.assign_attributes(publish_params)
end
def publish
@procedure.assign_attributes(publish_params)
@procedure.publish_or_reopen!(current_administrateur)
flash.notice = "Démarche publiée"
render js: "window.location='#{admin_procedures_path}'"
rescue ActiveRecord::RecordInvalid
respond_to do |format|
format.js { render :publish_validate }
end
end
def transfer
admin = Administrateur.by_email(params[:email_admin].downcase)
if admin.nil?
respond_to do |format|
format.js { render :transfer, status: :not_found }
end
else
procedure = current_administrateur.procedures.find(params[:procedure_id])
procedure.clone(admin, false)
flash.now.notice = "La démarche a correctement été clonée vers le nouvel administrateur."
respond_to(&:js)
end
end
def archive
procedure = current_administrateur.procedures.find(params[:procedure_id])
procedure.close!

View file

@ -1,6 +1,6 @@
module NewAdministrateur
class ProceduresController < AdministrateurController
before_action :retrieve_procedure, only: [:champs, :annotations, :edit, :monavis, :update_monavis, :jeton, :update_jeton]
before_action :retrieve_procedure, only: [:champs, :annotations, :edit, :monavis, :update_monavis, :jeton, :update_jeton, :publication, :publish]
before_action :procedure_locked?, only: [:champs, :annotations]
ITEMS_PER_PAGE = 25
@ -132,6 +132,41 @@ module NewAdministrateur
render 'jeton'
end
def publication
if @procedure.brouillon?
@procedure_lien = commencer_test_url(path: @procedure.path)
else
@procedure_lien = commencer_url(path: @procedure.path)
end
@procedure.path = @procedure.suggested_path(current_administrateur)
@current_administrateur = current_administrateur
end
def publish
@procedure.assign_attributes(publish_params)
if @procedure.publish_or_reopen!(current_administrateur)
redirect_to admin_procedure_path(@procedure)
flash.notice = "Démarche publiée"
else
redirect_to admin_procedure_path(@procedure)
flash.alert = @procedure.errors.full_messages
end
end
def transfer
admin = Administrateur.by_email(params[:email_admin].downcase)
if admin.nil?
redirect_to admin_procedure_publication_path(params[:procedure_id])
flash.alert = "Envoi vers #{params[:email_admin]} impossible : cet administrateur n'existe pas"
else
procedure = current_administrateur.procedures.find(params[:procedure_id])
procedure.clone(admin, false)
redirect_to admin_procedure_path(params[:procedure_id])
flash.notice = "La démarche a correctement été clonée vers le nouvel administrateur."
end
end
private
def apercu_tab
@ -154,5 +189,9 @@ module NewAdministrateur
end
permited_params
end
def publish_params
params.permit(:path, :lien_site_web)
end
end
end