commit
68cfdf7e1b
35 changed files with 453 additions and 1145 deletions
|
@ -132,7 +132,8 @@ linters:
|
|||
|
||||
PropertySpelling:
|
||||
enabled: true
|
||||
extra_properties: []
|
||||
extra_properties:
|
||||
- scroll-padding
|
||||
disabled_properties: []
|
||||
|
||||
# To enable later
|
||||
|
|
|
@ -7,6 +7,13 @@
|
|||
margin-bottom: $default-spacer * 2;
|
||||
background: #FFFFFF;
|
||||
|
||||
.notice {
|
||||
font-size: 16px;
|
||||
color: #666666;
|
||||
margin-top: -8px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
|
|
|
@ -12,6 +12,14 @@
|
|||
margin-bottom: 4 * $default-spacer;
|
||||
}
|
||||
|
||||
.ml-1 {
|
||||
margin-left: $default-spacer;
|
||||
}
|
||||
|
||||
.pl-0 {
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
|
||||
.numbers-delimiter {
|
||||
display: inline-block;
|
||||
width: 5px;
|
||||
|
|
|
@ -69,3 +69,6 @@
|
|||
bottom: 0;
|
||||
}
|
||||
|
||||
html.scroll-margins-for-sticky-footer {
|
||||
scroll-padding: 0 0 100px 0;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,23 @@
|
|||
}
|
||||
}
|
||||
|
||||
.procedure-admin-listing-container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
max-width: 1072px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.container {
|
||||
a {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.procedure-admin-explanation {
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
|
|
89
app/assets/stylesheets/new_design/toggle-switch.scss
Normal file
89
app/assets/stylesheets/new_design/toggle-switch.scss
Normal file
|
@ -0,0 +1,89 @@
|
|||
@import "colors";
|
||||
@import "constants";
|
||||
|
||||
// Toggle-switch
|
||||
// The switch - the box around
|
||||
.form label.toggle-switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
height: 24px;
|
||||
margin: 0;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
// Hide default HTML checkbox
|
||||
.form label.toggle-switch input[type="checkbox"] {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
// The control
|
||||
.toggle-switch-control {
|
||||
position: absolute;
|
||||
width: 47px;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: $border-grey;
|
||||
transition: 0.4s;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
.toggle-switch-control::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
left: 1px;
|
||||
bottom: 1px;
|
||||
background-color: $white;
|
||||
transition: 0.4s;
|
||||
}
|
||||
|
||||
input:checked + .toggle-switch-control {
|
||||
background-color: $green;
|
||||
}
|
||||
|
||||
input:focus + .toggle-switch-control {
|
||||
border-color: $blue;
|
||||
box-shadow: 0px 0px 2px 1px $blue;
|
||||
}
|
||||
|
||||
input:checked + .toggle-switch-control::before {
|
||||
transform: translateX(23px);
|
||||
}
|
||||
|
||||
.toggle-switch-label {
|
||||
margin-left: 47px;
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.toggle-switch-label.on {
|
||||
color: $green;
|
||||
}
|
||||
|
||||
.toggle-switch-label.off {
|
||||
color: $grey;
|
||||
}
|
||||
|
||||
.toggle-switch-checkbox:checked ~ .toggle-switch-label.off {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.toggle-switch-checkbox:not(:checked) ~ .toggle-switch-label.on {
|
||||
display: none;
|
||||
}
|
||||
|
||||
// Rounded control
|
||||
.toggle-switch-control.round {
|
||||
border-radius: 24px;
|
||||
}
|
||||
|
||||
.toggle-switch-control.round::before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -3,6 +3,46 @@ module NewAdministrateur
|
|||
before_action :retrieve_procedure, only: [:champs, :annotations, :edit, :monavis, :update_monavis, :jeton, :update_jeton]
|
||||
before_action :procedure_locked?, only: [:champs, :annotations]
|
||||
|
||||
ITEMS_PER_PAGE = 25
|
||||
|
||||
def index
|
||||
@procedures_publiees = paginated_published_procedures
|
||||
@procedures_draft = paginated_draft_procedures
|
||||
@procedures_closed = paginated_closed_procedures
|
||||
@procedures_publiees_count = current_administrateur.procedures.publiees.count
|
||||
@procedures_draft_count = current_administrateur.procedures.brouillons.count
|
||||
@procedures_closed_count = current_administrateur.procedures.closes.count
|
||||
@statut = params[:statut]
|
||||
@statut.blank? ? @statut = 'publiees' : @statut = params[:statut]
|
||||
end
|
||||
|
||||
def paginated_published_procedures
|
||||
current_administrateur
|
||||
.procedures
|
||||
.publiees
|
||||
.page(params[:page])
|
||||
.per(ITEMS_PER_PAGE)
|
||||
.order(published_at: :desc)
|
||||
end
|
||||
|
||||
def paginated_draft_procedures
|
||||
current_administrateur
|
||||
.procedures
|
||||
.brouillons
|
||||
.page(params[:page])
|
||||
.per(ITEMS_PER_PAGE)
|
||||
.order(created_at: :desc)
|
||||
end
|
||||
|
||||
def paginated_closed_procedures
|
||||
current_administrateur
|
||||
.procedures
|
||||
.closes
|
||||
.page(params[:page])
|
||||
.per(ITEMS_PER_PAGE)
|
||||
.order(created_at: :desc)
|
||||
end
|
||||
|
||||
def apercu
|
||||
@dossier = procedure_without_control.new_dossier
|
||||
@tab = apercu_tab
|
||||
|
@ -56,6 +96,19 @@ module NewAdministrateur
|
|||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
procedure = current_administrateur.procedures.find(params[:id])
|
||||
|
||||
if procedure.can_be_deleted_by_administrateur?
|
||||
procedure.discard_and_keep_track!(current_administrateur)
|
||||
|
||||
flash.notice = 'Démarche supprimée'
|
||||
redirect_to admin_procedures_draft_path
|
||||
else
|
||||
render json: {}, status: 403
|
||||
end
|
||||
end
|
||||
|
||||
def monavis
|
||||
end
|
||||
|
||||
|
|
|
@ -264,6 +264,11 @@ type Demarche {
|
|||
"""
|
||||
after: String
|
||||
|
||||
"""
|
||||
Si présent, permet de filtrer les dossiers archivés ou non
|
||||
"""
|
||||
archived: Boolean
|
||||
|
||||
"""
|
||||
Returns the elements in the list that come before the specified cursor.
|
||||
"""
|
||||
|
|
|
@ -37,6 +37,7 @@ module Types
|
|||
argument :created_since, GraphQL::Types::ISO8601DateTime, required: false, description: "Dossiers déposés depuis la date."
|
||||
argument :updated_since, GraphQL::Types::ISO8601DateTime, required: false, description: "Dossiers mis à jour depuis la date."
|
||||
argument :state, Types::DossierType::DossierState, required: false, description: "Dossiers avec statut."
|
||||
argument :archived, Boolean, required: false, description: "Si présent, permet de filtrer les dossiers archivés ou non"
|
||||
end
|
||||
|
||||
field :champ_descriptors, [Types::ChampDescriptorType], null: false, method: :types_de_champ
|
||||
|
@ -54,13 +55,17 @@ module Types
|
|||
Loaders::Record.for(Service).load(object.service_id)
|
||||
end
|
||||
|
||||
def dossiers(updated_since: nil, created_since: nil, state: nil, order:)
|
||||
def dossiers(updated_since: nil, created_since: nil, state: nil, archived: nil, order:)
|
||||
dossiers = object.dossiers.state_not_brouillon.for_api_v2
|
||||
|
||||
if state.present?
|
||||
dossiers = dossiers.where(state: state)
|
||||
end
|
||||
|
||||
if !archived.nil?
|
||||
dossiers = dossiers.where(archived: archived)
|
||||
end
|
||||
|
||||
if updated_since.present?
|
||||
dossiers = dossiers.updated_since(updated_since).order_by_updated_at(order)
|
||||
else
|
||||
|
|
|
@ -72,19 +72,6 @@ module DossierHelper
|
|||
end
|
||||
end
|
||||
|
||||
# On the 22/01/2020, a technical error on the demarches-simplifees.fr
|
||||
# instance caused some files attached to some dossiers to be deleted.
|
||||
#
|
||||
# This method returns true if the dossier contained attachments
|
||||
# whose files were deleted during this incident.
|
||||
def has_lost_attachments(dossier)
|
||||
if dinum_instance?
|
||||
dossiers_with_lost_attachments_ids.include?(dossier.id)
|
||||
else
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
def status_badge(state)
|
||||
status_text = dossier_display_state(state, lower: true)
|
||||
status_class = state.tr('_', '-')
|
||||
|
@ -114,16 +101,4 @@ module DossierHelper
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def dinum_instance?
|
||||
# rubocop:disable DS/ApplicationName
|
||||
ENV['APP_HOST']&.ends_with?('demarches-simplifiees.fr')
|
||||
# rubocop:enable DS/ApplicationName
|
||||
end
|
||||
|
||||
def dossiers_with_lost_attachments_ids
|
||||
@@ids ||= YAML.load_file(Rails.root.join('config', 'dossiers-with-lost-attachments.yml'))
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
!!! 5
|
||||
%html{ lang: "fr" }
|
||||
%html{ lang: "fr", class: yield(:root_class) }
|
||||
%head
|
||||
%meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" }
|
||||
%meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" }
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
<tr>
|
||||
<td style="word-wrap:break-word;font-size:0px;padding:0px 20px 0px 20px;padding-top:0px;padding-bottom:0px;" align="center">
|
||||
<div class="" style="cursor:auto;color:#55575d;font-family:Helvetica, Arial, sans-serif;font-size:11px;line-height:22px;text-align:center;">
|
||||
#{APPLICATION_NAME} est un service fourni par la DINUM et incubé par beta.gouv.fr
|
||||
<%= "#{APPLICATION_NAME}" %> est un service fourni par la DINUM et incubé par beta.gouv.fr
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
- content_for(:root_class, 'scroll-margins-for-sticky-footer')
|
||||
|
||||
= render partial: 'new_administrateur/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
'Attestation'] }
|
||||
|
||||
.procedure-form#attestation-template-edit
|
||||
.procedure-form__columns.container
|
||||
= form_for @attestation_template,
|
||||
url: url_for({ controller: 'new_administrateur/attestation_templates', action: :update, id: @procedure.id }),
|
||||
multipart: true,
|
||||
html: { class: 'form procedure-form__column--form' } do |f|
|
||||
|
||||
%h1.page-title
|
||||
Délivrance d‘attestation
|
||||
- if @attestation_template.activated?
|
||||
%span.text-active activée
|
||||
- else
|
||||
%span.text-inactive désactivée
|
||||
|
||||
- if @attestation_template.activated && @procedure.locked?
|
||||
.card.warning
|
||||
%p L’attestation ne peut plus être désactivée car la démarche est publiée.
|
||||
|
||||
%p.notice
|
||||
L’attestation, si elle est activée, est émise au moment où un dossier est accepté.
|
||||
%br
|
||||
L’email d’accusé d’acceptation envoyé à l’usager comporte alors un lien vers l’attestation ;
|
||||
celle-ci est également disponible au téléchargement depuis l’espace personnel de l’usager.
|
||||
|
||||
= render partial: 'new_administrateur/attestation_templates/informations', locals: { f: f }
|
||||
|
||||
.procedure-form__actions.sticky--bottom
|
||||
.actions-left
|
||||
-# Admins cannot disactivate the Attestation if it is activated and the procedure is published
|
||||
- if !(@attestation_template.activated && @procedure.locked?)
|
||||
%label.toggle-switch
|
||||
= f.check_box :activated, class: 'toggle-switch-checkbox'
|
||||
%span.toggle-switch-control.round
|
||||
%span.toggle-switch-label.on Attestation activée
|
||||
%span.toggle-switch-label.off Attestation désactivée
|
||||
|
||||
.actions-right
|
||||
= link_to 'Annuler', edit_admin_procedure_attestation_template_path(id: @procedure), class: 'button', data: { confirm: 'Êtes-vous sûr de vouloir annuler les modifications effectuées ?'}
|
||||
= f.button 'Enregistrer', class: 'button primary send'
|
||||
|
||||
.procedure-form__column--preview
|
||||
.procedure-form__preview.sticky--top
|
||||
%h3
|
||||
.procedure-form__preview-title
|
||||
Aperçu
|
||||
.notice
|
||||
Cet aperçu est mis à jour après chaque sauvegarde.
|
||||
.procedure-preview
|
||||
= render partial: 'new_administrateur/attestation_templates/apercu', locals: { procedure: @procedure }
|
|
@ -0,0 +1,73 @@
|
|||
- procedures.each do |procedure|
|
||||
.card
|
||||
.flex.justify-between
|
||||
.flex
|
||||
- if procedure.logo.present?
|
||||
= image_tag procedure.logo, alt: procedure.libelle, width: '100'
|
||||
.flex.column.ml-1
|
||||
.card-title
|
||||
= link_to procedure.libelle, admin_procedure_path(procedure), style: 'color: black;'
|
||||
= link_to(procedure_lien(procedure), procedure_lien(procedure), class: 'procedure-lien mb-1')
|
||||
|
||||
%div
|
||||
%p.notice N° #{procedure.id}
|
||||
%p.notice créée le #{procedure.created_at.strftime('%d/%m/%Y')}
|
||||
- if procedure.published_at.present?
|
||||
%p.notice publiée le #{procedure.published_at.strftime('%d/%m/%Y')}
|
||||
- if procedure.closed_at.present?
|
||||
%p.notice archivée le #{procedure.closed_at.strftime('%d/%m/%Y')}
|
||||
|
||||
.flex.justify-between
|
||||
%div
|
||||
- if feature_enabled?(:administrateur_routage)
|
||||
%span.icon.person
|
||||
%span.badge.baseline= procedure.groupe_instructeurs.count
|
||||
- else
|
||||
%span.icon.person
|
||||
%span.badge.baseline= procedure.instructeurs.count
|
||||
|
||||
%span.icon.folder
|
||||
%span.badge.baseline= procedure.dossiers.count
|
||||
|
||||
%div
|
||||
= link_to admin_procedure_path(procedure), class: 'button mr-1 edit-procedure' do
|
||||
%span.icon.edit
|
||||
Modifier
|
||||
.dropdown
|
||||
.button.dropdown-button.procedures-actions-btn
|
||||
Actions
|
||||
.dropdown-content.fade-in-down
|
||||
%ul.dropdown-items.pl-0
|
||||
- if !procedure.close?
|
||||
%li
|
||||
= link_to sanitize_url(procedure.brouillon? ? commencer_test_url(path: procedure.path) : commencer_url(path: procedure.path)), target: :blank, rel: :noopener do
|
||||
%span.icon.in-progress
|
||||
.dropdown-description
|
||||
%h4 Tester
|
||||
%li
|
||||
= link_to admin_procedure_clone_path(procedure.id), class: 'clone-btn', data: { method: :put } do
|
||||
%span.icon.new-folder
|
||||
.dropdown-description
|
||||
%h4 Cloner
|
||||
|
||||
- if procedure.publiee?
|
||||
%li
|
||||
= link_to admin_procedure_archive_path(procedure_id: procedure.id), method: :put, data: { confirm: "Voulez-vous vraiment clore la démarche ? \nLes dossiers en cours pourront être instruits, mais aucun nouveau dossier ne pourra plus être déposé.", disable_with: "Archivage..."} do
|
||||
%span.icon.archive
|
||||
.dropdown-description
|
||||
%h4 Clore
|
||||
|
||||
- if procedure.brouillon?
|
||||
%li
|
||||
= link_to admin_procedure_path(procedure), method: :delete, data: { confirm: "Voulez-vous vraiment supprimer la démarche ? \nToute suppression est définitive et s'appliquera aux éventuels autres administrateurs de cette démarche !" } do
|
||||
%span.icon.refuse
|
||||
.dropdown-description
|
||||
%h4 Supprimer
|
||||
|
||||
- else
|
||||
%li
|
||||
= link_to admin_procedure_publication_path(procedure) do
|
||||
%span.icon.unarchive
|
||||
.dropdown-description
|
||||
%h4 Réactiver
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
- content_for(:root_class, 'scroll-margins-for-sticky-footer')
|
||||
|
||||
= render partial: 'new_administrateur/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
|
|
22
app/views/new_administrateur/procedures/index.html.haml
Normal file
22
app/views/new_administrateur/procedures/index.html.haml
Normal file
|
@ -0,0 +1,22 @@
|
|||
.sub-header
|
||||
.procedure-admin-listing-container
|
||||
= link_to "Nouvelle Démarche", new_admin_procedure_path, id: 'new-procedure', class: 'button primary'
|
||||
.container
|
||||
|
||||
%ul.tabs
|
||||
= tab_item(t('pluralize.published', count: @procedures_publiees.count), admin_procedures_path(statut: 'publiees'), active: @statut == 'publiees', badge: number_with_html_delimiter(@procedures_publiees_count))
|
||||
= tab_item('En test', admin_procedures_path(statut: 'brouillons'), active: @statut == 'brouillons', badge: number_with_html_delimiter(@procedures_draft_count))
|
||||
= tab_item(t('pluralize.closed', count: @procedures_closed.count), admin_procedures_path(statut: 'archivees'), active: @statut == 'archivees', badge: number_with_html_delimiter(@procedures_closed_count))
|
||||
|
||||
.container#procedures{ data: { item_count: @statut === "publiees" ? @procedures_publiees_count : @statut === "brouillons" ? @procedures_draft_count : @procedures_closed_count } }
|
||||
- if @statut === "publiees"
|
||||
= render partial: "procedures_list", locals: { procedures: @procedures_publiees }
|
||||
= paginate @procedures_publiees
|
||||
|
||||
- if @statut === "brouillons"
|
||||
= render partial: "procedures_list", locals: { procedures: @procedures_draft }
|
||||
= paginate @procedures_draft
|
||||
|
||||
- if @statut === "archivees"
|
||||
= render partial: "procedures_list", locals: { procedures: @procedures_closed }
|
||||
= paginate @procedures_closed
|
|
@ -1,3 +1,5 @@
|
|||
- content_for(:root_class, 'scroll-margins-for-sticky-footer')
|
||||
|
||||
= render partial: 'new_administrateur/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
'Nouvelle'] }
|
||||
|
|
|
@ -12,13 +12,18 @@
|
|||
%span.icon.in-progress
|
||||
Tester
|
||||
|
||||
- if @procedure.publiee? || @procedure.brouillon?
|
||||
= link_to admin_procedure_publication_path(@procedure), class: 'button' do
|
||||
%span.icon.reply
|
||||
Envoyer une copie
|
||||
|
||||
- if !@procedure.publiee?
|
||||
= link_to 'Publier', admin_procedure_publication_path(@procedure), class: 'button primary', id: 'publish-procedure-link', data: { disable_with: "Publication..." }
|
||||
|
||||
- if @procedure.locked?
|
||||
= link_to admin_procedure_archive_path(procedure_id: @procedure.id), method: :put, class: 'button', data: { confirm: "Voulez-vous vraiment archiver la démarche ? \nLes dossiers en cours pourront être instruits, mais aucun nouveau dossier ne pourra plus être déposé.", disable_with: "Archivage..."} do
|
||||
- if @procedure.locked? && !@procedure.close?
|
||||
= link_to admin_procedure_archive_path(procedure_id: @procedure.id), method: :put, class: 'button', data: { confirm: "Voulez-vous vraiment clore la démarche ? \nLes dossiers en cours pourront être instruits, mais aucun nouveau dossier ne pourra plus être déposé.", disable_with: "Archivage..."} do
|
||||
%span.icon.archive
|
||||
Archiver
|
||||
Clore
|
||||
|
||||
.container
|
||||
%h2.procedure-admin-explanation Indispensable avant publication
|
||||
|
|
|
@ -64,6 +64,13 @@
|
|||
Option B
|
||||
%p.notice Une autre option, pas mal non plus.
|
||||
|
||||
%h3.header-subsection Interrupteur
|
||||
%label.toggle-switch
|
||||
= f.check_box :archived, class: 'toggle-switch-checkbox'
|
||||
%span.toggle-switch-control.round
|
||||
%span.toggle-switch-label.on Activé
|
||||
%span.toggle-switch-label.off Désactivé
|
||||
|
||||
.send-wrapper
|
||||
= f.submit 'Enregistrer un brouillon (formnovalidate)', formnovalidate: true, class: 'button send'
|
||||
= f.submit 'Envoyer', class: 'button send primary'
|
||||
|
|
|
@ -24,7 +24,5 @@
|
|||
.tab-title Formulaire
|
||||
- champs = dossier.champs.includes(:type_de_champ)
|
||||
- if champs.any? || dossier.procedure.routee?
|
||||
- if has_lost_attachments(dossier)
|
||||
= render partial: "shared/dossiers/lost_attachments", locals: { dossier: dossier, profile: profile }
|
||||
.card
|
||||
= render partial: "shared/dossiers/champs", locals: { champs: champs, dossier: dossier, demande_seen_at: demande_seen_at, profile: profile }
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
-# haml-lint:disable ApplicationNameLinter
|
||||
- post_mortem_url = 'https://demarches-simplifiees.gitbook.io/articles-demarches-simplifiees-fr/2020/incident-de-production-du-21-janvier-2020'
|
||||
-# haml-lint:enable ApplicationNameLinter
|
||||
- if profile == 'usager'
|
||||
/# Message for Usager
|
||||
.card.warning
|
||||
.card-title Des pièces jointes de votre dossier peuvent être manquantes.
|
||||
%p
|
||||
Suite à un
|
||||
= link_to 'incident', post_mortem_url, target: '_blank'
|
||||
survenu le 21 janvier, #{APPLICATION_NAME} a perdu par erreur une partie des pièces jointes de votre dossier. L’administration en charge de votre dossier a été prévenue.
|
||||
|
||||
- if dossier.read_only?
|
||||
%p
|
||||
Si nécessaire,
|
||||
= succeed '.' do
|
||||
%strong
|
||||
l’administration vous contactera pour renvoyer les pièces jointes en question
|
||||
- else
|
||||
%p
|
||||
Si une ou plusieurs pièces jointes manquent, nous vous invitons à
|
||||
= link_to modifier_dossier_path(dossier) do
|
||||
= succeed '.' do
|
||||
%strong renvoyer les pièces jointes manquantes
|
||||
|
||||
%p Nous nous excusons pour la gêne occasionnée.
|
||||
|
||||
- else
|
||||
/# Message for Instructeurs
|
||||
.card.warning
|
||||
.card-title Des pièces jointes de ce dossier peuvent être manquantes.
|
||||
%p
|
||||
Suite à un
|
||||
= link_to 'incident', post_mortem_url, target: '_blank'
|
||||
survenu le 21 janvier, #{APPLICATION_NAME} a perdu par erreur une partie des pièces jointes de ce dossier.
|
||||
|
||||
- if dossier.read_only?
|
||||
%p
|
||||
Si une ou plusieurs pièces jointes essentielles manquent, nous vous invitons à :
|
||||
%ol
|
||||
%li repasser ce dossier en construction ;
|
||||
%li<
|
||||
= link_to 'contacter le demandeur ', messagerie_instructeur_dossier_path(dossier.procedure, dossier)
|
||||
pour lui demander de
|
||||
= succeed '.' do
|
||||
%strong renvoyer les pièces jointes nécessaires
|
||||
- else
|
||||
%p
|
||||
Si une ou plusieurs pièces jointes manquent, nous vous invitons à
|
||||
= succeed ',' do
|
||||
= link_to 'contacter le demandeur', messagerie_instructeur_dossier_path(dossier.procedure, dossier)
|
||||
pour lui demander de
|
||||
= succeed '.' do
|
||||
%strong renvoyer les pièces jointes nécessaires
|
||||
|
||||
%p Le demandeur de ce dossier a également été prévenu. Nous nous excusons pour la gêne occasionnée.
|
|
@ -1,3 +1,4 @@
|
|||
- content_for(:root_class, 'scroll-margins-for-sticky-footer')
|
||||
- content_for(:title, "Modification du brouillon nº #{@dossier.id} (#{@dossier.procedure.libelle})")
|
||||
|
||||
- content_for :footer do
|
||||
|
|
|
@ -1,946 +0,0 @@
|
|||
# On the 22/01/2020, a technical error on the demarches-simplifees.fr
|
||||
# instance made us delete some files attached to some dossiers.
|
||||
#
|
||||
# This list contains the ids of all dossiers where some attached
|
||||
# file was mistakenly deleted during this incident.
|
||||
- 22
|
||||
- 9224
|
||||
- 9244
|
||||
- 9489
|
||||
- 9495
|
||||
- 11045
|
||||
- 14311
|
||||
- 14530
|
||||
- 14553
|
||||
- 14569
|
||||
- 14616
|
||||
- 14619
|
||||
- 15325
|
||||
- 15331
|
||||
- 16448
|
||||
- 17848
|
||||
- 18190
|
||||
- 18308
|
||||
- 18855
|
||||
- 18929
|
||||
- 18946
|
||||
- 18965
|
||||
- 19284
|
||||
- 19697
|
||||
- 19698
|
||||
- 19872
|
||||
- 20334
|
||||
- 20663
|
||||
- 20931
|
||||
- 21015
|
||||
- 21024
|
||||
- 21620
|
||||
- 21753
|
||||
- 21782
|
||||
- 21865
|
||||
- 21871
|
||||
- 21876
|
||||
- 21938
|
||||
- 21963
|
||||
- 21971
|
||||
- 22011
|
||||
- 22042
|
||||
- 22045
|
||||
- 22063
|
||||
- 22068
|
||||
- 22108
|
||||
- 22279
|
||||
- 22434
|
||||
- 22488
|
||||
- 22523
|
||||
- 24277
|
||||
- 25275
|
||||
- 26223
|
||||
- 26228
|
||||
- 27069
|
||||
- 27213
|
||||
- 29366
|
||||
- 29386
|
||||
- 29486
|
||||
- 31179
|
||||
- 31983
|
||||
- 32004
|
||||
- 32323
|
||||
- 32325
|
||||
- 32492
|
||||
- 32497
|
||||
- 35072
|
||||
- 35074
|
||||
- 35193
|
||||
- 35232
|
||||
- 35308
|
||||
- 35323
|
||||
- 35357
|
||||
- 35442
|
||||
- 35486
|
||||
- 35496
|
||||
- 35554
|
||||
- 35644
|
||||
- 36659
|
||||
- 38984
|
||||
- 39026
|
||||
- 39099
|
||||
- 39158
|
||||
- 39287
|
||||
- 39314
|
||||
- 39352
|
||||
- 39359
|
||||
- 39371
|
||||
- 39380
|
||||
- 39390
|
||||
- 39403
|
||||
- 39493
|
||||
- 39526
|
||||
- 41106
|
||||
- 41111
|
||||
- 43566
|
||||
- 43570
|
||||
- 43571
|
||||
- 43572
|
||||
- 43578
|
||||
- 43741
|
||||
- 43785
|
||||
- 43791
|
||||
- 43884
|
||||
- 43928
|
||||
- 43935
|
||||
- 43937
|
||||
- 44013
|
||||
- 44035
|
||||
- 45123
|
||||
- 48500
|
||||
- 48690
|
||||
- 52921
|
||||
- 53029
|
||||
- 53067
|
||||
- 53097
|
||||
- 53118
|
||||
- 53147
|
||||
- 53152
|
||||
- 53153
|
||||
- 53154
|
||||
- 53155
|
||||
- 53159
|
||||
- 53171
|
||||
- 53176
|
||||
- 53178
|
||||
- 53207
|
||||
- 53208
|
||||
- 53218
|
||||
- 53472
|
||||
- 53981
|
||||
- 54002
|
||||
- 56253
|
||||
- 57216
|
||||
- 57689
|
||||
- 58003
|
||||
- 58411
|
||||
- 58721
|
||||
- 59445
|
||||
- 59925
|
||||
- 61917
|
||||
- 62547
|
||||
- 62551
|
||||
- 62552
|
||||
- 62956
|
||||
- 63035
|
||||
- 63607
|
||||
- 63615
|
||||
- 65154
|
||||
- 66268
|
||||
- 66379
|
||||
- 66963
|
||||
- 67066
|
||||
- 68688
|
||||
- 68705
|
||||
- 68710
|
||||
- 68737
|
||||
- 68929
|
||||
- 68943
|
||||
- 69023
|
||||
- 69026
|
||||
- 69510
|
||||
- 69521
|
||||
- 69546
|
||||
- 70148
|
||||
- 70224
|
||||
- 72653
|
||||
- 76114
|
||||
- 79303
|
||||
- 79863
|
||||
- 79929
|
||||
- 79951
|
||||
- 79976
|
||||
- 80032
|
||||
- 84640
|
||||
- 93404
|
||||
- 98647
|
||||
- 99294
|
||||
- 101868
|
||||
- 103748
|
||||
- 104097
|
||||
- 107096
|
||||
- 109146
|
||||
- 113137,
|
||||
- 113690
|
||||
- 113707
|
||||
- 113711
|
||||
- 113722
|
||||
- 113743
|
||||
- 117270
|
||||
- 118003
|
||||
- 119395
|
||||
- 120824
|
||||
- 121498
|
||||
- 124009
|
||||
- 125430
|
||||
- 127024
|
||||
- 130735
|
||||
- 132389
|
||||
- 132942
|
||||
- 133317
|
||||
- 133697
|
||||
- 137347
|
||||
- 137374
|
||||
- 137427
|
||||
- 137525
|
||||
- 137900
|
||||
- 138272
|
||||
- 138436
|
||||
- 138466
|
||||
- 138515
|
||||
- 138550
|
||||
- 138631
|
||||
- 138703
|
||||
- 138990
|
||||
- 139296
|
||||
- 139371
|
||||
- 140604
|
||||
- 140811
|
||||
- 141142
|
||||
- 141227
|
||||
- 148609
|
||||
- 153917
|
||||
- 156644
|
||||
- 157401
|
||||
- 184400
|
||||
- 190035
|
||||
- 191350
|
||||
- 193213
|
||||
- 193783
|
||||
- 194088
|
||||
- 198497
|
||||
- 200002
|
||||
- 200005
|
||||
- 200017
|
||||
- 200041
|
||||
- 200048
|
||||
- 200060
|
||||
- 200061
|
||||
- 200062
|
||||
- 200081
|
||||
- 200086
|
||||
- 200089
|
||||
- 200094
|
||||
- 200098
|
||||
- 200100
|
||||
- 200108
|
||||
- 200109
|
||||
- 200113
|
||||
- 200128
|
||||
- 200138
|
||||
- 200140
|
||||
- 200143
|
||||
- 200154
|
||||
- 200158
|
||||
- 200161
|
||||
- 200163
|
||||
- 200169
|
||||
- 200182
|
||||
- 200186
|
||||
- 200195
|
||||
- 200202
|
||||
- 200208
|
||||
- 200211
|
||||
- 200263
|
||||
- 200267
|
||||
- 200448
|
||||
- 200685
|
||||
- 200757
|
||||
- 200784
|
||||
- 200787
|
||||
- 201021
|
||||
- 201315
|
||||
- 201576
|
||||
- 201921
|
||||
- 201986
|
||||
- 202015
|
||||
- 203553
|
||||
- 203630
|
||||
- 204737
|
||||
- 204866
|
||||
- 204924
|
||||
- 204982
|
||||
- 205021
|
||||
- 205265
|
||||
- 205424
|
||||
- 205655
|
||||
- 205659
|
||||
- 205847
|
||||
- 205940
|
||||
- 205954
|
||||
- 205987
|
||||
- 206013
|
||||
- 206089
|
||||
- 206108
|
||||
- 206170
|
||||
- 206179
|
||||
- 206217
|
||||
- 206237
|
||||
- 206285
|
||||
- 206288
|
||||
- 206290
|
||||
- 206300
|
||||
- 206374
|
||||
- 206472
|
||||
- 206490
|
||||
- 206494
|
||||
- 206515
|
||||
- 206532
|
||||
- 206589
|
||||
- 206612
|
||||
- 206734
|
||||
- 206741
|
||||
- 206782
|
||||
- 206807
|
||||
- 206828
|
||||
- 206835
|
||||
- 206856
|
||||
- 206887
|
||||
- 206904
|
||||
- 206909
|
||||
- 206913
|
||||
- 206931
|
||||
- 206964
|
||||
- 206972
|
||||
- 206977
|
||||
- 206979
|
||||
- 206992
|
||||
- 207004
|
||||
- 207006
|
||||
- 207032
|
||||
- 207061
|
||||
- 207078
|
||||
- 207103
|
||||
- 207104
|
||||
- 207118
|
||||
- 207181
|
||||
- 207183
|
||||
- 207197
|
||||
- 207207
|
||||
- 207236
|
||||
- 207537
|
||||
- 207734
|
||||
- 207773
|
||||
- 208009
|
||||
- 208153
|
||||
- 208186
|
||||
- 208199
|
||||
- 208379
|
||||
- 208422
|
||||
- 208545
|
||||
- 208549
|
||||
- 208873
|
||||
- 208903
|
||||
- 209151
|
||||
- 209392
|
||||
- 209397
|
||||
- 209873
|
||||
- 210103
|
||||
- 210175
|
||||
- 210959
|
||||
- 211018
|
||||
- 211144
|
||||
- 211197
|
||||
- 211852
|
||||
- 212322
|
||||
- 212359
|
||||
- 212493
|
||||
- 212503
|
||||
- 212955
|
||||
- 212986
|
||||
- 213596
|
||||
- 213598
|
||||
- 213612
|
||||
- 213625
|
||||
- 213694
|
||||
- 213712
|
||||
- 213749
|
||||
- 214123
|
||||
- 214592
|
||||
- 215503
|
||||
- 215510
|
||||
- 215742
|
||||
- 215756
|
||||
- 216263
|
||||
- 216360
|
||||
- 216620
|
||||
- 217131
|
||||
- 217159
|
||||
- 217215
|
||||
- 217320
|
||||
- 217361
|
||||
- 217373
|
||||
- 217487
|
||||
- 217507
|
||||
- 217518
|
||||
- 217587
|
||||
- 217677
|
||||
- 217714
|
||||
- 217790
|
||||
- 217796
|
||||
- 217850
|
||||
- 217859
|
||||
- 217871
|
||||
- 217875
|
||||
- 218370
|
||||
- 218419
|
||||
- 219341
|
||||
- 220675
|
||||
- 221967
|
||||
- 222266
|
||||
- 222801
|
||||
- 222868
|
||||
- 222875
|
||||
- 222946
|
||||
- 222949
|
||||
- 222965
|
||||
- 223154
|
||||
- 223303
|
||||
- 223329
|
||||
- 223368
|
||||
- 224064
|
||||
- 224290
|
||||
- 225117
|
||||
- 227153
|
||||
- 227161
|
||||
- 227816
|
||||
- 227931
|
||||
- 228074
|
||||
- 228666
|
||||
- 228703
|
||||
- 228776
|
||||
- 228918
|
||||
- 228926
|
||||
- 229050
|
||||
- 229086
|
||||
- 229109
|
||||
- 229114
|
||||
- 229553
|
||||
- 230338
|
||||
- 230353
|
||||
- 230479
|
||||
- 230539
|
||||
- 230574
|
||||
- 230582
|
||||
- 231261
|
||||
- 232521
|
||||
- 232740
|
||||
- 232916
|
||||
- 232934
|
||||
- 232958
|
||||
- 233008
|
||||
- 233047
|
||||
- 233160
|
||||
- 233197
|
||||
- 233211
|
||||
- 233556
|
||||
- 233605
|
||||
- 233712
|
||||
- 235322
|
||||
- 236625
|
||||
- 237371
|
||||
- 237439
|
||||
- 237605
|
||||
- 238276
|
||||
- 239412
|
||||
- 239500
|
||||
- 239603
|
||||
- 239777
|
||||
- 239805
|
||||
- 239829
|
||||
- 239850
|
||||
- 239858
|
||||
- 241496
|
||||
- 241557
|
||||
- 241598
|
||||
- 241788
|
||||
- 241824
|
||||
- 241858
|
||||
- 241879
|
||||
- 241910
|
||||
- 241927
|
||||
- 241934
|
||||
- 241936
|
||||
- 241939
|
||||
- 241950
|
||||
- 241952
|
||||
- 241955
|
||||
- 241956
|
||||
- 241959
|
||||
- 241969
|
||||
- 241970
|
||||
- 241985
|
||||
- 241987
|
||||
- 241991
|
||||
- 241996
|
||||
- 242414
|
||||
- 242725
|
||||
- 242800
|
||||
- 242808
|
||||
- 242814
|
||||
- 242820
|
||||
- 242840
|
||||
- 242845
|
||||
- 242937
|
||||
- 242942
|
||||
- 242972
|
||||
- 242973
|
||||
- 242975
|
||||
- 242997
|
||||
- 243133
|
||||
- 243234
|
||||
- 243237
|
||||
- 243240
|
||||
- 243273
|
||||
- 243290
|
||||
- 243335
|
||||
- 243339
|
||||
- 243429
|
||||
- 245309
|
||||
- 245460
|
||||
- 247557
|
||||
- 248202
|
||||
- 248537
|
||||
- 248567
|
||||
- 248592
|
||||
- 248726
|
||||
- 248776
|
||||
- 249018
|
||||
- 249342
|
||||
- 249352
|
||||
- 249563
|
||||
- 250149
|
||||
- 250471
|
||||
- 250489
|
||||
- 250502
|
||||
- 250504
|
||||
- 250509
|
||||
- 250511
|
||||
- 250530
|
||||
- 251386
|
||||
- 252994
|
||||
- 254055
|
||||
- 254211
|
||||
- 254972
|
||||
- 255013
|
||||
- 255078
|
||||
- 255082
|
||||
- 255329
|
||||
- 255925
|
||||
- 255990
|
||||
- 256083
|
||||
- 256084
|
||||
- 256296
|
||||
- 256472
|
||||
- 257228
|
||||
- 258640
|
||||
- 258982
|
||||
- 259131
|
||||
- 259147
|
||||
- 259204
|
||||
- 261038
|
||||
- 261117
|
||||
- 261118
|
||||
- 261170
|
||||
- 261452
|
||||
- 263654
|
||||
- 264489
|
||||
- 265036
|
||||
- 265333
|
||||
- 265983
|
||||
- 266034
|
||||
- 266057
|
||||
- 266062
|
||||
- 266069
|
||||
- 266071
|
||||
- 266205
|
||||
- 267145
|
||||
- 267322
|
||||
- 267404
|
||||
- 267708
|
||||
- 268223
|
||||
- 268652
|
||||
- 268654
|
||||
- 268678
|
||||
- 268728
|
||||
- 268731
|
||||
- 268764
|
||||
- 268885
|
||||
- 269421
|
||||
- 269444
|
||||
- 269518
|
||||
- 269560
|
||||
- 269574
|
||||
- 269575
|
||||
- 270213
|
||||
- 272346
|
||||
- 272891
|
||||
- 273169
|
||||
- 274183
|
||||
- 274478
|
||||
- 274634
|
||||
- 274730
|
||||
- 275900
|
||||
- 279329
|
||||
- 279348
|
||||
- 280975
|
||||
- 281779
|
||||
- 281804
|
||||
- 282877
|
||||
- 283362
|
||||
- 283378
|
||||
- 283392
|
||||
- 283395
|
||||
- 283495
|
||||
- 283845
|
||||
- 284616
|
||||
- 284622
|
||||
- 284675
|
||||
- 284687
|
||||
- 284774
|
||||
- 284838
|
||||
- 284880
|
||||
- 285060
|
||||
- 285230
|
||||
- 285575
|
||||
- 285603
|
||||
- 287488
|
||||
- 288210
|
||||
- 289529
|
||||
- 289530
|
||||
- 289811
|
||||
- 289844
|
||||
- 289859
|
||||
- 290754
|
||||
- 291018
|
||||
- 291621
|
||||
- 293625
|
||||
- 293634
|
||||
- 296214
|
||||
- 298172
|
||||
- 298355
|
||||
- 298942
|
||||
- 299000
|
||||
- 306186
|
||||
- 310318
|
||||
- 310544
|
||||
- 310730
|
||||
- 311019
|
||||
- 311728
|
||||
- 312509
|
||||
- 312531
|
||||
- 313699
|
||||
- 330729
|
||||
- 337282
|
||||
- 344150
|
||||
- 351128
|
||||
- 360286
|
||||
- 374944
|
||||
- 386682
|
||||
- 386850
|
||||
- 409245
|
||||
- 410749
|
||||
- 429085
|
||||
- 453060
|
||||
- 473146
|
||||
- 473183
|
||||
- 477625
|
||||
- 482733
|
||||
- 485936
|
||||
- 486996
|
||||
- 501423
|
||||
- 524299
|
||||
- 525738
|
||||
- 525916
|
||||
- 525932
|
||||
- 525936
|
||||
- 529745
|
||||
- 529870
|
||||
- 542902
|
||||
- 546362
|
||||
- 546394
|
||||
- 546406
|
||||
- 546416
|
||||
- 546519
|
||||
- 551264
|
||||
- 551276
|
||||
- 552058
|
||||
- 555081
|
||||
- 571316
|
||||
- 574190
|
||||
- 574209
|
||||
- 591896
|
||||
- 600483
|
||||
- 600501
|
||||
- 600863
|
||||
- 601157
|
||||
- 619683
|
||||
- 620774
|
||||
- 627219
|
||||
- 628388
|
||||
- 628633
|
||||
- 628675
|
||||
- 628701
|
||||
- 628743
|
||||
- 628746
|
||||
- 628763
|
||||
- 631292
|
||||
- 635784
|
||||
- 639656
|
||||
- 640229
|
||||
- 642227
|
||||
- 654699
|
||||
- 656113
|
||||
- 665439
|
||||
- 666028
|
||||
- 666790
|
||||
- 670294
|
||||
- 671241
|
||||
- 671245
|
||||
- 671259
|
||||
- 671268
|
||||
- 671458
|
||||
- 677528
|
||||
- 679414
|
||||
- 690281
|
||||
- 690749
|
||||
- 692168
|
||||
- 695653
|
||||
- 695727
|
||||
- 695768
|
||||
- 695791
|
||||
- 696013
|
||||
- 696428
|
||||
- 715997
|
||||
- 719236
|
||||
- 726969
|
||||
- 726981
|
||||
- 727014
|
||||
- 727551
|
||||
- 756386
|
||||
- 756402
|
||||
- 762500
|
||||
- 766726
|
||||
- 767963
|
||||
- 771492
|
||||
- 773982
|
||||
- 775235
|
||||
- 777837
|
||||
- 780557
|
||||
- 781158
|
||||
- 781502
|
||||
- 781503
|
||||
- 784077
|
||||
- 784298
|
||||
- 784403
|
||||
- 792304
|
||||
- 794024
|
||||
- 794606
|
||||
- 795345
|
||||
- 796814
|
||||
- 798434
|
||||
- 798893
|
||||
- 799196
|
||||
- 799200
|
||||
- 800093
|
||||
- 802666
|
||||
- 802679
|
||||
- 802707
|
||||
- 802709
|
||||
- 802716
|
||||
- 808711
|
||||
- 808740
|
||||
- 808742
|
||||
- 808766
|
||||
- 808767
|
||||
- 808784
|
||||
- 808797
|
||||
- 808876
|
||||
- 808926
|
||||
- 808935
|
||||
- 808937
|
||||
- 808939
|
||||
- 808940
|
||||
- 808943
|
||||
- 808947
|
||||
- 808958
|
||||
- 808963
|
||||
- 808967
|
||||
- 808982
|
||||
- 808983
|
||||
- 808994
|
||||
- 809002
|
||||
- 809004
|
||||
- 809007
|
||||
- 811190
|
||||
- 818427
|
||||
- 818724
|
||||
- 819171
|
||||
- 819725
|
||||
- 828064
|
||||
- 828292
|
||||
- 828535
|
||||
- 828577
|
||||
- 828607
|
||||
- 828641
|
||||
- 828705
|
||||
- 828741
|
||||
- 828778
|
||||
- 828782
|
||||
- 828788
|
||||
- 828819
|
||||
- 829128
|
||||
- 829239
|
||||
- 832186
|
||||
- 839927
|
||||
- 841809
|
||||
- 842330
|
||||
- 845358
|
||||
- 846642
|
||||
- 853954
|
||||
- 855891
|
||||
- 859844
|
||||
- 860016
|
||||
- 860043
|
||||
- 860050
|
||||
- 860059
|
||||
- 860062
|
||||
- 860067
|
||||
- 860520
|
||||
- 860555
|
||||
- 861195
|
||||
- 861222
|
||||
- 863696
|
||||
- 888447
|
||||
- 898772
|
||||
- 910362
|
||||
- 916218
|
||||
- 920528
|
||||
- 924844
|
||||
- 931770
|
||||
- 933988
|
||||
- 934004
|
||||
- 934005
|
||||
- 934008
|
||||
- 934009
|
||||
- 934010
|
||||
- 934013
|
||||
- 934014
|
||||
- 934019
|
||||
- 934029
|
||||
- 934033
|
||||
- 934046
|
||||
- 934058
|
||||
- 934060
|
||||
- 938750
|
||||
- 946941
|
||||
- 949162
|
||||
- 951110
|
||||
- 951227
|
||||
- 955534
|
||||
- 959860
|
||||
- 960038
|
||||
- 962441
|
||||
- 962443
|
||||
- 962515
|
||||
- 962547
|
||||
- 962560
|
||||
- 962664
|
||||
- 963634
|
||||
- 966627
|
||||
- 969062
|
||||
- 985102
|
||||
- 990079
|
||||
- 990281
|
||||
- 991542
|
||||
- 999193
|
||||
- 1009535
|
||||
- 1016896
|
||||
- 1018675
|
||||
- 1019395
|
||||
- 1020295
|
||||
- 1020509
|
||||
- 1020960
|
||||
- 1020969
|
||||
- 1020982
|
||||
- 1021109
|
||||
- 1023811
|
||||
- 1027181
|
||||
- 1028190
|
||||
- 1035967
|
||||
- 1036338
|
||||
- 1038182
|
||||
- 1047230
|
||||
- 1048403
|
||||
- 1048429
|
||||
- 1048938
|
||||
- 1049968
|
||||
- 1050075
|
||||
- 1063901
|
||||
- 1063941
|
||||
- 1063942
|
||||
- 1079027
|
||||
- 1079344
|
||||
- 1083246
|
||||
- 1086139
|
||||
- 1088337
|
||||
- 1092801
|
||||
- 1102942
|
||||
- 1110614
|
||||
- 1110620
|
||||
- 1112775
|
||||
- 1116822
|
||||
- 1121711
|
||||
- 1140138
|
||||
- 1143324
|
||||
- 1145406
|
||||
- 1153823
|
||||
- 1157409
|
||||
- 1164993
|
||||
- 1165566
|
||||
- 1168238
|
||||
- 1169529
|
||||
- 1174555
|
||||
- 1182043
|
||||
- 1184647
|
||||
- 1187042
|
||||
- 1188538
|
||||
- 1206673
|
||||
- 1206824
|
||||
- 1206939
|
||||
- 1206954
|
||||
- 1206967
|
||||
- 1206969
|
||||
- 1249330
|
||||
- 1249377
|
||||
- 1249815
|
||||
- 1263647
|
||||
- 1279054
|
||||
- 1280300
|
||||
- 1280341
|
|
@ -317,3 +317,15 @@ fr:
|
|||
zero: 0 dossier trouvé
|
||||
one: 1 dossier trouvé
|
||||
other: "%{count} dossiers trouvés"
|
||||
published:
|
||||
zero: Publiée
|
||||
one: Publiée
|
||||
other: Publiées
|
||||
closed:
|
||||
zero: Close
|
||||
one: Close
|
||||
other: Closes
|
||||
draft:
|
||||
zero: Brouillon
|
||||
one: Brouillon
|
||||
other: Brouillons
|
||||
|
|
|
@ -178,7 +178,7 @@ Rails.application.routes.draw do
|
|||
get 'procedures/draft' => 'procedures#draft'
|
||||
get 'procedures/:id/publication' => 'procedures#show', as: :procedure_publication
|
||||
|
||||
resources :procedures, only: [:index, :destroy] do
|
||||
resources :procedures, only: [:destroy] do
|
||||
collection do
|
||||
get 'new_from_existing' => 'procedures#new_from_existing', as: :new_from_existing
|
||||
end
|
||||
|
@ -373,7 +373,7 @@ Rails.application.routes.draw do
|
|||
#
|
||||
|
||||
namespace :admin, module: 'new_administrateur' do
|
||||
resources :procedures, except: [:index, :destroy] do
|
||||
resources :procedures, except: [:destroy] do
|
||||
member do
|
||||
get 'apercu'
|
||||
get 'champs'
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2020_07_16_143010) do
|
||||
ActiveRecord::Schema.define(version: 2020_07_15_143010) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -257,9 +257,9 @@ ActiveRecord::Schema.define(version: 2020_07_16_143010) do
|
|||
t.datetime "en_construction_close_to_expiration_notice_sent_at"
|
||||
t.interval "en_construction_conservation_extension", default: "PT0S"
|
||||
t.datetime "termine_close_to_expiration_notice_sent_at"
|
||||
t.bigint "revision_id"
|
||||
t.index "to_tsvector('french'::regconfig, (search_terms || private_search_terms))", name: "index_dossiers_on_search_terms_private_search_terms", using: :gin
|
||||
t.index "to_tsvector('french'::regconfig, search_terms)", name: "index_dossiers_on_search_terms", using: :gin
|
||||
t.bigint "revision_id"
|
||||
t.index ["archived"], name: "index_dossiers_on_archived"
|
||||
t.index ["groupe_instructeur_id"], name: "index_dossiers_on_groupe_instructeur_id"
|
||||
t.index ["hidden_at"], name: "index_dossiers_on_hidden_at"
|
||||
|
|
|
@ -41,23 +41,6 @@ describe Admin::ProceduresController, type: :controller do
|
|||
it { expect(response.status).to eq(200) }
|
||||
end
|
||||
|
||||
describe 'GET #index with sorting and pagination' do
|
||||
before do
|
||||
create(:procedure, administrateur: admin)
|
||||
admin.reload
|
||||
end
|
||||
|
||||
subject {
|
||||
get :index, params: {
|
||||
'procedures_smart_listing[page]': 1,
|
||||
'procedures_smart_listing[per_page]': 10,
|
||||
'procedures_smart_listing[sort][id]': 'asc'
|
||||
}
|
||||
}
|
||||
|
||||
it { expect(subject.status).to eq(200) }
|
||||
end
|
||||
|
||||
describe 'GET #archived' do
|
||||
subject { get :archived }
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ describe API::V2::GraphqlController do
|
|||
dossier
|
||||
end
|
||||
let(:dossier1) { create(:dossier, :en_construction, :with_individual, procedure: procedure, en_construction_at: 1.day.ago) }
|
||||
let(:dossier2) { create(:dossier, :en_construction, :with_individual, procedure: procedure, en_construction_at: 3.days.ago) }
|
||||
let(:dossier2) { create(:dossier, :en_construction, :with_individual, :archived, procedure: procedure, en_construction_at: 3.days.ago) }
|
||||
let(:dossier_brouillon) { create(:dossier, :with_individual, procedure: procedure) }
|
||||
let(:dossiers) { [dossier2, dossier1, dossier] }
|
||||
let(:instructeur) { create(:instructeur, followed_dossiers: dossiers) }
|
||||
|
@ -171,6 +171,50 @@ describe API::V2::GraphqlController do
|
|||
})
|
||||
end
|
||||
end
|
||||
|
||||
context "filter archived dossiers" do
|
||||
let(:query) do
|
||||
"{
|
||||
demarche(number: #{procedure.id}) {
|
||||
id
|
||||
number
|
||||
dossiers(archived: #{archived_filter}) {
|
||||
nodes {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
}"
|
||||
end
|
||||
|
||||
context 'with archived=true' do
|
||||
let(:archived_filter) { 'true' }
|
||||
it "only archived dossiers should be returned" do
|
||||
expect(gql_errors).to eq(nil)
|
||||
expect(gql_data).to eq(demarche: {
|
||||
id: procedure.to_typed_id,
|
||||
number: procedure.id,
|
||||
dossiers: {
|
||||
nodes: [{ id: dossier2.to_typed_id }]
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
context 'with archived=false' do
|
||||
let(:archived_filter) { 'false' }
|
||||
it "only not archived dossiers should be returned" do
|
||||
expect(gql_errors).to eq(nil)
|
||||
expect(gql_data).to eq(demarche: {
|
||||
id: procedure.to_typed_id,
|
||||
number: procedure.id,
|
||||
dossiers: {
|
||||
nodes: [{ id: dossier1.to_typed_id }, { id: dossier.to_typed_id }]
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "dossier" do
|
||||
|
|
|
@ -43,6 +43,27 @@ describe NewAdministrateur::ProceduresController, type: :controller do
|
|||
sign_in(admin.user)
|
||||
end
|
||||
|
||||
describe 'GET #index' do
|
||||
subject { get :index }
|
||||
|
||||
it { expect(response.status).to eq(200) }
|
||||
end
|
||||
|
||||
describe 'GET #index with sorting and pagination' do
|
||||
before do
|
||||
create(:procedure, administrateur: admin)
|
||||
admin.reload
|
||||
end
|
||||
|
||||
subject {
|
||||
get :index, params: {
|
||||
'statut': 'publiees'
|
||||
}
|
||||
}
|
||||
|
||||
it { expect(subject.status).to eq(200) }
|
||||
end
|
||||
|
||||
describe 'GET #edit' do
|
||||
let(:published_at) { nil }
|
||||
let(:procedure) { create(:procedure, administrateur: admin, published_at: published_at) }
|
||||
|
|
|
@ -18,6 +18,7 @@ feature 'As an administrateur I wanna clone a procedure', js: true do
|
|||
scenario do
|
||||
visit admin_procedures_path
|
||||
expect(page.find_by_id('procedures')['data-item-count']).to eq('1')
|
||||
page.all('.procedures-actions-btn').first.click
|
||||
page.all('.clone-btn').first.click
|
||||
visit admin_procedures_draft_path
|
||||
expect(page.find_by_id('procedures')['data-item-count']).to eq('1')
|
||||
|
|
|
@ -12,18 +12,18 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
|
|||
|
||||
context 'Right after sign_in I shall see all procedure states links' do
|
||||
scenario 'Finding draft procedures' do
|
||||
click_on 'draft-procedures'
|
||||
expect(page).to have_current_path(admin_procedures_draft_path)
|
||||
page.all('.tabs li a')[1].click
|
||||
expect(page).to have_current_path(admin_procedures_path(statut: 'brouillons'))
|
||||
end
|
||||
|
||||
scenario 'Finding active procedures' do
|
||||
click_on 'active-procedures'
|
||||
expect(page).to have_current_path(admin_procedures_path)
|
||||
page.all('.tabs li a').first.click
|
||||
expect(page).to have_current_path(admin_procedures_path(statut: 'publiees'))
|
||||
end
|
||||
|
||||
scenario 'Finding archived procedures' do
|
||||
click_on 'archived-procedures'
|
||||
expect(page).to have_current_path(admin_procedures_archived_path)
|
||||
page.all('.tabs li a').last.click
|
||||
expect(page).to have_current_path(admin_procedures_path(statut: 'archivees'))
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -32,7 +32,6 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
|
|||
scenario 'Finding save button for new procedure, libelle, description and cadre_juridique required' do
|
||||
expect(page).to have_selector('#new-procedure')
|
||||
find('#new-procedure').click
|
||||
click_on 'from-scratch'
|
||||
|
||||
expect(page).to have_current_path(new_admin_procedure_path)
|
||||
expect(find('#procedure_for_individual_true')).to be_checked
|
||||
|
@ -54,7 +53,6 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
|
|||
before 'Create procedure' do
|
||||
expect(page).to have_selector('#new-procedure')
|
||||
find('#new-procedure').click
|
||||
click_on 'from-scratch'
|
||||
|
||||
expect(page).to have_current_path(new_admin_procedure_path)
|
||||
fill_in_dummy_procedure_details
|
||||
|
|
|
@ -229,6 +229,7 @@ feature 'The routing', js: true do
|
|||
|
||||
def log_out(old_layout: false)
|
||||
if old_layout
|
||||
page.all('.dropdown-button').first.click
|
||||
click_on 'Se déconnecter'
|
||||
else
|
||||
click_button(title: 'Mon compte')
|
||||
|
|
|
@ -215,33 +215,4 @@ RSpec.describe DossierHelper, type: :helper do
|
|||
it { is_expected.to eq('without_continuation') }
|
||||
end
|
||||
end
|
||||
|
||||
describe '.has_lost_attachments' do
|
||||
let(:procedure) { create(:procedure, :published) }
|
||||
let(:dossier_with_lost_attachments) { create(:dossier, procedure: procedure) }
|
||||
let(:dossier_without_lost_attachments) { create(:dossier, procedure: procedure) }
|
||||
|
||||
before do
|
||||
expect(ENV).to receive(:[]).with('APP_HOST').at_least(:once).and_return(app_host)
|
||||
allow(helper).to receive(:dossiers_with_lost_attachments_ids).and_return([dossier_with_lost_attachments.id])
|
||||
end
|
||||
|
||||
context 'on the DINUM instance' do
|
||||
let(:app_host) { 'demarches-simplifiees.fr' }
|
||||
|
||||
it 'returns true for dossiers that lost attachments' do
|
||||
expect(helper.has_lost_attachments(dossier_with_lost_attachments)).to be(true)
|
||||
expect(helper.has_lost_attachments(dossier_without_lost_attachments)).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
context 'on another instance' do
|
||||
let(:app_host) { 'polynesie-francaise.pref.gouv.fr' }
|
||||
|
||||
it 'returns false for all dossiers' do
|
||||
expect(helper.has_lost_attachments(dossier_with_lost_attachments)).to be(false)
|
||||
expect(helper.has_lost_attachments(dossier_without_lost_attachments)).to be(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -50,15 +50,5 @@ describe 'shared/dossiers/demande.html.haml', type: :view do
|
|||
expect(subject).to include(champ.libelle)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the dossier lost some attachments' do
|
||||
before do
|
||||
expect(view).to receive(:has_lost_attachments).and_return(true)
|
||||
end
|
||||
|
||||
it 'displays a warning message' do
|
||||
expect(subject).to include('Des pièces jointes de votre dossier peuvent être manquantes.')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
describe 'shared/dossiers/lost_attachments.html.haml', type: :view do
|
||||
let(:procedure) { create(:procedure, :published) }
|
||||
let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
||||
|
||||
subject { render 'shared/dossiers/lost_attachments.html.haml', dossier: dossier, profile: profile }
|
||||
|
||||
context 'when viewed by an Usager' do
|
||||
let(:profile) { 'usager' }
|
||||
|
||||
it 'displays a warning message' do
|
||||
expect(subject).to include('Des pièces jointes de votre dossier peuvent être manquantes')
|
||||
expect(subject).to have_link('renvoyer les pièces jointes manquantes', href: modifier_dossier_path(dossier))
|
||||
end
|
||||
|
||||
context 'when the user can’t edit the dossier' do
|
||||
let(:dossier) { create(:dossier, :en_instruction, procedure: procedure) }
|
||||
|
||||
it 'suggest to wait' do
|
||||
expect(subject).to include('l’administration vous contactera')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when viewed by an Instructeur' do
|
||||
let(:profile) { 'instructeur' }
|
||||
|
||||
it 'displays a warning message' do
|
||||
expect(subject).to include('Des pièces jointes de ce dossier peuvent être manquantes')
|
||||
expect(subject).to have_link('contacter le demandeur')
|
||||
end
|
||||
|
||||
context 'when the user can’t edit the dossier' do
|
||||
let(:dossier) { create(:dossier, :en_instruction, procedure: procedure) }
|
||||
|
||||
it 'suggest to make the dossier editable again' do
|
||||
expect(subject).to include('repasser ce dossier en construction')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue