Merge branch 'develop' into staging

This commit is contained in:
Mathieu Magnin 2017-02-16 17:12:54 +01:00
commit 71e4e096cd
80 changed files with 360 additions and 769 deletions

View file

@ -1,4 +0,0 @@
exit
xit
xtei
cniuecniu

View file

@ -119,11 +119,8 @@ end
group :development do
# Access an IRB console on exception pages or by using <%= console %> in views
gem 'web-console'
gem 'rack-handlers'
gem 'xray-rails'
end

View file

@ -3,6 +3,6 @@ $(document).on('page:load', wysihtml5_active);
function wysihtml5_active (){
$('.wysihtml5').each(function(i, elem) {
$(elem).wysihtml5({ toolbar:{ "fa": true, "link": false, "color": true }, "locale": "fr-FR" });
$(elem).wysihtml5({ toolbar:{ "fa": true, "link": false, "color": false }, "locale": "fr-FR" });
});
}

View file

@ -18,14 +18,6 @@ function action_type_de_champs() {
toggleErrorClass(this, validatePhone(val));
});
$("#liste_champs input").on('focus', function () {
$("#description_" + this.id).slideDown();
});
$("#liste_champs input").on('blur', function () {
$("#description_" + this.id).slideUp();
});
address_type_init();
}

View file

@ -0,0 +1 @@
$font-size-base: 16px;

View file

@ -20,6 +20,7 @@
*= require franceconnect
*= require bootstrap-wysihtml5
*/
@import "variables";
@import "bootstrap-sprockets";
@import "bootstrap";
@ -143,10 +144,6 @@ textarea#description {
max-width: 27px;
}
label {
font-weight: normal;
}
div.pagination {
padding-top: 20px;
display: block;

View file

@ -3,10 +3,6 @@
// You can use Sass (SCSS) here: http://sass-lang.com/
@import "bootstrap";
table {
font-size: 13px;
}
#carte_page {
#map {
@extend .col-md-12;

View file

@ -7,9 +7,7 @@
.show-block {
width: 90%;
.body{
padding-left: 35px;
padding-right: 35px;
padding-bottom: 35px;
padding: 15px;
}
}
}
@ -134,10 +132,3 @@
width: 160px;
}
}
.description_div {
margin-top: 5px;
margin-left: 5px;
color: dimgrey;
display: none;
}

View file

@ -30,18 +30,6 @@
color: #000000;
margin-bottom: 10px;
}
.new-action {
background-color: #E45B51;
text-align: center;
cursor: pointer;
color: #FFFFFF;
width: 253px;
height: 40px;
line-height: 40px;
font-family: Arial;
font-size: 16px;
font-weight: bold;
}
.file {
padding-right: 70px;
text-align: center;
@ -59,20 +47,7 @@
border-bottom: 1px solid #979797;
}
#new-commentaire {
padding: 35px;
.btn-send {
background-color: #E45B51;
text-align: center;
color: #FFFFFF;
width: 150px;
height: 40px;
line-height: 28px;
font-family: Arial;
font-size: 16px;
font-weight: bold;
float: right;
border-radius: 0;
}
padding: 15px;
}
}
.infos {

View file

@ -1,3 +1,6 @@
.twitter-typeahead {
width: 100%; // http://stackoverflow.com/questions/17957513/extending-the-width-of-bootstrap-typeahead-to-match-input-field
}
.tt-menu {
padding: 8px 0;

View file

@ -81,7 +81,7 @@ class Admin::ProceduresController < AdminController
return render 'edit'
end
flash.notice = 'Préocédure modifiée'
flash.notice = 'Procédure modifiée'
redirect_to edit_admin_procedure_path(id: @procedure.id)
end

View file

@ -36,7 +36,7 @@ class Backoffice::PreferenceListDossierController < Backoffice::DossiersListCont
private
def path
Features.opensimplif ? 'opensimplif/pref_list' : 'backoffice/dossiers/pref_list'
'backoffice/dossiers/pref_list'
end
def params_procedure_id

View file

@ -1,61 +0,0 @@
class OpensimplifController < Backoffice::Dossiers::ProcedureController
def index
if params[:id].nil?
procedure = current_gestionnaire.procedures.order('libelle ASC').first
if procedure.nil?
return redirect_to simplifications_nothing_path
else
return redirect_to simplification_path(id: procedure.id)
end
end
smartlisting_dossier
end
def nothing
end
def reload_smartlisting
smartlisting_dossier
render 'opensimplif/index', formats: :js
end
private
def smartlisting_dossier dossiers_list=nil, liste='all_state'
dossiers_list_facade liste
mes_dossiers_list = current_user.dossiers
follow_dossiers_list = dossiers_list_facade.service.suivi
all_state_dossiers_list = dossiers_list_facade.service.all_state
if param_page.nil?
params[:dossiers_smart_listing] = {page: dossiers_list_facade.service.default_page}
end
smart_listing_create :mes_dossiers,
mes_dossiers_list,
partial: "backoffice/dossiers/list",
array: true,
default_sort: dossiers_list_facade.service.default_sort
smart_listing_create :follow_dossiers,
follow_dossiers_list,
partial: "backoffice/dossiers/list",
array: true,
default_sort: dossiers_list_facade.service.default_sort
smart_listing_create :all_state_dossiers,
all_state_dossiers_list,
partial: "backoffice/dossiers/list",
array: true,
default_sort: dossiers_list_facade.service.default_sort
end
def dossiers_list_facade liste='all_state'
@facade_data_view ||= DossiersListFacades.new current_gestionnaire, liste, retrieve_procedure
end
end

View file

@ -7,12 +7,6 @@ class RootController < ApplicationController
route = Rails.application.routes.recognize_path(new_user_session_path)
end
if Features.opensimplif
unless !user_signed_in? && !administrateur_signed_in? && !gestionnaire_signed_in?
return redirect_to simplifications_path
end
end
if user_signed_in? && !route[:controller].match('users').nil?
return redirect_to users_dossiers_path

View file

@ -29,8 +29,6 @@ class Users::SessionsController < Sessions::SessionsController
current_user.update_attributes(loged_in_with_france_connect: '')
end
check_opensimplif if Features.opensimplif
if user_signed_in?
redirect_to after_sign_in_path_for(:user)
elsif gestionnaire_signed_in?
@ -74,18 +72,6 @@ class Users::SessionsController < Sessions::SessionsController
private
def check_opensimplif
return if (user_signed_in? && gestionnaire_signed_in?) || administrateur_signed_in?
if gestionnaire_signed_in?
User.create email: params[:user][:email], password: params[:user][:password]
try_to_authenticate User
elsif user_signed_in?
Gestionnaire.create email: params[:user][:email], password: params[:user][:password]
try_to_authenticate Gestionnaire
end
end
def error_procedure
flash.alert = t('errors.messages.procedure_not_found')
redirect_to url_for root_path

View file

@ -7,4 +7,9 @@ class ChampDecorator < Draper::Decorator
end
object.value
end
def description_with_links
description.gsub(URI.regexp, '<a target="_blank" href="\0">\0</a>').html_safe if description
end
end

View file

@ -6,7 +6,6 @@ class DossiersListFacades
def initialize current_devise_profil, liste, procedure = nil
@current_devise_profil = current_devise_profil
@liste = liste
@liste = 'all_state' if Features.opensimplif
@procedure = procedure
end

View file

@ -30,7 +30,7 @@ class Procedure < ActiveRecord::Base
validates :libelle, presence: true, allow_blank: false, allow_nil: false
validates :description, presence: true, allow_blank: false, allow_nil: false
after_save :build_default_mails, if: Proc.new { id_changed? }
after_create :build_default_mails
def build_default_mails
MailReceived.create(procedure: self) unless mail_received

View file

@ -3,11 +3,7 @@
class BaseUploader < CarrierWave::Uploader::Base
def cache_dir
if Rails.env.production?
if Features.opensimplif?
'/tmp/opensimplif-cache'
else
'/tmp/tps-cache'
end
'/tmp/tps-cache'
else
'/tmp/tps-dev-cache'
end

View file

@ -14,7 +14,7 @@
- @accompagnateurs_not_assign.each do |accompagnateur|
%tr
%td.col-md-11.col-sm-11.col-xs-11.col-lg-11{style:'padding-top: 11px; font-size:15px'}= accompagnateur.email
%td.col-xs-11{style:'padding-top: 11px; font-size:15px'}= accompagnateur.email
%td.center
%a.btn.btn-success.gestionnaire-affectation{href: "#{admin_procedure_accompagnateurs_path(procedure_id: @procedure.id, accompagnateur_id: accompagnateur.id, to: AccompagnateurService::ASSIGN)}", 'data-method' => 'put'}
.fa.fa-arrow-right

View file

@ -1,7 +1,7 @@
.row.white-back
#accompagnateur_form
.row
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.col-xs-6
%h3.text-info Disponibles
= smart_listing_render :accompagnateurs_not_assign
@ -11,13 +11,13 @@
#procedure_new.section.section-label
= form_for @gestionnaire, url: {controller: 'admin/gestionnaires', action: :create} do |f|
.row
.col-md-5.col-sm-5.col-xs-5.col-lg-5
.col-xs-5
= hidden_field_tag :procedure_id, params[:procedure_id]
=render partial: 'admin/gestionnaires/informations', locals: {f: f}
.col-md-2.col-sm-2.col-xs-2.col-lg-2
.col-xs-2
%br
%br
= f.submit 'Valider', class: 'btn btn-info', style: 'float:left', id: 'add-gestionnaire-email'
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.col-xs-6
%h3.text-success Affectés
= smart_listing_render :accompagnateurs_assign

View file

@ -2,18 +2,18 @@
%br
.row
.col-md-4.col-sm-4.col-xs-4.col-lg-4
.col-xs-4
= smart_listing_render :gestionnaires
.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1
.col-xs-1
&nbsp;
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.col-xs-6
%h3 Ajouter un accompagnateur
#procedure_new.section.section-label
= form_for @gestionnaire, url: {controller: 'admin/gestionnaires', action: :create} do |f|
.row
.col-md-5.col-sm-5.col-xs-5.col-lg-5
.col-xs-5
= render partial: 'informations', locals: {f: f}
.col-md-2.col-sm-2.col-xs-2.col-lg-2
.col-xs-2
%br
%br
= f.submit 'Valider', class: 'btn btn-info', style: 'float:left'

View file

@ -12,7 +12,7 @@
= f.button :submit, 'Mettre à jour', class: "btn-success"
.row
.col-md-6
.col-md-8
%table.table
%tr
%th
@ -23,8 +23,9 @@
%tr
%td.center
%b.text-success
\--
= balise.first
\--
= raw "--#{balise.first}--"
-# \--
-# = balise.first
-# \--
%td
=balise.second[:description]

View file

@ -1,6 +1,3 @@
%br
-{libelle: 'Libellé*', description: 'Description*', organisation: 'Organisation', direction: 'Direction', lien_site_web: 'Lien site internet', lien_notice: 'Lien notice'}.each do |key, value|
.form-group
%h4
@ -12,7 +9,7 @@
= f.text_field key, class: 'form-control', placeholder: value
.row
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.col-xs-6
%h4 Logo de la procédure
- unless @procedure.logo.blank?
= image_tag @procedure.decorate.logo_img, {style: 'height: 40px; display: inline; margin-right: 6px', id: 'preview_procedure_logo'}
@ -21,55 +18,60 @@
%div{style:'margin-top:5px'}
%i
Fichier accepté : JPG / JPEG / PNG
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.col-xs-6
%h4 Drapeau européen
%label
=f.check_box :euro_flag
Afficher le drapeau européen
%br
.checkbox
%label
=f.check_box :euro_flag
Afficher le drapeau européen
.row
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.col-xs-6
%h4 Cartographie
= f.fields_for :module_api_carto, @procedure.module_api_carto do |ff|
%label
=ff.check_box :use_api_carto, {id: :procedure_module_api_carto_use_api_carto}
Utilisation de la cartographie
.checkbox
%label
=ff.check_box :use_api_carto, {id: :procedure_module_api_carto_use_api_carto}
Utilisation de la cartographie
%ul#modules_api_carto
%li
%label
= ff.check_box :quartiers_prioritaires
Quartiers Prioritaires
.checkbox
%label
= ff.check_box :quartiers_prioritaires
Quartiers Prioritaires
%li
%label
= ff.check_box :cadastre
Cadastre
.checkbox
%label
= ff.check_box :cadastre
Cadastre
.col-md-6.col-sm-6.col-xs-6.col-lg-6
%h4 Formulaire de demande ou CERFA
%label
=f.check_box :cerfa_flag
Activer l'envoi de formulaire de demande ou CERFA
%br
=f.text_field :lien_demarche, class: 'form-control', placeholder: 'URL vers le formulaire vierge (facultatif)'
.col-xs-6
- if @procedure.cerfa_flag
%h4 Formulaire de demande ou CERFA
.checkbox
%label
=f.check_box :cerfa_flag
Activer l'envoi de formulaire de demande ou CERFA
=f.text_field :lien_demarche, class: 'form-control', placeholder: 'URL vers le formulaire vierge (facultatif)'
%br
.row
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.col-xs-6
%h4 Particuliers
%div
%label
=f.check_box :for_individual
Cette procédure s'adresse à un public qui
%b
ne possède pas (ou pas encore) de numéro SIRET,
qui doivent donc s'identifier en tant que personne physique.
%ul#individual_with_siret{style:'margin-top: 8px'}
%li
%ul.list-unstyled
%li
.checkbox
%label
=f.check_box :individual_with_siret
Donner la possibilité de renseigner un SIRET au cours de la construction du dossier.
=f.check_box :for_individual
Cette procédure s'adresse à un public qui
%b
ne possède pas (ou pas encore) de numéro SIRET,
qui doit donc s'identifier en tant que personne physique.
%ul.list-unstyled#individual_with_siret{style:'margin-left: 15px'}
%li
.checkbox
%label
=f.check_box :individual_with_siret
Donner la possibilité de renseigner un SIRET au cours de la construction du dossier.

View file

@ -12,7 +12,7 @@
- procedure = procedure.decorate
%tr{id: "tr_dossier_#{procedure.id}", 'data-dossier_url' => admin_procedure_path(id: procedure.id)}
%td= procedure.id
%td.col-md-6.col-sm-6.col-xs-6.col-lg-6
%td.col-xs-6
= procedure.libelle
- if @active_class
%td= link_to procedure.lien, procedure.lien, class: 'procedure-lien', 'data-method' => :get

View file

@ -2,6 +2,6 @@
#procedure_new.section.section-label
= form_for @procedure, url: url_for({controller: 'admin/procedures', action: :update, id: @procedure.id}), multipart: true do |f|
= render partial: 'informations', locals: {f: f}
= f.submit 'Editer', class: 'btn btn-success', style: 'float:right'
%br
%br
.text-right
= f.submit 'Editer', class: 'btn btn-success'

View file

@ -70,18 +70,18 @@
Champs
.badge.progress-bar-info
= @facade.procedure.types_de_champ.size
- @facade.procedure.types_de_champ.order(:order_place).each do |champ|
= champ.libelle
%br
%ul
- @facade.procedure.types_de_champ.order(:order_place).each do |champ|
%li= champ.libelle
.champs_private.col-xs-6.col-md-3
%h4.text-info
Champs privés
.badge.progress-bar-info
= @facade.procedure.types_de_champ_private.size
- @facade.procedure.types_de_champ_private.order(:order_place).each do |champ|
= champ.libelle
%br
%ul
- @facade.procedure.types_de_champ_private.order(:order_place).each do |champ|
%li= champ.libelle
.pieces_justificatives.col-xs-6.col-md-3
%h4.text-info
@ -96,7 +96,7 @@
=t('dynamics.admin.procedure.stats.title')
.row
.col-md-6.col-sm-6.col-xs-6.col-lg-6{style:'margin-left:3%'}
.col-xs-6{style:'margin-left:3%'}
%h4 Total
%div
= @facade.dossiers_total
@ -126,7 +126,7 @@
%p
0
.col-md-5.col-sm-5.col-xs-5.col-lg-5
.col-xs-5
%h4 Non archivés
= javascript_include_tag "https://code.highcharts.com/highcharts.js", "chartkick"
- if @facade.dossiers_for_pie_highchart.blank?

View file

@ -1,10 +1,10 @@
- unless smart_listing.empty?
%table.table
%thead
%th.col-md-4.col-sm-4.col-xs-4.col-lg-4= smart_listing.sortable 'Email', :email
%th.col-md-4.col-sm-4.col-xs-4.col-lg-4= smart_listing.sortable 'Date de dernière connexion', :last_sign_in_at
%th.col-md-2.col-sm-2.col-xs-2.col-lg-2 Procédure active
%th.col-md-2.col-sm-2.col-xs-2.col-lg-2 Dossier en cours
%th.col-xs-4= smart_listing.sortable 'Email', :email
%th.col-xs-4= smart_listing.sortable 'Date de dernière connexion', :last_sign_in_at
%th.col-xs-2 Procédure active
%th.col-xs-2 Dossier en cours
- @admins.each do |admin|
%tr

View file

@ -3,7 +3,7 @@
%br
.row
.col-md-4.col-sm-4.col-xs-4.col-lg-4
.col-xs-4
- if @facade.followers.size > 0
%ul
- @facade.followers.each do |follower|

View file

@ -3,9 +3,8 @@
- if smart_listing.name.to_s == 'follow_dossiers'
%th.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1.center
%i.fa.fa-bell
- unless Features.opensimplif
%th.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1
État
%th.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1
État
- @facade_data_view.preference_list_dossiers_filter.each do |preference|
- unless preference.libelle == 'Statut' || preference.libelle == 'État'
@ -33,9 +32,8 @@
- else
.badge.progress-bar-warning
= total_notif
- unless Features.opensimplif
%td.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1
= dossier.decorate.display_state
%td.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1
= dossier.decorate.display_state
- @facade_data_view.preference_list_dossiers_filter.each_with_index do |preference, index|
- unless preference.libelle == 'Statut' || preference.libelle == 'État'
%td

View file

@ -27,7 +27,7 @@
- if index%2 == 0 || tables.first.to_s.include?('champs')
%tr
%td.col-sm-5.col-md-5.col-sm-5.col-xs-5.col-lg-5{style: 'vertical-align: top', colspan: (tables.first == :champs ? 2 : 1)}
%td.col-xs-5{style: 'vertical-align: top', colspan: (tables.first == :champs ? 2 : 1)}
%h5= tables.first.to_s.gsub('_', ' ').capitalize
%ul
- if tables.second

View file

@ -4,7 +4,7 @@
.row
.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1
.fa.fa-info-circle.text-info{style:'font-size: 2em; margin-top: 20%'}
.col-md-11.col-sm-11.col-xs-11.col-lg-11
.col-xs-11
-if dossiers_list_facade.liste == 'nouveaux'
Tous les dossiers présents dans cette liste sont ceux qui
%b

View file

@ -14,11 +14,11 @@
%tr
%td
= procedure.id
%td.col-md-4.col-sm-4.col-xs-4.col-lg-4
%td.col-xs-4
= link_to procedure.libelle, procedure.lien
%td
= procedure.description
%td.col-md-3.col-sm-3.col-xs-3.col-lg-3
%td.col-xs-3
= procedure.organisation
= smart_listing.paginate

View file

@ -1,5 +1,5 @@
.row
.col-md-12.col-sm-12.col-xs-12.col-lg-12
.col-xs-12
#map.mini{class: @facade.dossier.procedure.module_api_carto.classes}
%input{id: 'json_latlngs', type:'hidden', value: "#{@facade.dossier.json_latlngs}"}

View file

@ -2,50 +2,40 @@
.col-lg-12.col-md-12.col-sm-12.col-xs-12
- if @facade.procedure.for_individual?
.row.title-row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.split-hr
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.dossier-title= t('utils.depositaire').upcase
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.split-hr
%div.col-xs-4.split-hr
%div.col-xs-4.dossier-title= t('utils.depositaire').upcase
%div.col-xs-4.split-hr
.row
%div.col-md-6.col-sm-6.col-xs-6.col-lg-6.depositaire-label Civilité
%div.col-xs-6.depositaire-label Civilité
%div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off= "-"
%div.col-md-5.col-sm-5.col-xs-5.col-lg-5.depositaire-info= @facade.individual.gender
%div.col-xs-5.depositaire-info= @facade.individual.gender
.row
%div.col-md-6.col-sm-6.col-xs-6.col-lg-6.depositaire-label Nom
%div.col-xs-6.depositaire-label Nom
%div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off= "-"
%div.col-md-5.col-sm-5.col-xs-5.col-lg-5.depositaire-info= @facade.individual.nom
%div.col-xs-5.depositaire-info= @facade.individual.nom
.row
%div.col-md-6.col-sm-6.col-xs-6.col-lg-6.depositaire-label Prénom
%div.col-xs-6.depositaire-label Prénom
%div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off= "-"
%div.col-md-5.col-sm-5.col-xs-5.col-lg-5.despositaire-info= @facade.individual.prenom
- unless Features.opensimplif
.row
%div.col-md-6.col-sm-6.col-xs-6.col-lg-6.depositaire-label Date de naissance
%div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off= "-"
%div.col-md-5.col-sm-5.col-xs-5.col-lg-5.depositaire-info= @facade.individual.birthdate
%div.col-xs-5.despositaire-info= @facade.individual.prenom
.row
%div.col-xs-6.depositaire-label Date de naissance
%div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off= "-"
%div.col-xs-5.depositaire-info= @facade.individual.birthdate
.row.margin-top-20
- unless @facade.champs.nil?
- @facade.champs.each do |champ|
- if champ.type_champ == 'header_section'
.row.title-row.margin-top-40
%div.col-md-3.col-sm-3.col-xs-3.col-lg-3.split-hr
%div.col-md-6.col-sm-6.col-xs-6.col-lg-6.dossier-title= champ.libelle.upcase
%div.col-md-3.col-sm-3.col-xs-3.col-lg-3.split-hr
%div.col-xs-3.split-hr
%div.col-xs-6.dossier-title= champ.libelle.upcase
%div.col-xs-3.split-hr
- else
.row
%div.col-md-6.col-sm-6.col-xs-6.col-lg-6.depositaire-label= champ.libelle
-#- if Features.opensimplif
-# %div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments
-# - if gestionnaire_signed_in?
-# = link_to "", "data-href" => backoffice_dossier_commentaires_path(@facade.dossier, champs_id: champ.id), "data-toggle" => "modal", "data-target" => "#modalCommentairesDossierParChamp" do
-# %i.fa.fa-comment-o
-# - else
-# = link_to "", "data-href" => users_dossier_commentaires_path(@facade.dossier, champs_id: champ.id), "data-toggle" => "modal", "data-target" => "#modalCommentairesDossierParChamp" do
-# %i.fa.fa-commenting-o
-#- else
%div.col-xs-6.depositaire-label= champ.libelle
%div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off
= "-"
%div.col-md-5.col-sm-5.col-xs-5.col-lg-5.depositaire-info{ id: "champ-#{champ.id}-value" }
%div.col-xs-5.depositaire-info{ id: "champ-#{champ.id}-value" }
- unless champ.decorate.value.blank?
= champ.decorate.value.html_safe
@ -60,18 +50,18 @@
- if @facade.procedure.cerfa_flag? || @facade.dossier.types_de_piece_justificative.count > 0
.col-lg-12.col-md-12.col-sm-12.col-xs-12
.row.title-row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.split-hr
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.dossier-title= t('utils.pieces').upcase
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.split-hr
%div.col-xs-4.split-hr
%div.col-xs-4.dossier-title= t('utils.pieces').upcase
%div.col-xs-4.split-hr
.col-lg-12.col-md-12.col-sm-12.col-xs-12#pieces_justificatives.margin-bot-40
.row
- if @facade.procedure.cerfa_flag?
.col-md-12.col-sm-12.col-xs-12.col-lg-12#piece_justificative_0
.col-xs-12#piece_justificative_0
.row.piece-row
.col-md-6.col-sm-6.col-xs-6.col-lg-6.depositaire-label= 'Formulaire'
.col-xs-6.depositaire-label= 'Formulaire'
.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off= "-"
.col-md-5.col-sm-5.col-xs-5.col-lg-5.despositaire-info
.col-xs-5.despositaire-info
- if @facade.dossier.cerfa_available?
%a{ href: "#{@facade.dossier.cerfa.last.content_url}", target: '_blank' } Consulter
%span{style:'margin-left:12px'}
@ -81,14 +71,14 @@
- else
= 'Pièce non fournie'
.row
.col-md-12.col-sm-12.col-xs-12.col-lg-12
.col-xs-12
- @facade.types_de_pieces_justificatives.each do |type_de_piece_justificative|
.row.piece-row
.col-md-12.col-sm-12.col-xs-12.col-lg-12{ id: "piece_justificative_#{type_de_piece_justificative.id}" }
.col-xs-12{ id: "piece_justificative_#{type_de_piece_justificative.id}" }
.row
%div.col-md-6.col-sm-6.col-xs-6.col-lg-6.depositaire-label= type_de_piece_justificative.libelle
%div.col-xs-6.depositaire-label= type_de_piece_justificative.libelle
%div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off= "-"
%div.col-md-5.col-sm-5.col-xs-5.col-lg-5.despositaire-info
%div.col-xs-5.despositaire-info
- if type_de_piece_justificative.api_entreprise
%span.text-success Nous l'avons récupéré pour vous.
- elsif !(@pj = @facade.dossier.retrieve_last_piece_justificative_by_type(type_de_piece_justificative.id)).nil?

View file

@ -2,51 +2,51 @@
%h4
= @facade.entreprise.raison_sociale_or_name
.row.split-row
%div.col-md-12.col-sm-12.col-xs-12.col-lg-12.split-hr
%div.col-xs-12.split-hr
%div.row
.col-lg-12.col-md-12.col-sm-12.col-xs-12
.col-xs-12
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Siret :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.etablissement.siret
%div.col-xs-4.entreprise-label Siret :
%div.col-xs-8.entreprise-info= @facade.etablissement.siret
- if @facade.etablissement.siret != @facade.entreprise.siret_siege_social
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label SIRET siège social :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.entreprise.siret_siege_social
%div.col-xs-4.entreprise-label SIRET siège social :
%div.col-xs-8.entreprise-info= @facade.entreprise.siret_siege_social
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Forme juridique :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.entreprise.forme_juridique
%div.col-xs-4.entreprise-label Forme juridique :
%div.col-xs-8.entreprise-info= @facade.entreprise.forme_juridique
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Libellé naf :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.etablissement.libelle_naf
%div.col-xs-4.entreprise-label Libellé naf :
%div.col-xs-8.entreprise-info= @facade.etablissement.libelle_naf
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Code naf :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.etablissement.naf
%div.col-xs-4.entreprise-label Code naf :
%div.col-xs-8.entreprise-info= @facade.etablissement.naf
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Date de création :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= Time.at(@facade.entreprise.date_creation).strftime "%d-%m-%Y"
%div.col-xs-4.entreprise-label Date de création :
%div.col-xs-8.entreprise-info= Time.at(@facade.entreprise.date_creation).strftime "%d-%m-%Y"
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Effectif organisation :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.entreprise.effectif
%div.col-xs-4.entreprise-label Effectif organisation :
%div.col-xs-8.entreprise-info= @facade.entreprise.effectif
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Code effectif :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.entreprise.code_effectif_entreprise
%div.col-xs-4.entreprise-label Code effectif :
%div.col-xs-8.entreprise-info= @facade.entreprise.code_effectif_entreprise
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Numéro TVA intracommunautaire :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.entreprise.numero_tva_intracommunautaire
%div.col-xs-4.entreprise-label Numéro TVA intracommunautaire :
%div.col-xs-8.entreprise-info= @facade.entreprise.numero_tva_intracommunautaire
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Adresse :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info
%div.col-xs-4.entreprise-label Adresse :
%div.col-xs-8.entreprise-info
- @facade.etablissement.adresse.split("\n").each do |line|
= line
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Capital social :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info= @facade.entreprise.pretty_capital_social
%div.col-xs-4.entreprise-label Capital social :
%div.col-xs-8.entreprise-info= @facade.entreprise.pretty_capital_social
.row
%div.col-md-4.col-sm-4.col-xs-4.col-lg-4.entreprise-label Exercices :
%div.col-md-8.col-sm-8.col-xs-8.col-lg-8.entreprise-info
%div.col-xs-4.entreprise-label Exercices :
%div.col-xs-8.entreprise-info
- @facade.etablissement.exercices.each_with_index do |exercice, index|
%strong
= "#{exercice.dateFinExercice.year} : "
@ -54,7 +54,7 @@
%br
.row.split-row
%div.col-md-12.col-sm-12.col-xs-12.col-lg-12.split-hr
%div.col-xs-12.split-hr
- unless @facade.entreprise.rna_information.nil?
= render partial: '/dossiers/infos_rna'

View file

@ -1,11 +1,11 @@
#pieces_justificatives
.row
- if @facade.procedure.cerfa_flag?
.col-md-12.col-sm-12.col-xs-12.col-lg-12#piece_justificative_0
.col-xs-12#piece_justificative_0
.row.piece-row
.col-md-6.col-sm-6.col-xs-6.col-lg-6.piece-label= 'Formulaire'
.col-xs-6.piece-label= 'Formulaire'
.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off= "-"
.col-md-5.col-sm-5.col-xs-5.col-lg-5
.col-xs-5
- if @facade.dossier.cerfa_available?
%a{ href: "#{@facade.dossier.cerfa.last.content_url}", target: '_blank' } Consulter
%span{style:'margin-left:12px'}
@ -20,13 +20,13 @@
= 'Pièce non fournie'
.row
.col-md-12.col-sm-12.col-xs-12.col-lg-12
.col-xs-12
- @facade.dossier.types_de_piece_justificative.order('order_place ASC').each do |type_de_piece_justificative|
.row.piece-row
.col-md-12.col-sm-12.col-xs-12.col-lg-12{ id: "piece_justificative_#{type_de_piece_justificative.id}" }
.col-xs-12{ id: "piece_justificative_#{type_de_piece_justificative.id}" }
.row
.col-md-6.col-sm-6.col-xs-6.col-lg-6= type_de_piece_justificative.libelle
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.col-xs-6= type_de_piece_justificative.libelle
.col-xs-6
- if type_de_piece_justificative.api_entreprise
%span.text-success Nous l'avons récupéré pour vous.
- elsif !(@pj = @facade.dossier.retrieve_last_piece_justificative_by_type(type_de_piece_justificative.id)).nil?

View file

@ -1,5 +1,5 @@
.row{style: 'margin-top: -20px'}
.col-md-12.col-sm-12.col-xs-12.col-lg-12
.col-xs-12
= form_for @facade.dossier, url: {controller: 'backoffice/private_formulaires', action: :update, dossier_id: @facade.dossier.id}, remote: true do
= render partial: '/users/description/champs', locals:{private: true}
.row.center

View file

@ -2,7 +2,7 @@
%br
.row
.col-md-4.col-sm-4.col-xs-4.col-lg-4
.col-xs-4
- if @facade.invites.size > 0
%ul
- @facade.invites.each do |invite|
@ -11,7 +11,7 @@
- else
Aucune personne invitée
.col-md-3.col-sm-3.col-xs-3.col-lg-3
.col-xs-3
= form_tag invites_dossier_path(dossier_id: @facade.dossier.id), method: :post, class: 'form-inline' do
= text_field_tag :email, '', class: 'form-control', placeholder: 'Envoyer une invitation'
= submit_tag 'Ajouter', class: 'btn btn-success', id: 'send-invitation'

View file

@ -25,5 +25,5 @@
DERNIER MESSAGE
= render partial: 'dossiers/commentaires/commentaire', object: last_comment
#open-message.new-action
%button#open-message.new-action.btn.btn-danger
ENVOYER UN MESSAGE

View file

@ -7,5 +7,5 @@
%h4.text-primary{style: 'margin-top: 0px'} Ajouter un fichier
= file_field_tag "piece_justificative[content]", accept: PieceJustificative.accept_format, style: 'float: left; margin-left: 20px'
.col-md-6
%input#save-message.form-control.btn.btn-send{ type: 'submit', value: 'ENVOYER' }
.col-md-6.text-right
%input#save-message.form-control.btn.btn-danger{ type: 'submit', value: 'ENVOYER' }

View file

@ -1,4 +1,4 @@
.col-md-3.col-sm-3.col-xs-3.col-lg-3.center
.col-xs-3.center
%h3 Ma procédure
#logos.center{class: (@facade.entreprise.nil? ? '' : 'mask')}
@ -9,9 +9,9 @@
#logo_procedure.flag
=image_tag( @facade.procedure.decorate.logo_img )
.etape.etapes_informations.col-md-9.col-sm-9.col-xs-9.col-lg-9
.etape.etapes_informations.col-xs-9
.row
.col-md-12.col-sm-12.col-xs-12.col-lg-12.padding-left-30
.col-xs-12.padding-left-30
%h2#titre_procedure.text-info
= @facade.procedure.libelle

View file

@ -1,6 +1,6 @@
.etape.etapes_menu.col-md-3.col-sm-3.col-xs-3.col-lg-3
.etape.etapes_menu.col-xs-3
%h3
Ma zone d'intervention
.etape.etapes_informations.col-md-9.col-sm-9.col-xs-9.col-lg-9
.etape.etapes_informations.col-xs-9
.row

View file

@ -1,6 +1,6 @@
.etape.etapes_menu.col-md-3.col-sm-3.col-xs-3.col-lg-3
.etape.etapes_menu.col-xs-3
%h3
Mon dossier
.etape.etapes_informations.col-md-9.col-sm-9.col-xs-9.col-lg-9
.etape.etapes_informations.col-xs-9
.row

View file

@ -1,4 +1,4 @@
.etape.etapes_menu.col-md-3.col-sm-3.col-xs-3.col-lg-3
.etape.etapes_menu.col-xs-3
%h3
Mes informations
%br
@ -12,7 +12,7 @@
= f.submit 'Changer de SIRET', class: %w(btn btn-xs btn-primary)
.etape.etapes_informations.col-md-9.col-sm-9.col-xs-9.col-lg-9
.etape.etapes_informations.col-xs-9
.row
- if @facade.entreprise.nil?
#new_siret{style:'margin-left: 20%; margin-top: 5%'}

View file

@ -1,14 +1,14 @@
.col-md-3.col-sm-3.col-xs-3.col-lg-3.center
.col-xs-3.center
%h3 Mes informations
%p
Les informations de bases
%br
vous concernant.
.etape.etapes_informations.col-md-9.col-sm-9.col-xs-9.col-lg-9
.etape.etapes_informations.col-xs-9
= form_for @facade.dossier, url: { controller: '/users/dossiers', action: :update } do |f|
.row
.col-md-12.col-sm-12.col-xs-12.col-lg-12.padding-left-30
.col-xs-12.padding-left-30
= f.hidden_field :id
= f.fields_for :individual, @facade.individual do |ff|
@ -40,7 +40,7 @@
Vos informations personnelles ne seront jamais utilisées dans un but lucratif ou commercial. Elles ne pourront être communiquées à de tiers personnes sans votre accord préalable. Elles pourront en revanche être communiquées aux administrations compétentes afin d'instruire votre dossier, conformément à la déclaration CNIL effectué par le service TPS.
=link_to 'en savoir plus', cgu_path, target: '_blank'
.row
.col-md-5.col-sm-5.col-xs-5.col-lg-5.col-xs-5
.col-md-2.col-sm-2.col-xs-2.col-lg-2.col-xs-2
.col-xs-5.col-xs-5
.col-xs-2.col-xs-2
= f.submit 'Etape suivante', class: "action", id: 'etape_suivante'
.col-md-5.col-sm-5.col-xs-5.col-lg-5.col-xs-5
.col-xs-5.col-xs-5

View file

@ -1,6 +1,6 @@
- unless BrowserService.recommended_browser?
#support_navigator_banner.row
.col-md-12.col-sm-12.col-xs-12.col-lg-12
.col-xs-12
= BROWSER.value.name
= BROWSER.value.version
\-

View file

@ -1,4 +1,4 @@
- if SwitchDeviseProfileService.new(warden).multiple_devise_profile_connect? && !Features.opensimplif
- if SwitchDeviseProfileService.new(warden).multiple_devise_profile_connect?
#switch_menu.dropdown.dropup
%button.btn.btn-default.dropdown-toggle{ type: :button, 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false}
%i.fa.fa-toggle-on

View file

@ -2,10 +2,9 @@
%div.dossiers-en-cours
.count= @facade_data_view.total_dossier_follow
.text= "SUIVIS"
- unless Features.opensimplif
%div.nouveaux-dossiers
.count= @facade_data_view.total_new_dossier
.text= "NOUVEAUX"
%div.nouveaux-dossiers
.count= @facade_data_view.total_new_dossier
.text= "NOUVEAUX"
%div.nouvelles-notifications
.count= @facade_data_view.dossiers_with_unread_notifications.count
.text= "MODIFIÉS"
@ -23,13 +22,11 @@
#procedure_list
- @facade_data_view.gestionnaire_procedures_name_and_id_list.each do |procedure|
- url_path = Features.opensimplif ? simplification_path(procedure[:id]) : backoffice_dossiers_procedure_path(procedure[:id])
= link_to url_path, {title: procedure[:libelle]} do
= link_to backoffice_dossiers_procedure_path(procedure[:id]), {title: procedure[:libelle]} do
%div.procedure_list_element{ class: ('active' if procedure[:id] == @facade_data_view.procedure.id rescue '') }
= truncate(procedure[:libelle], length: 50)
- total_new = @facade_data_view.new_dossier_number procedure[:id]
- if total_new > 0 && !Features.opensimplif
- if total_new > 0
.badge.progress-bar-success{title:'Nouveaux dossiers'}
= total_new
-if procedure[:unread_notifications] > 0

View file

@ -2,39 +2,37 @@
%div.infos
#dossier_id= t('dynamics.dossiers.numéro') + @facade.dossier.id.to_s
- unless Features.opensimplif
%div#action-block
- if gestionnaire_signed_in?
- if !@facade.dossier.read_only?
= form_tag(url_for({controller: 'backoffice/dossiers', action: :valid, dossier_id: @facade.dossier.id}), class: 'form-inline', method: 'POST') do
%button.action{'data-toggle' => :tooltip, title: 'En cliquant ici, vous figez le dossier et autorisez le dépôt du dossier pour instruction.'}
= 'Déclarer complet'.upcase
- elsif @facade.dossier.submitted?
= form_tag(url_for({controller: 'backoffice/dossiers', action: :receive, dossier_id: @facade.dossier.id}), class: 'form-inline', method: 'POST') do
%button.action
= 'Accuser réception'.upcase
- elsif @facade.dossier.received?
= form_tag(url_for({controller: 'backoffice/dossiers', action: :close, dossier_id: @facade.dossier.id}), class: 'form-inline action_button', method: 'POST', style: 'display:inline', 'data-toggle' => :tooltip, title: 'Accepter') do
%button.action.close-dossier
%i.fa.fa-check
= form_tag(url_for({controller: 'backoffice/dossiers', action: :without_continuation, dossier_id: @facade.dossier.id}), class: 'form-inline action_button', method: 'POST', style: 'display:inline', 'data-toggle' => :tooltip, title: 'Classer sans suite') do
%button.action.forget-dossier
%i.fa.fa-circle-o
= form_tag(url_for({controller: 'backoffice/dossiers', action: :refuse, dossier_id: @facade.dossier.id}), class: 'form-inline action_button', method: 'POST', style: 'display:inline', 'data-toggle' => :tooltip, title: 'Refuser') do
%button.action.refuse-dossier
%i.fa.fa-times
%div#action-block
- if gestionnaire_signed_in?
- if !@facade.dossier.read_only?
= form_tag(url_for({controller: 'backoffice/dossiers', action: :valid, dossier_id: @facade.dossier.id}), class: 'form-inline', method: 'POST') do
%button.action{'data-toggle' => :tooltip, title: 'En cliquant ici, vous figez le dossier et autorisez le dépôt du dossier pour instruction.'}
= 'Déclarer complet'.upcase
- elsif @facade.dossier.submitted?
= form_tag(url_for({controller: 'backoffice/dossiers', action: :receive, dossier_id: @facade.dossier.id}), class: 'form-inline', method: 'POST') do
%button.action
= 'Accuser réception'.upcase
- elsif @facade.dossier.received?
= form_tag(url_for({controller: 'backoffice/dossiers', action: :close, dossier_id: @facade.dossier.id}), class: 'form-inline action_button', method: 'POST', style: 'display:inline', 'data-toggle' => :tooltip, title: 'Accepter') do
%button.action.close-dossier
%i.fa.fa-check
= form_tag(url_for({controller: 'backoffice/dossiers', action: :without_continuation, dossier_id: @facade.dossier.id}), class: 'form-inline action_button', method: 'POST', style: 'display:inline', 'data-toggle' => :tooltip, title: 'Classer sans suite') do
%button.action.forget-dossier
%i.fa.fa-circle-o
= form_tag(url_for({controller: 'backoffice/dossiers', action: :refuse, dossier_id: @facade.dossier.id}), class: 'form-inline action_button', method: 'POST', style: 'display:inline', 'data-toggle' => :tooltip, title: 'Refuser') do
%button.action.refuse-dossier
%i.fa.fa-times
- unless @facade.dossier.archived?
= link_to 'Archiver', backoffice_dossier_archive_path(@facade.dossier), method: :post, class: 'btn btn-default btn-block'
- unless @facade.dossier.archived?
= link_to 'Archiver', backoffice_dossier_archive_path(@facade.dossier), method: :post, class: 'btn btn-default btn-block'
%div#menu-block
%div#infos-block
- unless Features.opensimplif
%div.split-hr-left
%div.dossier-state= @facade.dossier.display_state
%div.split-hr-left
%div.dossier-state= @facade.dossier.display_state
%div.split-hr-left
%div.notifications
- if @facade.dossier.notifications.empty?

View file

@ -1,14 +0,0 @@
$.ajax({
method: 'get',
url: '/simplifications/reload_smartlisting?id=<%= @procedure_id %>',
async: true
});
$.ajax({
methd: 'get',
url: '/backoffice/preference_list_dossier/reload_pref_list?procedure_id=<%= @procedure_id %>',
async: true
}).done(function (data) {
$("#pref_list_menu").html(data);
pref_list_dossier_actions();
});

View file

@ -1,43 +0,0 @@
#backoffice_index
#pref_list_menu
= render partial: 'backoffice/dossiers/pref_list'
.default_data_block.default_visible
%div.row.show-block#new_dossiers
%div.header
%div.col-lg-10.col-md-10.col-sm-10.col-xs-10.title
%div.carret-right
%div.carret-down
Mes simplifications
%div.col-lg-2.col-md-2.col-sm-2.col-xs-2.count
=current_user.dossiers.count
SIMPLIFICATIONS
%div.body
= smart_listing_render :mes_dossiers
.default_data_block.default_visible
%div.row.show-block#new_dossiers
%div.header
%div.col-lg-10.col-md-10.col-sm-10.col-xs-10.title
%div.carret-right
%div.carret-down
Les simplifications que je suivis
%div.col-lg-2.col-md-2.col-sm-2.col-xs-2.count
=@facade_data_view.suivi_total
simplifications
%div.body
= smart_listing_render :follow_dossiers
.default_data_block
%div.row.show-block#new_dossiers
%div.header
%div.col-lg-10.col-md-10.col-sm-10.col-xs-10.title
%div.carret-right
%div.carret-down
Les autres
%div.col-lg-2.col-md-2.col-sm-2.col-xs-2.count
=@facade_data_view.all_state_total
simplifications
%div.body
= smart_listing_render :all_state_dossiers

View file

@ -1,6 +0,0 @@
<%= smart_listing_update :mes_dossiers, {force: true} %>
<%= smart_listing_update :follow_dossiers, {force: true} %>
<%= smart_listing_update :all_state_dossiers, {force: true} %>
filters_init();
link_init();

View file

@ -1,6 +0,0 @@
.center
%h3.text-danger
Vous n'avez aucun droit de lecture sur cette plateforme.
%h4
Merci de prendre contact avec votre reponsable simplification afin de remedier à ce problème.

View file

@ -6,7 +6,7 @@
.row
.col-md-1.col-lg-1.col-sm-1.col-xs-1
.fa.fa-info-circle.text-info{style:'font-size: 2em; margin-top: 20%'}
.col-md-10.col-sm-10.col-xs-10.col-lg-10{style:'padding-right: 0px'}
.col-xs-10{style:'padding-right: 0px'}
%b
=link_to 'Accéder au guide', @dossier.procedure.lien_notice, {target: '_blank'}
pour remplir pour votre dossier
@ -15,7 +15,7 @@
= @dossier.procedure.libelle
-#TODO use form_for
= form_tag(url_for({controller: 'users/description', action: :create, dossier_id: @dossier.id}), class: 'form-inline', method: 'POST', multipart: true) do
= form_tag(url_for({controller: 'users/description', action: :create, dossier_id: @dossier.id}), class: 'form', method: 'POST', multipart: true) do
-unless @champs.nil?
#liste_champs
=render partial: 'users/description/champs', locals:{private: false}
@ -30,16 +30,15 @@
.col-lg-8
= render partial: 'users/description/pieces_justificatives', locals: { dossier: @dossier }
- unless Features.opensimplif
#state_description.row{style:'width: 50%; margin-left:20px'}
.panel.panel-info
.panel-body.center
.row
.col-md-1.col-lg-1.col-sm-1.col-xs-1
.fa.fa-info-circle.text-info{style:'font-size: 2em; margin-top: 20%'}
.col-md-11.col-sm-11.col-xs-11.col-lg-11
Les documents administratifs ne sont pas indispensables afin d'initier votre dossier.
Vous pourrez dans tous les cas les compléter plus tard si vous ne les possédez pas de suite.
#state_description.row{style:'width: 50%; margin-left:20px'}
.panel.panel-info
.panel-body.center
.row
.col-md-1.col-lg-1.col-sm-1.col-xs-1
.fa.fa-info-circle.text-info{style:'font-size: 2em; margin-top: 20%'}
.col-xs-11
Les documents administratifs ne sont pas indispensables afin d'initier votre dossier.
Vous pourrez dans tous les cas les compléter plus tard si vous ne les possédez pas de suite.
-route = Rails.application.routes.recognize_path(request.referrer)

View file

@ -1,6 +1,2 @@
%h4{style:'margin-left:15px;'}
= champ.libelle
- if champ.mandatory?
= '*'
%input{type: 'hidden', name:"champs['#{champ.id}']", id: "champs_#{champ.id}", value: ''}
%input{type: 'checkbox', style:'margin-left: 15px;', name:"champs['#{champ.id}']", id: "champs_#{champ.id}", checked: ('checked' if champ.value == 'on')}
%input{type: 'hidden', name:"champs['#{champ.id}']", id: "champs_#{champ.id}", value: ''}
%input{type: 'checkbox', style:'margin-left: 15px;', name:"champs['#{champ.id}']", id: "champs_#{champ.id}", checked: ('checked' if champ.value == 'on')}

View file

@ -1,7 +1,8 @@
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "M.", champ.value == 'Mme' ? false : true
Monsieur
%div
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "M.", champ.value == 'Mme' ? false : true
Monsieur
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "Mme", champ.value == 'Mme'
Madame
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "Mme", champ.value == 'Mme'
Madame

View file

@ -1,8 +1,2 @@
%h4{style:'margin-left:15px;'}
= champ.libelle
- if champ.mandatory?
= '*'
%input{type: 'hidden', name:"champs['#{champ.id}']", id: "champs_#{champ.id}", value: ''}
%input{type: 'checkbox', style:'margin-left: 15px;', name:"champs['#{champ.id}']", id: "champs_#{champ.id}", checked: ('checked' if champ.value == 'on')}
%div{style:'margin-left: 5%; margin-right: 5%; text-align: justify; text-justify: inter-word;'}
= champ.description.gsub(/\r\n/, '<br>').html_safe
%input{type: 'hidden', name:"champs['#{champ.id}']", id: "champs_#{champ.id}", value: ''}
%input{type: 'checkbox', style:'margin-left: 15px;', name:"champs['#{champ.id}']", id: "champs_#{champ.id}", checked: ('checked' if champ.value == 'on')}

View file

@ -1,54 +1,55 @@
-champs.each do |champ|
- champs.decorate.each do |champ|
- if champ.order_place > order_place
- if champ.type_champ == 'header_section'
- break
- unless champ.type_champ == 'checkbox' || champ.type_champ == 'engagement'
%h4
= champ.libelle
- if champ.mandatory?
= '*'
-if champ.type_champ == 'textarea'
=render partial: 'users/description/champs/textarea', locals: {champ: champ}
-elsif champ.type_champ == 'checkbox'
= render partial: 'users/description/champs/checkbox', locals: {champ: champ}
-elsif champ.type_champ == 'civilite'
=render partial: 'users/description/champs/civilite', locals: {champ: champ}
- elsif champ.type_champ == 'datetime'
=render partial: 'users/description/champs/datetime', locals: {champ: champ}
- elsif champ.type_champ == 'yes_no'
=render partial: 'users/description/champs/yes_no', locals: {champ: champ}
- elsif champ.type_champ == 'drop_down_list'
=render partial: 'users/description/champs/drop_down_list', locals: {champ: champ}
- elsif champ.type_champ == 'pays'
=render partial: 'users/description/champs/pays', locals: {champ: champ}
- elsif champ.type_champ == 'regions'
=render partial: 'users/description/champs/regions', locals: {champ: champ}
- elsif champ.type_champ == 'engagement'
=render partial: 'users/description/champs/engagement', locals: {champ: champ}
- elsif champ.type_champ == 'departements'
=render partial: 'users/description/champs/departements', locals: {champ: champ}
-else
%input.form-control{name:"champs['#{champ.id}']",
placeholder: champ.libelle,
id: "champs_#{champ.id}",
value: champ.value,
type: champ.type_champ,
'data-provide' => champ.data_provide,
'data-date-format' => champ.data_date_format}
- unless champ.description.empty? || champ.type_champ == 'engagement'
.row
.col-lg-8.col-md-8.col-sm-8.col-xs-8{class: 'description_div', id:"description_champs_#{champ.id}"}
= champ.description
%div{ class: if champ.type_champ == 'textarea' || champ.type_champ == 'engagement' then 'col-md-12' else 'col-md-6' end }
.form-group
%label{ for: "champs_#{ champ.id }"}
= champ.libelle
- if champ.mandatory?
*
- if champ.type_champ == 'textarea'
= render partial: 'users/description/champs/textarea', locals: { champ: champ }
- elsif champ.type_champ == 'checkbox'
= render partial: 'users/description/champs/checkbox', locals: { champ: champ }
- elsif champ.type_champ == 'civilite'
= render partial: 'users/description/champs/civilite', locals: { champ: champ }
- elsif champ.type_champ == 'datetime'
= render partial: 'users/description/champs/datetime', locals: { champ: champ }
- elsif champ.type_champ == 'yes_no'
= render partial: 'users/description/champs/yes_no', locals: { champ: champ }
- elsif champ.type_champ == 'drop_down_list'
= render partial: 'users/description/champs/drop_down_list', locals: { champ: champ }
- elsif champ.type_champ == 'pays'
= render partial: 'users/description/champs/pays', locals: { champ: champ }
- elsif champ.type_champ == 'regions'
= render partial: 'users/description/champs/regions', locals: { champ: champ }
- elsif champ.type_champ == 'engagement'
= render partial: 'users/description/champs/engagement', locals: { champ: champ }
- elsif champ.type_champ == 'departements'
= render partial: 'users/description/champs/departements', locals: { champ: champ }
- else
%input.form-control{name:"champs['#{ champ.id }']",
placeholder: champ.libelle,
id: "champs_#{ champ.id }",
value: champ.value,
type: champ.type_champ,
'data-provide' => champ.data_provide,
'data-date-format' => champ.data_date_format}
- unless champ.description.empty?
%div{ id:"description_champs_#{ champ.id }", class: ('help-block' unless champ.type_champ == 'engagement') }
= champ.description_with_links

View file

@ -2,4 +2,4 @@
placeholder: champ.description,
id: "champs_#{champ.id}",
row: '6'}
=champ.value
= champ.value

View file

@ -1,7 +1,8 @@
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "true", champ.value == 'true'
Oui
%div
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "true", champ.value == 'true'
Oui
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "false", champ.value == 'false'
Non
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "false", champ.value == 'false'
Non

View file

@ -2,11 +2,11 @@
%table#dossiers_list.table
%thead
%th#sort-id.col-md-1.col-lg-1.col-sm-1.col-xs-1= smart_listing.sortable 'Numéro', 'id'
%th#sort-libelle.col-md-5.col-sm-5.col-xs-5.col-lg-5= smart_listing.sortable 'Procédure', 'procedure.libelle'
%th#sort-state.col-md-2.col-sm-2.col-xs-2.col-lg-2= smart_listing.sortable 'État', 'state'
%th#sort-updated.col-md-2.col-sm-2.col-xs-2.col-lg-2= smart_listing.sortable 'Date de mise à jour', 'updated_at'
%th#sort-libelle.col-xs-5= smart_listing.sortable 'Procédure', 'procedure.libelle'
%th#sort-state.col-xs-2= smart_listing.sortable 'État', 'state'
%th#sort-updated.col-xs-2= smart_listing.sortable 'Date de mise à jour', 'updated_at'
- if @liste == "brouillon"
%th.col-md-2.col-sm-2.col-xs-2.col-lg-2= 'Action'
%th.col-xs-2= 'Action'
- @dossiers.each do |dossier|
- if dossier.kind_of? Invite
- invite = dossier

View file

@ -4,7 +4,7 @@
.row
.col-md-1.col-lg-1.col-sm-1.col-xs-1
.fa.fa-info-circle.text-info{style:'font-size: 2em; margin-top: 20%'}
.col-md-11.col-sm-11.col-xs-11.col-lg-11
.col-xs-11
-if dossiers_list_facade.liste == 'brouillon'
Les dossiers présents dans cette liste
%b

View file

@ -12,5 +12,4 @@
%div.body
= smart_listing_render :dossiers
- unless Features.opensimplif
= render partial: 'state_description', locals: {dossiers_list_facade: @dossiers_list_facade}
= render partial: 'state_description', locals: {dossiers_list_facade: @dossiers_list_facade}

View file

@ -11,7 +11,7 @@ require 'mina/rbenv' # for rbenv support. (http://rbenv.org)
# branch - Branch name to deploy. (needed by mina/git)
ENV['to'] ||= "staging"
raise "Bad to=#{+ENV['to']}" unless ["staging", "production", "opensimplif", "tps_v2"].include?(ENV['to'])
raise "Bad to=#{+ENV['to']}" unless ["staging", "production", "tps_v2"].include?(ENV['to'])
raise "missing domain, run with 'rake deploy domain=37.187.154.237'" if ENV['domain'].nil?
@ -42,15 +42,6 @@ elsif ENV["to"] == "production"
set :deploy_to, '/var/www/tps'
set :user, 'tps' # Username in the server to SSH to.
appname = 'tps'
elsif ENV["to"] == "opensimplif"
if ENV['branch'].nil?
set :branch, 'master'
else
set :branch, ENV['branch']
end
set :deploy_to, '/var/www/opensimplif'
set :user, 'opensimplif' # Username in the server to SSH to.
appname = 'opensimplif'
elsif ENV["to"] == "tps_v2"
if ENV['branch'].nil?
set :branch, 'staging_v2'
@ -64,9 +55,7 @@ end
set :rails_env, ENV["to"]
if ENV["to"] == "opensimplif"
set :rails_env, "production"
elsif ENV["to"] == "tps_v2"
if ENV["to"] == "tps_v2"
set :rails_env, "staging"
end

View file

@ -1,2 +1 @@
remote_storage: false
opensimplif: false

View file

@ -1,2 +1 @@
LOGO_NAME = 'logos/logo-tps.png' unless Features.opensimplif
LOGO_NAME = 'logos/logo-opensimplif.jpg' if Features.opensimplif
LOGO_NAME = 'logos/logo-tps.png'

View file

@ -42,13 +42,6 @@ Rails.application.routes.draw do
get 'admin' => 'admin#index'
get 'backoffice' => 'backoffice#index'
if Features.opensimplif
get 'simplifications' => 'opensimplif#index'
get 'simplifications/reload_smartlisting' => 'opensimplif#reload_smartlisting'
get 'simplifications/nothing' => 'opensimplif#nothing'
get 'simplifications/:id' => 'opensimplif#index', as: :simplification
end
resources :administrations
namespace :france_connect do

View file

@ -0,0 +1,11 @@
class RemoveDuplicateEmailReceived < ActiveRecord::Migration[5.0]
def change
all_mails = MailReceived.all
groupped = all_mails.group_by { |m| m.procedure_id }
filtered = groupped.reject { |k, v| v.length < 2 }
filtered.each do |k, duplicate_mails|
duplicate_mails.pop
duplicate_mails.each(&:destroy)
end
end
end

View file

@ -0,0 +1,6 @@
class AddTimestampsToMailTemplate < ActiveRecord::Migration[5.0]
def change
add_column :mail_templates, :created_at, :datetime
add_column :mail_templates, :updated_at, :datetime
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170125152856) do
ActiveRecord::Schema.define(version: 20170215142944) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -234,10 +234,12 @@ ActiveRecord::Schema.define(version: 20170125152856) do
end
create_table "mail_templates", force: :cascade do |t|
t.string "object"
t.text "body"
t.string "type"
t.integer "procedure_id"
t.string "object"
t.text "body"
t.string "type"
t.integer "procedure_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "module_api_cartos", force: :cascade do |t|

