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
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
.checkbox
%label
=f.check_box :euro_flag
Afficher le drapeau européen
%br
.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|
.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
.checkbox
%label
= ff.check_box :quartiers_prioritaires
Quartiers Prioritaires
%li
.checkbox
%label
= ff.check_box :cadastre
Cadastre
.col-md-6.col-sm-6.col-xs-6.col-lg-6
.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
%br
=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
%ul.list-unstyled
%li
.checkbox
%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.
qui doit donc s'identifier en tant que personne physique.
%ul#individual_with_siret{style:'margin-top: 8px'}
%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
%ul
- @facade.procedure.types_de_champ.order(:order_place).each do |champ|
= champ.libelle
%br
%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
%ul
- @facade.procedure.types_de_champ_private.order(:order_place).each do |champ|
= champ.libelle
%br
%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,7 +3,6 @@
- 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
@ -33,7 +32,6 @@
- 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
- @facade_data_view.preference_list_dossiers_filter.each_with_index do |preference, index|

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
%div.col-xs-5.despositaire-info= @facade.individual.prenom
.row
%div.col-md-6.col-sm-6.col-xs-6.col-lg-6.depositaire-label Date de naissance
%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-md-5.col-sm-5.col-xs-5.col-lg-5.depositaire-info= @facade.individual.birthdate
%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,7 +2,6 @@
%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"
@ -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,8 +2,7 @@
%div.infos
#dossier_id= t('dynamics.dossiers.numéro') + @facade.dossier.id.to_s
- unless Features.opensimplif
%div#action-block
%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
@ -32,7 +31,6 @@
%div#menu-block
%div#infos-block
- unless Features.opensimplif
%div.split-hr-left
%div.dossier-state= @facade.dossier.display_state
%div.split-hr-left

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,14 +30,13 @@
.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
.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.

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
%div
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "M.", champ.value == 'Mme' ? false : true
Monsieur
%label.radio-inline
%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
.row
%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}
- 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 == '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 == 'civilite'
= render partial: 'users/description/champs/civilite', locals: { champ: champ }
- elsif champ.type_champ == 'datetime'
=render partial: 'users/description/champs/datetime', locals: {champ: champ}
= 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}
= 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}
= 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}
= render partial: 'users/description/champs/pays', locals: { champ: champ }
- elsif champ.type_champ == 'regions'
=render partial: 'users/description/champs/regions', locals: {champ: champ}
= render partial: 'users/description/champs/regions', locals: { champ: champ }
- elsif champ.type_champ == 'engagement'
=render partial: 'users/description/champs/engagement', locals: {champ: champ}
= render partial: 'users/description/champs/engagement', locals: { champ: champ }
- elsif champ.type_champ == 'departements'
=render partial: 'users/description/champs/departements', locals: {champ: champ}
= render partial: 'users/description/champs/departements', locals: { champ: champ }
-else
%input.form-control{name:"champs['#{champ.id}']",
- else
%input.form-control{name:"champs['#{ champ.id }']",
placeholder: champ.libelle,
id: "champs_#{champ.id}",
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
- 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
%div
%label.radio-inline
= radio_button_tag "champs['#{champ.id}']", "true", champ.value == 'true'
Oui
%label.radio-inline
%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}

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"
@ -238,6 +238,8 @@ ActiveRecord::Schema.define(version: 20170125152856) do
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