Procedure: add legal reference

This commit is contained in:
simon lehericey 2018-05-02 15:41:43 +02:00
parent 25f0b6258a
commit a96889310b
10 changed files with 33 additions and 2 deletions

View file

@ -224,7 +224,7 @@ class Admin::ProceduresController < AdminController
end
def procedure_params
editable_params = [:libelle, :description, :organisation, :direction, :lien_site_web, :notice, :web_hook_url, :euro_flag, :logo, :auto_archive_on]
editable_params = [:libelle, :description, :organisation, :direction, :lien_site_web, :cadre_juridique, :notice, :web_hook_url, :euro_flag, :logo, :auto_archive_on]
if @procedure&.locked?
params.require(:procedure).permit(*editable_params)
else

View file

@ -45,6 +45,7 @@ class Procedure < ApplicationRecord
validates :libelle, presence: true, allow_blank: false, allow_nil: false
validates :description, presence: true, allow_blank: false, allow_nil: false
validates :cadre_juridique, presence: true, allow_blank: false, allow_nil: false
include AASM

View file

@ -21,6 +21,10 @@
Un lien de rappel HTTP (aussi appelé webhook) est utilisé pour notifier un service tiers du changement de l'état dun dossier sur demarches-simplifiees.fr. À chaque changement détat d'un dossier, notre site va effectuer une requête sur le lien renseigné avec en paramètres : le nouvel état du dossier, lidentifiant de la procédure, l'identifiant dossier et la date du changement. Vous pourrez alors utiliser notre API pour récupérer les nouvelles informations du dossier concerné.
= f.text_field :web_hook_url, class: 'form-control', placeholder: 'https://callback.exemple.fr/'
.form-group
%h4 Cadre juridique : indiquez la référence ou l'URL du texte juridique ou chargez la délibération qui justifie cette procédure *
= f.text_field :cadre_juridique, class: 'form-control', placeholder: 'https://www.legifrance.gouv.fr/'
.form-group
%h4 Notice explicative de la procédure
- notice = @procedure.notice

View file

@ -3,3 +3,17 @@ fr:
attributes:
procedure:
organisation: Organisme
errors:
models:
procedure:
attributes:
libelle:
blank: Attribut manquant
description:
blank: Attribut manquant
lien_demarche:
blank: Attribut manquant
organisation:
blank: Attribut manquant
'cadre_juridique':
blank: Attribut manquant

View file

@ -0,0 +1,5 @@
class AddCadreJuridiqueToProcedure < ActiveRecord::Migration[5.2]
def change
add_column :procedures, :cadre_juridique, :string
end
end

View file

@ -481,6 +481,7 @@ ActiveRecord::Schema.define(version: 2018_05_30_095508) do
t.bigint "service_id"
t.integer "duree_conservation_dossiers_dans_ds"
t.integer "duree_conservation_dossiers_hors_ds"
t.string "cadre_juridique"
t.index ["hidden_at"], name: "index_procedures_on_hidden_at"
t.index ["parent_procedure_id"], name: "index_procedures_on_parent_procedure_id"
t.index ["service_id"], name: "index_procedures_on_service_id"

View file

@ -15,6 +15,7 @@ describe Admin::ProceduresController, type: :controller do
let(:quartiers_prioritaires) { '0' }
let(:cadastre) { '0' }
let(:cerfa_flag) { true }
let(:cadre_juridique) { 'cadre juridique' }
let(:procedure_params) {
{
@ -24,6 +25,7 @@ describe Admin::ProceduresController, type: :controller do
direction: direction,
lien_demarche: lien_demarche,
cerfa_flag: cerfa_flag,
cadre_juridique: cadre_juridique,
module_api_carto_attributes: {
use_api_carto: use_api_carto,
quartiers_prioritaires: quartiers_prioritaires,

View file

@ -6,6 +6,7 @@ FactoryBot.define do
description "Demande de subvention à l'intention des associations"
organisation "Orga DINSIC"
direction "direction DINSIC"
cadre_juridique "un cadre juridique important"
published_at nil
cerfa_flag false
administrateur { create(:administrateur) }

View file

@ -14,6 +14,7 @@ feature 'As an administrateur I wanna clone a procedure', js: true do
page.find_by_id('from-scratch').click
fill_in 'procedure_libelle', with: 'libelle de la procedure'
page.execute_script("$('#procedure_description').val('description de la procedure')")
fill_in 'procedure_cadre_juridique', with: 'cadre juridique'
page.find_by_id('save-procedure').click
end

View file

@ -32,13 +32,14 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
expect(page).to have_current_path(new_admin_procedure_path)
end
scenario 'Finding save button for new procedure, libelle and description required' do
scenario 'Finding save button for new procedure, libelle, description and cadre_juridique required' do
page.find_by_id('new-procedure').click
page.find_by_id('from-scratch').click
page.find_by_id('save-procedure').click
page.find_by_id('flash_message').visible?
fill_in 'procedure_libelle', with: 'libelle de la procedure'
page.execute_script("$('#procedure_description').val('description de la procedure')")
fill_in 'procedure_cadre_juridique', with: 'cadre juridique'
page.find_by_id('save-procedure').click
expect(page).to have_current_path(admin_procedure_types_de_champ_path(Procedure.first.id.to_s))
end
@ -50,6 +51,7 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
page.find_by_id('from-scratch').click
fill_in 'procedure_libelle', with: 'libelle de la procedure'
page.execute_script("$('#procedure_description').val('description de la procedure')")
fill_in 'procedure_cadre_juridique', with: 'cadre juridique'
page.find_by_id('save-procedure').click
procedure = Procedure.last