View file

@ -1,118 +0,0 @@
require 'csv'
require 'json'
namespace :opensimplif_import do
task :import_all => :environment do
puts 'start opensimplif'
Rake::Task['opensimplif_import:import_proposition'].invoke
Rake::Task['opensimplif_import:import_piste'].invoke
Rake::Task['opensimplif_import:import_mesure'].invoke
puts 'end import opensimplif'
end
task :import_proposition do
file_path = "lib/tasks/161102_OS_Inputs_test_propositions.csv"
procedure_id = 35
matching = [
{id: 44, key: 'Intitulé de la proposition'},
{id: 43, key: 'Champ concerné'},
{id: 45, key: 'Champ ministériel chef de file'},
{id: 59, key: 'Date de la proposition'},
{id: 60, key: 'Moment de vie'},
{id: 61, key: 'Source'},
{id: 48, key: 'Description de la proposition'}
]
puts 'start propositions'
import file_path, procedure_id, matching
puts 'done propositions'
end
task :import_piste do
file_path = "lib/tasks/161102_OS_Inputs_test_pistes.csv"
procedure_id = 36
matching = [
{id: 81, key: 'Intitulé de la piste *'},
{id: 82, key: 'Usager concerné *'},
{id: 83, key: 'Champ ministériel chef de file *'},
{id: 84, key: 'Champ ministériel contributeur'},
{id: 85, key: 'Date de saisine'},
{id: 66, key: 'Moment de vie'},
{id: 80, key: 'Source de la piste'},
{id: 70, key: 'Description de la piste '},
{id: 68, key: 'Objectifs / bénéfices attendus'},
{id: 65, key: 'Description détaillée des démarches impactées par la piste'},
{id: 69, key: 'Levier de mise en oeuvre'},
{id: 67, key: 'Précision sur le levier de meo'},
{id: 64, key: 'Calendrier de mise en oeuvre'}
]
puts 'start piste'
import file_path, procedure_id, matching
puts 'done pistes'
end
task :import_mesure do
file_path = "lib/tasks/161102_OS_Inputs_test_mesures.csv"
procedure_id = 37
matching = [
{id: 107, key: 'Intitulé projet / mesure'},
{id: 104, key: 'Champ concerné'},
{id: 105, key: 'Champ ministériel chef de file'},
{id: 112, key: 'Direction chef de file'},
{id: 106, key: 'Champ ministériel contributeur'},
{id: 113, key: 'Direction contributrice'},
{id: 92, key: 'Moment de vie'},
{id: 109, key: 'Date d\'annonce'},
{id: 114, key: 'N° de la mesure'},
{id: 115, key: 'Responsable ministère'},
{id: 116, key: 'Responsable SGMAP'},
{id: 89, key: 'Actions réalisées'},
{id: 95, key: 'Etapes nécessaires à l\'atteinte de la cible et alertes'},
{id: 102, key: 'Alertes'},
{id: 101, key: 'Échéance initiale'},
{id: 96, key: 'Échéance prévisionnelle / réelle'},
{id: 94, key: 'Appréciation avancement'},
{id: 91, key: 'Etat d\'avancement LOLF'},
{id: 111, key: '§ de com'}
]
puts 'start mesures'
import file_path, procedure_id, matching
puts 'done mesures'
end
def self.import file_path, procedure_id, matching
user = User.find_or_create_by(email: 'import@opensimplif.modernisation.fr')
unless user.valid?
user.password = 'TPSpassword2016'
user.save
end
file ||= CSV.open(file_path, :col_sep => ";", :headers => true).map { |x| x.to_h }.to_json
file = JSON.parse(file)
procedure = Procedure.find(procedure_id)
user.dossiers.where(procedure_id: procedure.id).destroy_all
file.each do |proposition|
dossier = Dossier.create procedure: procedure, user: user, state: :initiated
dossier.champs.each do |champ|
matching.each do |match|
if match[:id] == champ.type_de_champ.id
champ.update_column :value, proposition[match[:key]]
break
end
end
end
end
end
end

View file

@ -83,19 +83,6 @@ describe RootController, type: :controller do
end
context 'when opensimplif features is true' do
pending
# let(:gestionnaire) { create(:gestionnaire) }
#
# before do
# sign_in gestionnaire
#
# allow_any_instance_of(Features).to receive(:opensimplif).and_return(true)
# end
#
# it { expect(subject).to redirect_to(simplifications_path) }
end
context "unified login" do
render_views

View file

@ -22,33 +22,4 @@ feature 'backoffice: flux de commentaires' do
comments = find(".commentaires")
expect(comments).to have_selector(".content", count: 1)
end
scenario "affichage des commentaires du champs", js: true do
pending 'later: open simplif'
find("#liste_champs th", text: champ1.libelle).click_link("COM")
expect(page).to have_css("#modalCommentairesDossierParChamp.in")
modal = find("#modalCommentairesDossierParChamp")
expect(modal).to have_css(".description", count: 2)
end
scenario "crée un commentaire sur un champ", js: true do
pending 'later: open simplif'
# ouverture modale
find("#liste_champs th", text: champ1.libelle).click_link("COM")
# ajout du commentaire
form = find("#modalCommentairesDossierParChamp").find("#commentaire_new")
form.fill_in("texte_commentaire", with: "le corps du commentaire sur le champ #{champ1.libelle}")
form.click_on("Poster")
# le commentaire ne s'ajoute pas aux commentaires généraux
comments = find("#commentaires_flux")
expect(comments).to have_selector(".description", count: 1)
# ajout du commentaire aux commentaires du champs
find("#liste_champs th", text: champ1.libelle).click_link("COM")
modal = find("#modalCommentairesDossierParChamp")
expect(modal).to have_css(".description", count: 3)
end
end

View file

@ -22,34 +22,4 @@ feature 'users: flux de commentaires' do
comments = find(".commentaires")
expect(comments).to have_selector(".content", count: 1)
end
scenario "affichage des commentaires du champs", js: true do
pending 'later: open simplif'
th = find("#liste_champs th", text: champ1.libelle)
th.click_link("COM")
expect(page).to have_css("#modalCommentairesDossierParChamp.in")
modal = find("#modalCommentairesDossierParChamp")
expect(modal).to have_css(".description", count: 2)
end
scenario "crée un commentaire sur un champ", js: true do
pending 'later: open simplif'
# ouverture modale
find("#liste_champs th", text: champ1.libelle).click_link("COM")
# ajout du commentaire
form = find("#modalCommentairesDossierParChamp").find("#commentaire_new")
form.fill_in("texte_commentaire", with: "le corps du commentaire sur le champ #{champ1.libelle}")
form.click_on("Poster")
# le commentaire ne s'ajoute pas aux commentaires généraux
comments = find("#commentaires_flux")
expect(comments).to have_selector(".description", count: 1)
# ajout du commentaire aux commentaires du champs
find("#liste_champs th", text: champ1.libelle).click_link("COM")
modal = find("#modalCommentairesDossierParChamp")
expect(modal).to have_css(".description", count: 3)
end
end

View file

@ -77,15 +77,4 @@ feature 'on click on tabs button' do
end
end
end
context "OpenSimplif" do
before do
allow(Features).to receive(:opensimplif).and_return(true)
visit users_dossiers_url
end
scenario "it hides the tabs" do
expect(page).to_not have_css('#onglets')
end
end
end

View file

@ -6,7 +6,7 @@ feature 'user arrive on siret page' do
let(:siret) { '42149333900020' }
let(:siren) { siret[0...9] }
context 'when user is not logged in', js: true do
context 'when user is not logged in' do
before do
visit new_users_dossiers_path(procedure_id: procedure.id)
end
@ -24,7 +24,7 @@ feature 'user arrive on siret page' do
scenario 'he is redirected to siret page to enter a siret' do
expect(page).to have_css('#new_siret')
end
context 'when enter a siret' do
context 'when enter a siret', js: true do
before do
stub_request(:get, "https://api-dev.apientreprise.fr/v2/etablissements/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 200, body: File.read('spec/support/files/etablissement.json'))
@ -39,6 +39,7 @@ feature 'user arrive on siret page' do
page.click_on 'Valider'
end
scenario 'he is redirected to recap info entreprise page' do
wait_for_ajax
expect(page).to have_css('#recap_info_entreprise')
end
end

View file

@ -0,0 +1,25 @@
load 'spec/spec_helper.rb'
load 'db/migrate/20170215102943_remove_duplicate_email_received.rb'
describe RemoveDuplicateEmailReceived do
context 'with one procedure and one associated mail_received' do
let!(:procedure) { create(:procedure) }
it 'keeps the procedure mails' do
RemoveDuplicateEmailReceived.new.change
expect(MailReceived.count).to eq(1)
end
context 'and another mail_received' do
before :each do
MailReceived.create!(procedure: procedure)
end
it 'destroys the unecessary maiL_received' do
RemoveDuplicateEmailReceived.new.change
expect(MailReceived.count).to eq(1)
expect(procedure.mail_received).not_to be_nil
end
end
end
end

View file

@ -17,14 +17,6 @@ describe BaseUploader do
end
it { is_expected.to eq '/tmp/tps-cache' }
context 'when is opensimplif' do
before do
allow(Features).to receive(:opensimplif?).and_return(true)
end
it { is_expected.to eq '/tmp/opensimplif-cache' }
end
end
end
end