Merge branch 'develop' into staging
Fixed a conflict in README.md
This commit is contained in:
commit
19cde557ce
165 changed files with 1578 additions and 1056 deletions
119
.haml-lint.yml
Normal file
119
.haml-lint.yml
Normal file
|
@ -0,0 +1,119 @@
|
|||
linters:
|
||||
AlignmentTabs:
|
||||
enabled: true
|
||||
|
||||
AltText:
|
||||
enabled: false
|
||||
|
||||
ClassAttributeWithStaticValue:
|
||||
enabled: true
|
||||
|
||||
ClassesBeforeIds:
|
||||
enabled: false
|
||||
|
||||
ConsecutiveComments:
|
||||
enabled: false
|
||||
|
||||
ConsecutiveSilentScripts:
|
||||
enabled: false
|
||||
max_consecutive: 2
|
||||
|
||||
EmptyObjectReference:
|
||||
enabled: true
|
||||
|
||||
EmptyScript:
|
||||
enabled: true
|
||||
|
||||
FinalNewline:
|
||||
enabled: true
|
||||
present: true
|
||||
|
||||
HtmlAttributes:
|
||||
enabled: true
|
||||
|
||||
IdNames:
|
||||
enabled: false
|
||||
style: lisp_case
|
||||
|
||||
ImplicitDiv:
|
||||
enabled: false
|
||||
|
||||
Indentation:
|
||||
enabled: true
|
||||
character: space # or tab
|
||||
width: 2 # ignored if character == tab
|
||||
|
||||
InstanceVariables:
|
||||
enabled: false
|
||||
file_types: partials
|
||||
matchers:
|
||||
all: .*
|
||||
partials: \A_.*\.haml\z
|
||||
|
||||
LeadingCommentSpace:
|
||||
enabled: true
|
||||
|
||||
LineLength:
|
||||
enabled: false
|
||||
max: 80
|
||||
|
||||
MultilinePipe:
|
||||
enabled: true
|
||||
|
||||
MultilineScript:
|
||||
enabled: true
|
||||
|
||||
ObjectReferenceAttributes:
|
||||
enabled: true
|
||||
|
||||
RepeatedId:
|
||||
enabled: false
|
||||
severity: error
|
||||
|
||||
RuboCop:
|
||||
enabled: false
|
||||
# These cops are incredibly noisy when it comes to HAML templates, so we
|
||||
# ignore them.
|
||||
ignored_cops:
|
||||
- Lint/BlockAlignment
|
||||
- Lint/EndAlignment
|
||||
- Lint/Void
|
||||
- Metrics/BlockLength
|
||||
- Metrics/LineLength
|
||||
- Style/AlignParameters
|
||||
- Style/BlockNesting
|
||||
- Style/ElseAlignment
|
||||
- Style/EndOfLine
|
||||
- Style/FileName
|
||||
- Style/FinalNewline
|
||||
- Style/FrozenStringLiteralComment
|
||||
- Style/IfUnlessModifier
|
||||
- Style/IndentationWidth
|
||||
- Style/Next
|
||||
- Style/TrailingBlankLines
|
||||
- Style/TrailingWhitespace
|
||||
- Style/WhileUntilModifier
|
||||
|
||||
RubyComments:
|
||||
enabled: true
|
||||
|
||||
SpaceBeforeScript:
|
||||
enabled: true
|
||||
|
||||
SpaceInsideHashAttributes:
|
||||
enabled: true
|
||||
style: space
|
||||
|
||||
TagName:
|
||||
enabled: true
|
||||
|
||||
TrailingWhitespace:
|
||||
enabled: true
|
||||
|
||||
UnnecessaryInterpolation:
|
||||
enabled: true
|
||||
|
||||
# Disabled because too agressive, but to enable
|
||||
# locally from time to time
|
||||
UnnecessaryStringOutput:
|
||||
enabled: false
|
7
Gemfile
7
Gemfile
|
@ -93,6 +93,8 @@ gem 'simple_form'
|
|||
|
||||
gem 'newrelic_rpm'
|
||||
|
||||
gem 'scenic'
|
||||
|
||||
# Sidekiq
|
||||
gem 'sidekiq'
|
||||
gem 'sidekiq-cron', '~> 0.4.4'
|
||||
|
@ -114,7 +116,6 @@ group :test do
|
|||
gem 'guard-livereload', '~> 2.4', require: false
|
||||
gem 'vcr'
|
||||
gem 'rails-controller-testing'
|
||||
gem 'sqlite3'
|
||||
end
|
||||
|
||||
group :development do
|
||||
|
@ -122,6 +123,7 @@ group :development do
|
|||
gem 'web-console'
|
||||
gem 'rack-handlers'
|
||||
gem 'xray-rails'
|
||||
gem 'haml-lint'
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
|
@ -145,6 +147,3 @@ group :production, :staging do
|
|||
gem 'sentry-raven'
|
||||
end
|
||||
|
||||
group :production, :staging, :development do
|
||||
gem 'scenic'
|
||||
end
|
||||
|
|
35
Gemfile.lock
35
Gemfile.lock
|
@ -69,7 +69,7 @@ GEM
|
|||
i18n (~> 0.7)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.5.0)
|
||||
addressable (2.5.1)
|
||||
public_suffix (~> 2.0, >= 2.0.2)
|
||||
apipie-rails (0.3.7)
|
||||
json
|
||||
|
@ -78,6 +78,7 @@ GEM
|
|||
actionpack (>= 3.0)
|
||||
activemodel (>= 3.0)
|
||||
responders
|
||||
ast (2.3.0)
|
||||
attr_required (1.0.1)
|
||||
autoprefixer-rails (6.5.4)
|
||||
execjs
|
||||
|
@ -97,7 +98,7 @@ GEM
|
|||
browser (2.3.0)
|
||||
builder (3.2.3)
|
||||
byebug (9.0.6)
|
||||
capybara (2.11.0)
|
||||
capybara (2.13.0)
|
||||
addressable
|
||||
mime-types (>= 1.16)
|
||||
nokogiri (>= 1.3.3)
|
||||
|
@ -313,12 +314,20 @@ GEM
|
|||
rspec (>= 2.99.0, < 4.0)
|
||||
haml (4.0.7)
|
||||
tilt
|
||||
haml-lint (0.999.999)
|
||||
haml_lint
|
||||
haml-rails (0.9.0)
|
||||
actionpack (>= 4.0.1)
|
||||
activesupport (>= 4.0.1)
|
||||
haml (>= 4.0.6, < 5.0)
|
||||
html2haml (>= 1.0.1)
|
||||
railties (>= 4.0.1)
|
||||
haml_lint (0.24.0)
|
||||
haml (>= 4.0, < 5.1)
|
||||
rainbow
|
||||
rake (>= 10, < 13)
|
||||
rubocop (>= 0.47.0)
|
||||
sysexits (~> 1.1)
|
||||
hashdiff (0.3.1)
|
||||
hashie (3.4.6)
|
||||
html2haml (2.0.0)
|
||||
|
@ -412,11 +421,14 @@ GEM
|
|||
openstack (3.3.7)
|
||||
json
|
||||
orm_adapter (0.5.0)
|
||||
parser (2.4.0.0)
|
||||
ast (~> 2.2)
|
||||
pg (0.19.0)
|
||||
poltergeist (1.12.0)
|
||||
poltergeist (1.14.0)
|
||||
capybara (~> 2.1)
|
||||
cliver (~> 0.3.1)
|
||||
websocket-driver (>= 0.2.0)
|
||||
powerpack (0.1.1)
|
||||
pry (0.10.4)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
|
@ -424,7 +436,7 @@ GEM
|
|||
pry-byebug (3.4.2)
|
||||
byebug (~> 9.0)
|
||||
pry (~> 0.10)
|
||||
public_suffix (2.0.4)
|
||||
public_suffix (2.0.5)
|
||||
rack (2.0.1)
|
||||
rack-handlers (0.7.3)
|
||||
rack
|
||||
|
@ -463,6 +475,7 @@ GEM
|
|||
method_source
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.18.1, < 2.0)
|
||||
rainbow (2.2.1)
|
||||
raindrops (0.17.0)
|
||||
rake (12.0.0)
|
||||
rb-fsevent (0.9.8)
|
||||
|
@ -513,6 +526,13 @@ GEM
|
|||
rspec-mocks (~> 3.5.0)
|
||||
rspec-support (~> 3.5.0)
|
||||
rspec-support (3.5.0)
|
||||
rubocop (0.48.1)
|
||||
parser (>= 2.3.3.1, < 3.0)
|
||||
powerpack (~> 0.1)
|
||||
rainbow (>= 1.99.1, < 3.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (~> 1.0, >= 1.0.1)
|
||||
ruby-progressbar (1.8.1)
|
||||
ruby_dep (1.5.0)
|
||||
ruby_parser (3.8.3)
|
||||
sexp_processor (~> 4.1)
|
||||
|
@ -574,13 +594,13 @@ GEM
|
|||
actionpack (>= 4.0)
|
||||
activesupport (>= 4.0)
|
||||
sprockets (>= 3.0.0)
|
||||
sqlite3 (1.3.13)
|
||||
swd (1.0.1)
|
||||
activesupport (>= 3)
|
||||
attr_required (>= 0.0.5)
|
||||
httpclient (>= 2.4)
|
||||
i18n
|
||||
json (>= 1.4.3)
|
||||
sysexits (1.2.0)
|
||||
therubyracer (0.12.2)
|
||||
libv8 (~> 3.16.14.0)
|
||||
ref
|
||||
|
@ -599,6 +619,7 @@ GEM
|
|||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.2)
|
||||
unicode-display_width (1.1.3)
|
||||
unicode_utils (1.4.0)
|
||||
unicorn (5.2.0)
|
||||
kgio (~> 2.6)
|
||||
|
@ -626,7 +647,7 @@ GEM
|
|||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff
|
||||
websocket-driver (0.6.4)
|
||||
websocket-driver (0.6.5)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.2)
|
||||
will_paginate (3.1.5)
|
||||
|
@ -667,6 +688,7 @@ DEPENDENCIES
|
|||
guard
|
||||
guard-livereload (~> 2.4)
|
||||
guard-rspec
|
||||
haml-lint
|
||||
haml-rails
|
||||
hashie
|
||||
jquery-rails
|
||||
|
@ -705,7 +727,6 @@ DEPENDENCIES
|
|||
spreadsheet_architect
|
||||
spring
|
||||
spring-commands-rspec
|
||||
sqlite3
|
||||
therubyracer
|
||||
timecop
|
||||
turbolinks (~> 5.0)
|
||||
|
|
|
@ -73,6 +73,7 @@ guard :rspec, cmd: 'spring rspec' do
|
|||
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
||||
watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
||||
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
||||
watch(%r{^app/services/(.+)_(service)\.rb$}) { |m| "spec/services/#{m[1]}_service_spec.rb" }
|
||||
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
||||
watch('config/routes.rb') { "spec/routing" }
|
||||
watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
||||
|
|
35
README.md
35
README.md
|
@ -2,13 +2,18 @@
|
|||
|
||||
## Context
|
||||
|
||||
TéléProcédure Simplifiée, ou TPS pour les intimes, est une plateforme 100% web et 0% email, conçue afin de répondre au besoin urgent de l'État d'appliquer la directive sur le 100% démat' à l'horizon 2018 pour les démarches administratives.
|
||||
TéléProcédure Simplifiée, ou TPS pour les intimes, est une plateforme 100 % web et 0 % email, conçue afin de répondre au besoin urgent de l'État d'appliquer la directive sur le 100 % démat' à l'horizon 2018 pour les démarches administratives.
|
||||
|
||||
|
||||
## Technologies utilisées
|
||||
## Dépendances
|
||||
|
||||
Ruby : 2.3.1
|
||||
Rails : 5.0.0.1
|
||||
### Tous environnements
|
||||
|
||||
- postgresql
|
||||
|
||||
### Tests
|
||||
|
||||
- PhantomJS
|
||||
|
||||
|
||||
## Initialisation de l'environnement de développement
|
||||
|
@ -20,32 +25,23 @@ Afin d'initialiser l'environnement de développement, éxécutez la commande sui
|
|||
|
||||
## Création de la base de données
|
||||
|
||||
L'application utilise une base de donnée Postgresql. Pour en installer une, utilisez la commande suivante :
|
||||
|
||||
sudo apt-get install postgresql
|
||||
|
||||
Les informations nécessaire à l'initialisation de la base doivent être pré-configurées à la main grâce à la procédure suivante :
|
||||
|
||||
su - postgres
|
||||
psql
|
||||
> create user tps with password 'lol' superuser;
|
||||
> create user tps_development with password 'tps_development' superuser;
|
||||
> create user tps_test with password 'tps_test' superuser;
|
||||
> \q
|
||||
|
||||
|
||||
Afin de générer la BDD de l'application, il est nécessaire d'éxécuter les commandes suivantes :
|
||||
|
||||
rake db:create db:schema:load db:migrate
|
||||
rake db:create db:schema:load db:migrate RAILS_ENV=test
|
||||
|
||||
|
||||
## Installation de Phantom JS
|
||||
## Exécution des tests (RSpec)
|
||||
|
||||
Installer PhantomJS qui est utilisé par les tests automatisés de l'application.
|
||||
|
||||
|
||||
## Exécution des tests (Rspec)
|
||||
|
||||
Pour éxécuter les tests de l'application, plusieurs possibilités :
|
||||
Pour exécuter les tests de l'application, plusieurs possibilités :
|
||||
|
||||
- Lancer tous les tests
|
||||
|
||||
|
@ -62,8 +58,11 @@ Pour éxécuter les tests de l'application, plusieurs possibilités :
|
|||
rake spec SPEC=file_path/file_name_spec.rb
|
||||
rspec file_path/file_name_spec.rb
|
||||
|
||||
## Linting
|
||||
|
||||
## Regénérer les binstubs
|
||||
- Linter les fichiers HAML : `bundle exec haml-lint app/views/`
|
||||
|
||||
## Régénérer les binstubs
|
||||
|
||||
bundle binstub railties --force
|
||||
rake rails:update:bin
|
||||
|
|
BIN
app/assets/images/landing/users/Pilat.sketch
Normal file
BIN
app/assets/images/landing/users/Pilat.sketch
Normal file
Binary file not shown.
36
app/assets/javascripts/new-description.js
Normal file
36
app/assets/javascripts/new-description.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
(function() {
|
||||
var showNotFound = function() {
|
||||
$('.dossier-link .text-info').hide();
|
||||
$('.dossier-link .text-warning').show();
|
||||
};
|
||||
|
||||
var showData = function(data) {
|
||||
$('.dossier-link .procedureLibelle').text(data.procedureLibelle);
|
||||
$('.dossier-link .text-info').show();
|
||||
$('.dossier-link .text-warning').hide();
|
||||
};
|
||||
|
||||
var hideEverything = function() {
|
||||
$('.dossier-link .text-info').hide();
|
||||
$('.dossier-link .text-warning').hide();
|
||||
};
|
||||
|
||||
var fetchProcedureLibelle = function(e) {
|
||||
var dossierId = $(e.target).val();
|
||||
if(dossierId) {
|
||||
$.get('/users/dossiers/' + dossierId + '/procedure_libelle')
|
||||
.done(showData)
|
||||
.fail(showNotFound);
|
||||
} else {
|
||||
hideEverything();
|
||||
}
|
||||
};
|
||||
|
||||
var timeOut = null;
|
||||
var debounceFetchProcedureLibelle = function(e) {
|
||||
if(timeOut){ clearTimeout(timeOut); }
|
||||
timeOut = setTimeout(function() { fetchProcedureLibelle(e); }, 300);
|
||||
};
|
||||
|
||||
$(document).on('input', '[data-type=dossier-link]', debounceFetchProcedureLibelle);
|
||||
})();
|
20
app/assets/javascripts/toggle_chart.js
Normal file
20
app/assets/javascripts/toggle_chart.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
var TPS = TPS || {};
|
||||
|
||||
TPS.toggleChart = function(event, chartClass) {
|
||||
var nextSelectorItem = $(event.target),
|
||||
nextChart = $(chartClass),
|
||||
nextChartId = nextChart.children().first().attr("id"),
|
||||
currentSelectorItem = nextSelectorItem.parent().find(".segmented-control-item-active"),
|
||||
currentChart = nextSelectorItem.parent().parent().find(".chart:not(.hidden)");
|
||||
|
||||
// Change the current selector and the next selector states
|
||||
currentSelectorItem.toggleClass("segmented-control-item-active");
|
||||
nextSelectorItem.toggleClass("segmented-control-item-active");
|
||||
|
||||
// Hide the currently shown chart and show the new one
|
||||
currentChart.toggleClass("hidden");
|
||||
nextChart.toggleClass("hidden");
|
||||
|
||||
// Reflow needed, see https://github.com/highcharts/highcharts/issues/1979
|
||||
Chartkick.charts[nextChartId].getChartObject().reflow();
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
@import "card";
|
||||
|
||||
.stats {
|
||||
.stat-card {
|
||||
@extend .card;
|
||||
margin: 15px auto;
|
||||
max-width: 1200px;
|
||||
}
|
||||
}
|
124
app/assets/stylesheets/stats.scss
Normal file
124
app/assets/stylesheets/stats.scss
Normal file
|
@ -0,0 +1,124 @@
|
|||
@import "card";
|
||||
|
||||
$dark-grey: #333333;
|
||||
$light-grey: #999999;
|
||||
$blue: rgba(61, 149, 236, 1);
|
||||
$blue-hover: rgba(61, 149, 236, 0.8);
|
||||
|
||||
$default-space: 15px;
|
||||
|
||||
$new-h1-margin-bottom: 4 * $default-space;
|
||||
.new-h1 {
|
||||
color: $dark-grey;
|
||||
text-align: center;
|
||||
margin-top: 0;
|
||||
margin-bottom: $new-h1-margin-bottom;
|
||||
}
|
||||
|
||||
$statistiques-padding-top: $default-space * 2;
|
||||
.statistiques {
|
||||
width: 1040px;
|
||||
margin: 0 auto;
|
||||
padding-top: $statistiques-padding-top;
|
||||
}
|
||||
|
||||
.stat-cards {
|
||||
.stat-card:nth-of-type(even) {
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
$stat-card-margin-bottom: 3 * $default-space;
|
||||
.stat-card {
|
||||
@extend .card;
|
||||
margin-bottom: $stat-card-margin-bottom;
|
||||
border-radius: 5px;
|
||||
box-shadow: none;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
$stat-card-half-horizontal-spacing: 4 * $default-space;
|
||||
.stat-card-half {
|
||||
width: calc((100% - #{$stat-card-half-horizontal-spacing}) / 2);
|
||||
margin-right: 3 * $default-space;
|
||||
}
|
||||
|
||||
.stat-card-title {
|
||||
color: $dark-grey;
|
||||
font-size: 26px;
|
||||
font-weight: 500;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
$segmented-control-margin-top: $default-space;
|
||||
.segmented-control {
|
||||
border-radius: 36px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
font-size: 0;
|
||||
padding: 0;
|
||||
display: inline-block;
|
||||
margin-top: $segmented-control-margin-top;
|
||||
}
|
||||
|
||||
$segmented-control-item-horizontal-padding: $default-space;
|
||||
$segmented-control-item-border-radius: 2 * $default-space;
|
||||
.segmented-control-item {
|
||||
color: $blue;
|
||||
display: inline-block;
|
||||
font-size: 15px;
|
||||
border: 2px solid $blue;
|
||||
margin-right: -2px;
|
||||
padding-left: $segmented-control-item-horizontal-padding;
|
||||
padding-right: $segmented-control-item-horizontal-padding;
|
||||
color: $blue;
|
||||
|
||||
&:first-of-type {
|
||||
border-radius: $segmented-control-item-border-radius 0px 0px $segmented-control-item-border-radius;
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
border-radius: 0px $segmented-control-item-border-radius $segmented-control-item-border-radius 0px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: $blue-hover;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.segmented-control-item-active {
|
||||
background-color: $blue;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.chart-container {
|
||||
margin-top: 36px;
|
||||
}
|
||||
|
||||
.chart {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
$big-number-card-padding: 2 * $segmented-control-item-border-radius;
|
||||
.big-number-card {
|
||||
padding: $big-number-card-padding;
|
||||
}
|
||||
|
||||
.big-number-card-title {
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
color: $light-grey;
|
||||
}
|
||||
|
||||
.big-number-card-number {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 90px;
|
||||
line-height: 90px;
|
||||
font-weight: bold;
|
||||
color: $blue;
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
module Administrations
|
||||
class StatsController < ApplicationController
|
||||
before_action :authenticate_administration!
|
||||
|
||||
def index
|
||||
procedures = Procedure.where(created_at: Time.current.all_quarter).group("date_trunc('day', created_at)").count
|
||||
dossiers = Dossier.where(created_at: Time.current.all_quarter).group("date_trunc('day', created_at)").count
|
||||
@procedures = clean_hash(procedures)
|
||||
@dossiers = clean_hash(dossiers)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def clean_hash h
|
||||
h.keys.each{ |key| h[key.to_date] = h[key]; h.delete(key) }
|
||||
min_date = h.keys.min
|
||||
max_date = h.keys.max
|
||||
(min_date..max_date).each do |date|
|
||||
h[date] = 0 if h[date].nil?
|
||||
end
|
||||
h
|
||||
end
|
||||
end
|
||||
end
|
|
@ -5,7 +5,7 @@ class Backoffice::PrivateFormulairesController < ApplicationController
|
|||
dossier = current_gestionnaire.dossiers.find(params[:dossier_id])
|
||||
|
||||
unless params[:champs].nil?
|
||||
champs_service_errors = ChampsService.save_formulaire dossier.champs_private, params
|
||||
champs_service_errors = ChampsService.save_champs dossier.champs_private, params
|
||||
|
||||
if champs_service_errors.empty?
|
||||
flash[:notice] = "Formulaire enregistré"
|
||||
|
|
56
app/controllers/stats_controller.rb
Normal file
56
app/controllers/stats_controller.rb
Normal file
|
@ -0,0 +1,56 @@
|
|||
class StatsController < ApplicationController
|
||||
|
||||
def index
|
||||
procedures = Procedure.where(:published => true)
|
||||
dossiers = Dossier.where.not(:state => :draft)
|
||||
|
||||
@procedures_30_days_flow = thirty_days_flow_hash(procedures)
|
||||
@dossiers_30_days_flow = thirty_days_flow_hash(dossiers)
|
||||
|
||||
@procedures_cumulative = cumulative_hash(procedures)
|
||||
@dossiers_cumulative = cumulative_hash(dossiers)
|
||||
|
||||
@procedures_count = procedures.count
|
||||
@dossiers_count = dossiers.count
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def thirty_days_flow_hash(association)
|
||||
min_date = 30.days.ago.to_date
|
||||
max_date = Time.now.to_date
|
||||
|
||||
thirty_days_flow_hash = association
|
||||
.where(:created_at => min_date..max_date)
|
||||
.group("date_trunc('day', created_at)")
|
||||
.count
|
||||
|
||||
clean_hash(thirty_days_flow_hash, min_date, max_date)
|
||||
end
|
||||
|
||||
def clean_hash(h, min_date, max_date)
|
||||
# Convert keys to date
|
||||
h = Hash[h.map { |(k, v)| [k.to_date, v] }]
|
||||
|
||||
# Add missing vales where count is 0
|
||||
(min_date..max_date).each do |date|
|
||||
if h[date].nil?
|
||||
h[date] = 0
|
||||
end
|
||||
end
|
||||
|
||||
h
|
||||
end
|
||||
|
||||
def cumulative_hash(association)
|
||||
sum = 0
|
||||
association
|
||||
.group("DATE_TRUNC('month', created_at)")
|
||||
.count
|
||||
.to_a
|
||||
.sort{ |x, y| x[0] <=> y[0] }
|
||||
.map { |x, y| { x => (sum += y)} }
|
||||
.reduce({}, :merge)
|
||||
end
|
||||
|
||||
end
|
|
@ -12,10 +12,7 @@ class Users::DescriptionController < UsersController
|
|||
@procedure = @dossier.procedure
|
||||
@champs = @dossier.ordered_champs
|
||||
|
||||
@headers = @champs.inject([]) do |acc, champ|
|
||||
acc.push(champ) if champ.type_champ == 'header_section'
|
||||
acc
|
||||
end
|
||||
@headers = @champs.select { |c| c.type_champ == 'header_section' }
|
||||
|
||||
unless @dossier.can_be_initiated?
|
||||
flash[:alert] = t('errors.messages.procedure_archived')
|
||||
|
@ -34,18 +31,12 @@ class Users::DescriptionController < UsersController
|
|||
|
||||
@champs = @dossier.ordered_champs
|
||||
|
||||
mandatory = true
|
||||
mandatory = !(params[:submit].keys.first == 'brouillon') unless params[:submit].nil?
|
||||
check_mandatory_fields = !draft_submission?
|
||||
|
||||
unless @dossier.update_attributes(create_params)
|
||||
@dossier = @dossier.decorate
|
||||
|
||||
flash.alert = @dossier.errors.full_messages.join('<br />').html_safe
|
||||
return redirect_to users_dossier_description_path(dossier_id: @dossier.id)
|
||||
end
|
||||
|
||||
unless params[:champs].nil?
|
||||
champs_service_errors = ChampsService.save_formulaire @dossier.champs, params, mandatory
|
||||
if params[:champs]
|
||||
champs_service_errors = ChampsService.save_champs @dossier.champs,
|
||||
params,
|
||||
check_mandatory_fields
|
||||
|
||||
unless champs_service_errors.empty?
|
||||
flash.alert = (champs_service_errors.inject('') { |acc, error| acc+= error[:message]+'<br>' }).html_safe
|
||||
|
@ -53,33 +44,30 @@ class Users::DescriptionController < UsersController
|
|||
end
|
||||
end
|
||||
|
||||
if @procedure.cerfa_flag?
|
||||
unless params[:cerfa_pdf].nil?
|
||||
cerfa = Cerfa.new(content: params[:cerfa_pdf], dossier: @dossier, user: current_user)
|
||||
unless cerfa.save
|
||||
flash.alert = cerfa.errors.full_messages.join('<br />').html_safe
|
||||
return redirect_to users_dossier_description_path(dossier_id: @dossier.id)
|
||||
end
|
||||
if @procedure.cerfa_flag? && params[:cerfa_pdf]
|
||||
cerfa = Cerfa.new(content: params[:cerfa_pdf], dossier: @dossier, user: current_user)
|
||||
unless cerfa.save
|
||||
flash.alert = cerfa.errors.full_messages.join('<br />').html_safe
|
||||
return redirect_to users_dossier_description_path(dossier_id: @dossier.id)
|
||||
end
|
||||
end
|
||||
|
||||
unless (errors_upload = PiecesJustificativesService.upload!(@dossier, current_user, params)).empty?
|
||||
errors_upload = PiecesJustificativesService.upload!(@dossier, current_user, params)
|
||||
unless errors_upload.empty?
|
||||
flash.alert = errors_upload.html_safe
|
||||
return redirect_to users_dossier_description_path(dossier_id: @dossier.id)
|
||||
end
|
||||
|
||||
|
||||
if mandatory
|
||||
if draft_submission?
|
||||
flash.notice = 'Votre brouillon a bien été sauvegardé.'
|
||||
redirect_to url_for(controller: :dossiers, action: :index, liste: :brouillon)
|
||||
else
|
||||
if @dossier.draft?
|
||||
@dossier.initiated!
|
||||
NotificationMailer.send_notification(@dossier, @dossier.procedure.initiated_mail).deliver_now!
|
||||
end
|
||||
|
||||
flash.notice = 'Félicitations, votre demande a bien été enregistrée.'
|
||||
redirect_to url_for(controller: :recapitulatif, action: :show, dossier_id: @dossier.id)
|
||||
else
|
||||
flash.notice = 'Votre brouillon a bien été sauvegardé.'
|
||||
redirect_to url_for(controller: :dossiers, action: :index, liste: :brouillon)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -123,6 +111,10 @@ class Users::DescriptionController < UsersController
|
|||
|
||||
private
|
||||
|
||||
def draft_submission?
|
||||
params[:submit] && params[:submit].keys.first == 'brouillon'
|
||||
end
|
||||
|
||||
def check_autorisation_donnees
|
||||
@dossier = current_user_dossier
|
||||
|
||||
|
@ -137,9 +129,4 @@ class Users::DescriptionController < UsersController
|
|||
redirect_to url_for(users_dossier_path(@dossier.id))
|
||||
end
|
||||
end
|
||||
|
||||
def create_params
|
||||
params.permit()
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -154,6 +154,13 @@ class Users::DossiersController < UsersController
|
|||
redirect_to url_for users_dossiers_path
|
||||
end
|
||||
|
||||
def procedure_libelle
|
||||
dossier = Dossier.find(params[:dossier_id])
|
||||
render json: { procedureLibelle: dossier.procedure.libelle }
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render json: {}, status: 404
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def check_siret
|
||||
|
|
|
@ -28,6 +28,10 @@ class Champ < ActiveRecord::Base
|
|||
same_date? num, '%M'
|
||||
end
|
||||
|
||||
def mandatory_and_blank?
|
||||
mandatory? && value.blank?
|
||||
end
|
||||
|
||||
def same_date? num, compare
|
||||
if type_champ == 'datetime' && !value.nil?
|
||||
if value.to_datetime.strftime(compare) == num
|
||||
|
|
|
@ -210,19 +210,16 @@ class Dossier < ActiveRecord::Base
|
|||
def convert_specific_hash_values_to_string(hash_to_convert)
|
||||
hash = {}
|
||||
hash_to_convert.each do |key, value|
|
||||
value = value.to_s if !value.kind_of?(Time) && !value.nil?
|
||||
value = serialize_value_for_export(value)
|
||||
hash.store(key, value)
|
||||
end
|
||||
return hash
|
||||
end
|
||||
|
||||
def convert_specific_array_values_to_string(array_to_convert)
|
||||
array = []
|
||||
array_to_convert.each do |value|
|
||||
value = value.to_s if !value.kind_of?(Time) && !value.nil?
|
||||
array << value
|
||||
def full_data_strings_array
|
||||
data_with_champs.map do |value|
|
||||
serialize_value_for_export(value)
|
||||
end
|
||||
return array
|
||||
end
|
||||
|
||||
def export_entreprise_data
|
||||
|
@ -306,4 +303,8 @@ class Dossier < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
def serialize_value_for_export(value)
|
||||
value.nil? || value.kind_of?(Time) ? value : value.to_s
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
class Notification < ActiveRecord::Base
|
||||
belongs_to :dossier
|
||||
serialize :liste if Rails.env.test?
|
||||
|
||||
# after_save :broadcast_notification
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ class Procedure < ActiveRecord::Base
|
|||
|
||||
headers = exportable_dossiers.any? ? exportable_dossiers.first.export_headers : []
|
||||
data = exportable_dossiers.map do |dossier|
|
||||
dossier.convert_specific_array_values_to_string(dossier.data_with_champs)
|
||||
dossier.full_data_strings_array
|
||||
end
|
||||
|
||||
{
|
||||
|
|
|
@ -18,7 +18,8 @@ class TypeDeChamp < ActiveRecord::Base
|
|||
departements: 'departements',
|
||||
engagement: 'engagement',
|
||||
header_section: 'header_section',
|
||||
explication: 'explication'
|
||||
explication: 'explication',
|
||||
dossier_link: 'dossier_link'
|
||||
}
|
||||
|
||||
belongs_to :procedure
|
||||
|
|
|
@ -1,27 +1,41 @@
|
|||
class ChampsService
|
||||
def self.save_formulaire champs, params, check_mandatory=true
|
||||
errors = Array.new
|
||||
class << self
|
||||
def save_champs(champs, params, check_mandatory = true)
|
||||
fill_champs(champs, params)
|
||||
|
||||
champs.each do |champ|
|
||||
champ.value = params[:champs]["'#{champ.id}'"]
|
||||
champs.select(&:changed?).each(&:save)
|
||||
|
||||
if champ.type_champ == 'datetime'
|
||||
champ.value = params[:champs]["'#{champ.id}'"]+
|
||||
' ' +
|
||||
params[:time_hour]["'#{champ.id}'"] +
|
||||
':' +
|
||||
params[:time_minute]["'#{champ.id}'"]
|
||||
end
|
||||
|
||||
if check_mandatory
|
||||
if champ.mandatory? && (champ.value.nil? || champ.value.blank?)
|
||||
errors.push({message: "Le champ #{champ.libelle} doit être rempli."})
|
||||
end
|
||||
end
|
||||
|
||||
champ.save if champ.changed?
|
||||
check_mandatory ? build_error_messages(champs) : []
|
||||
end
|
||||
|
||||
errors
|
||||
private
|
||||
|
||||
def fill_champs(champs, h)
|
||||
datetimes, not_datetimes = champs.partition { |c| c.type_champ == 'datetime' }
|
||||
|
||||
not_datetimes.each { |c| c.value = h[:champs]["'#{c.id}'"] }
|
||||
datetimes.each { |c| c.value = parse_datetime(c.id, h) }
|
||||
end
|
||||
|
||||
def parse_datetime(champ_id, h)
|
||||
"#{h[:champs]["'#{champ_id}'"]} #{extract_hour(champ_id, h)}:#{extract_minute(champ_id, h)}"
|
||||
end
|
||||
|
||||
def extract_hour(champ_id, h)
|
||||
h[:time_hour]["'#{champ_id}'"]
|
||||
end
|
||||
|
||||
def extract_minute(champ_id, h)
|
||||
h[:time_minute]["'#{champ_id}'"]
|
||||
end
|
||||
|
||||
def build_error_messages(champs)
|
||||
champs.select(&:mandatory_and_blank?)
|
||||
.map { |c| build_champ_error_message(c) }
|
||||
end
|
||||
|
||||
def build_champ_error_message(champ)
|
||||
{ message: "Le champ #{champ.libelle} doit être rempli." }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
.row{style:'height: 34px'}
|
||||
.row{ style: 'height: 34px;' }
|
||||
|
||||
- unless smart_listing.empty?
|
||||
%table.table#liste_gestionnaire
|
||||
%thead
|
||||
%th Enlever
|
||||
%th#email{style:'text-align: right'} Email
|
||||
%th#email{ style: 'text-align: right;' } Email
|
||||
|
||||
- @accompagnateurs_assign.each do |accompagnateur|
|
||||
%tr
|
||||
%td.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1.center
|
||||
%a.btn.btn-primary{href: "#{admin_procedure_accompagnateurs_path(procedure_id: @procedure.id, accompagnateur_id: accompagnateur.id, to: AccompagnateurService::NOT_ASSIGN)}", 'data-method' => 'put'}
|
||||
%a.btn.btn-primary{ href: "#{admin_procedure_accompagnateurs_path(procedure_id: @procedure.id, accompagnateur_id: accompagnateur.id, to: AccompagnateurService::NOT_ASSIGN)}", 'data-method' => 'put' }
|
||||
.fa.fa-arrow-left
|
||||
%td{style:'padding-top: 11px; font-size:15px; text-align:right'}= accompagnateur.email
|
||||
%td{ style: 'padding-top: 11px; font-size: 15px; text-align: right;' }= accompagnateur.email
|
||||
|
||||
= smart_listing.paginate
|
||||
= smart_listing.pagination_per_page_links
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
= smart_listing_controls_for(:accompagnateurs_not_assign, {class: "form-inline text-right"}) do
|
||||
= smart_listing_controls_for(:accompagnateurs_not_assign, { class: "form-inline text-right" }) do
|
||||
.form-group.filter.input-append
|
||||
= text_field_tag :filter, '', class: "search form-control",
|
||||
placeholder: "Recherche...", autocomplete: :off
|
||||
%button.btn.btn-primary{type: :submit}
|
||||
%button.btn.btn-primary{ type: :submit }
|
||||
%span.fa.fa-search
|
||||
|
||||
- unless smart_listing.empty?
|
||||
|
@ -14,9 +14,9 @@
|
|||
|
||||
- @accompagnateurs_not_assign.each do |accompagnateur|
|
||||
%tr
|
||||
%td.col-xs-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'}
|
||||
%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
|
||||
|
||||
|
||||
|
|
|
@ -9,15 +9,15 @@
|
|||
%h3
|
||||
= t('dynamics.admin.procedure.onglet_accompagnateurs.add.title')
|
||||
#procedure_new.section.section-label
|
||||
= form_for @gestionnaire, url: {controller: 'admin/gestionnaires', action: :create} do |f|
|
||||
= form_for @gestionnaire, url: { controller: 'admin/gestionnaires', action: :create } do |f|
|
||||
.row
|
||||
.col-xs-5
|
||||
= hidden_field_tag :procedure_id, params[:procedure_id]
|
||||
=render partial: 'admin/gestionnaires/informations', locals: {f: f}
|
||||
= render partial: 'admin/gestionnaires/informations', locals: { f: f }
|
||||
.col-xs-2
|
||||
%br
|
||||
%br
|
||||
= f.submit 'Valider', class: 'btn btn-info', style: 'float:left', id: 'add-gestionnaire-email'
|
||||
= f.submit 'Valider', class: 'btn btn-info', style: 'float: left;', id: 'add-gestionnaire-email'
|
||||
.col-xs-6
|
||||
%h3.text-success Affectés
|
||||
= smart_listing_render :accompagnateurs_assign
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
= @dossier.decorate.display_state
|
||||
%br
|
||||
État souhaité :
|
||||
%select{id: :next_state, name: :next_state}
|
||||
%select{ id: :next_state, name: :next_state }
|
||||
- Dossier.states.each do |state|
|
||||
%option{value: state[0]}
|
||||
=DossierDecorator.case_state_fr state[1]
|
||||
%option{ value: state[0] }
|
||||
= DossierDecorator.case_state_fr state[1]
|
||||
= f.submit 'Valider'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
-{email: 'Email*'}.each do |key, value|
|
||||
- { email: 'Email*' }.each do |key, value|
|
||||
.form-group
|
||||
%h4
|
||||
= value
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
%table.table#liste_gestionnaire
|
||||
%thead
|
||||
%th#libelle= smart_listing.sortable 'Email', 'email'
|
||||
%th= ''
|
||||
%th
|
||||
|
||||
- @gestionnaires.each do |gestionnaire|
|
||||
%tr
|
||||
%td{style:'padding-top: 11px; font-size:15px'}= gestionnaire.email
|
||||
%td{ style: 'text-align:right' }
|
||||
%td{ style: 'padding-top: 11px; font-size: 15px;' }= gestionnaire.email
|
||||
%td{ style: 'text-align: right;' }
|
||||
.delete.btn.btn-sm.fa.fa-trash
|
||||
|
||||
.confirm
|
||||
=link_to 'Valider', admin_gestionnaire_path(id: gestionnaire.id), {method: :delete, class: 'btn btn-sm btn-success'}
|
||||
.cancel.btn.btn-sm.btn-danger.fa.fa-minus{style: 'top: 0'}
|
||||
= link_to 'Valider', admin_gestionnaire_path(id: gestionnaire.id), { method: :delete, class: 'btn btn-sm btn-success' }
|
||||
.cancel.btn.btn-sm.btn-danger.fa.fa-minus{ style: 'top: 0;' }
|
||||
|
||||
= smart_listing.paginate
|
||||
= smart_listing.pagination_per_page_links
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
.col-xs-6
|
||||
%h3 Ajouter un accompagnateur
|
||||
#procedure_new.section.section-label
|
||||
= form_for @gestionnaire, url: {controller: 'admin/gestionnaires', action: :create} do |f|
|
||||
= form_for @gestionnaire, url: { controller: 'admin/gestionnaires', action: :create } do |f|
|
||||
.row
|
||||
.col-xs-5
|
||||
= render partial: 'informations', locals: {f: f}
|
||||
= render partial: 'informations', locals: { f: f }
|
||||
.col-xs-2
|
||||
%br
|
||||
%br
|
||||
= f.submit 'Valider', class: 'btn btn-info', style: 'float:left'
|
||||
= f.submit 'Valider', class: 'btn btn-info', style: 'float: left;'
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
.row
|
||||
.col-md-6
|
||||
= f.input :object, label: "Objet de l'email"
|
||||
= f.input :body, label: "Corps de l'email", input_html: {class: 'wysihtml5'}
|
||||
= f.input :body, label: "Corps de l'email", input_html: { class: 'wysihtml5' }
|
||||
.text-right
|
||||
= link_to "Annuler", admin_procedure_mail_templates_path(@procedure), class: "btn btn-default"
|
||||
= f.button :submit, 'Mettre à jour', class: "btn-success"
|
||||
|
@ -27,4 +27,4 @@
|
|||
%td.center
|
||||
= "--#{balise.first}--"
|
||||
%td
|
||||
=balise.second[:description]
|
||||
= balise.second[:description]
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
.form-inline
|
||||
.form-group
|
||||
%h4 Libellé
|
||||
=ff.text_field :libelle, class: 'form-control libelle', placeholder: 'Libellé'
|
||||
= ff.text_field :libelle, class: 'form-control libelle', placeholder: 'Libellé'
|
||||
.form-group
|
||||
%h4 Description
|
||||
=ff.text_area :description, class: 'form-control description', placeholder: 'Description'
|
||||
= ff.text_area :description, class: 'form-control description', placeholder: 'Description'
|
||||
.form-group
|
||||
%h4
|
||||
Lien du formulaire vierge
|
||||
%small
|
||||
(optionel)
|
||||
=ff.url_field :lien_demarche, class: 'form-control', placeholder: 'Lien du document vierge'
|
||||
= ff.url_field :lien_demarche, class: 'form-control', placeholder: 'Lien du document vierge'
|
||||
|
||||
.form-group
|
||||
= ff.hidden_field :order_place, value: ff.index
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
= form_for [:admin, @procedure], url: admin_procedure_pieces_justificatives_path(@procedure) , remote: true do |f|
|
||||
= form_for [:admin, @procedure], url: admin_procedure_pieces_justificatives_path(@procedure), remote: true do |f|
|
||||
#liste_piece_justificative
|
||||
= render partial: 'fields', locals:{ types_de_piece_justificative: @procedure.types_de_piece_justificative_ordered.decorate, f: f }
|
||||
= render partial: 'fields', locals: { types_de_piece_justificative: @procedure.types_de_piece_justificative_ordered.decorate, f: f }
|
||||
= f.submit "Enregistrer", class: 'btn btn-success', id: :save
|
||||
%hr
|
||||
#new_type_de_piece_justificative
|
||||
= render partial: 'fields', locals:{ types_de_piece_justificative: TypeDePieceJustificative.new.decorate, f: f }
|
||||
= render partial: 'fields', locals: { types_de_piece_justificative: TypeDePieceJustificative.new.decorate, f: f }
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.alert.alert-info
|
||||
Cette procédure est publiée, certains éléments de la description ne sont plus modifiables
|
||||
|
||||
-{libelle: 'Libellé*', description: 'Description*', organisation: 'Organisation', direction: 'Direction', lien_site_web: 'Lien site internet', lien_notice: 'Lien notice'}.each do |key, value|
|
||||
- { 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
|
||||
= value
|
||||
|
@ -16,17 +16,17 @@
|
|||
.col-md-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'}
|
||||
= f.file_field :logo, accept: 'image/png, image/jpg, image/jpeg', style: 'display:inline'
|
||||
= image_tag @procedure.decorate.logo_img, { style: 'height: 40px; display: inline; margin-right: 6px;', id: 'preview_procedure_logo' }
|
||||
= f.file_field :logo, accept: 'image/png, image/jpg, image/jpeg', style: 'display: inline'
|
||||
|
||||
%div{style:'margin-top:5px'}
|
||||
%div{ style: 'margin-top: 5px;' }
|
||||
%i
|
||||
Fichier accepté : JPG / JPEG / PNG
|
||||
.col-md-6
|
||||
%h4 Drapeau européen
|
||||
.checkbox
|
||||
%label
|
||||
=f.check_box :euro_flag
|
||||
= f.check_box :euro_flag
|
||||
Afficher le drapeau européen
|
||||
|
||||
- unless @procedure.locked?
|
||||
|
@ -37,7 +37,7 @@
|
|||
= 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
|
||||
= ff.check_box :use_api_carto, id: :procedure_module_api_carto_use_api_carto
|
||||
Utilisation de la cartographie
|
||||
|
||||
%ul#modules_api_carto
|
||||
|
@ -67,7 +67,7 @@
|
|||
%h4 Particuliers
|
||||
.checkbox
|
||||
%label
|
||||
=f.check_box :for_individual
|
||||
= 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,
|
||||
|
@ -83,7 +83,7 @@
|
|||
.col-md-6
|
||||
%h4 Options avancées
|
||||
|
||||
%label{ for: :auto_archive_on} Archivage automatique le
|
||||
%label{ for: :auto_archive_on } Archivage automatique le
|
||||
= f.text_field :auto_archive_on, id: 'auto_archive_on', value: @procedure.auto_archive_on.try{ |d| d.strftime("%d-%m-%Y") }, data: { provide: 'datepicker', 'date-language' => 'fr', 'date-format' => 'dd/mm/yyyy' }
|
||||
(à 00h00)
|
||||
%p.help-block
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
%th#ID= smart_listing.sortable 'ID', 'id'
|
||||
%th#libelle= smart_listing.sortable 'Libellé', 'libelle'
|
||||
- if @active_class
|
||||
%th#lien Lien
|
||||
%th Lien
|
||||
%th#created_at= smart_listing.sortable 'Date création', 'created_at'
|
||||
%th#lien Actions
|
||||
%th Actions
|
||||
|
||||
- @procedures.each do |procedure|
|
||||
- procedure = procedure.decorate
|
||||
%tr{id: "tr_dossier_#{procedure.id}", 'data-dossier_url' => admin_procedure_path(id: procedure.id)}
|
||||
%tr{ id: "tr_dossier_#{procedure.id}", 'data-dossier_url' => admin_procedure_path(id: procedure.id) }
|
||||
%td= procedure.id
|
||||
%td.col-xs-6
|
||||
= procedure.libelle
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
#publishModal.modal.fade{"aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1"}
|
||||
.modal-dialog.modal-lg{:role => "document"}
|
||||
#publishModal.modal.fade{ "aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1" }
|
||||
.modal-dialog.modal-lg{ :role => "document" }
|
||||
= form_tag admin_procedure_publish_path(procedure_id: @procedure.id), method: :put, remote: true do
|
||||
.modal-content
|
||||
.modal-header
|
||||
%button.close{"aria-label" => "Close", "data-dismiss" => "modal", :type => "button"}
|
||||
%span{"aria-hidden" => "true"} ×
|
||||
%button.close{ "aria-label" => "Close", "data-dismiss" => "modal", :type => "button" }
|
||||
%span{ "aria-hidden" => "true" } ×
|
||||
%h4#myModalLabel.modal-title
|
||||
=@procedure.archived?? 'Réactiver' : 'Publier'
|
||||
= @procedure.archived? ? 'Réactiver' : 'Publier'
|
||||
la procédure
|
||||
%span#publishModal_title
|
||||
.modal-body
|
||||
Vous vous apprêtez à
|
||||
=@procedure.archived?? 'republier' : 'publier'
|
||||
= @procedure.archived? ? 'republier' : 'publier'
|
||||
votre procédure au public.
|
||||
- unless @procedure.archived?
|
||||
%b
|
||||
|
@ -23,13 +23,13 @@
|
|||
%br
|
||||
%h4 Lien de la procédure
|
||||
%p.center
|
||||
="#{root_url}commencer/"
|
||||
= "#{root_url}commencer/"
|
||||
= text_field_tag('procedure_path', @procedure.default_path,
|
||||
id: 'procedure_path',
|
||||
placeholder: 'Chemin vers la procédure',
|
||||
class:'form-control',
|
||||
class: 'form-control',
|
||||
maxlength: 30,
|
||||
style: 'width: 300px; display: inline')
|
||||
style: 'width: 300px; display: inline;')
|
||||
#path_messages
|
||||
#path_is_mine.text-warning.center.message
|
||||
Ce lien est déjà utilisé par une de vos procédure.
|
||||
|
@ -42,7 +42,7 @@
|
|||
#path_is_invalid.text-danger.center.message
|
||||
Ce lien n'est pas valide. Il doit comporter au moins 3 caractères et seuls les caractères a-z, 0-9 et '_' sont autorisés.
|
||||
.modal-footer
|
||||
= submit_tag "#{@procedure.archived?? 'Réactiver' : 'Publier'}", class: %w(btn btn btn-success),
|
||||
= submit_tag "#{@procedure.archived? ? 'Réactiver' : 'Publier'}", class: %w(btn btn btn-success),
|
||||
id: 'publish',
|
||||
disabled: :disabled
|
||||
= button_tag 'Annuler', class: %w(btn btn btn-default), id: 'cancel', data: { dismiss: 'modal' }
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
#transferModal.modal.fade{"aria-labelledby" => "TransferProcedureModal", :role => "dialog", :tabindex => "-1"}
|
||||
.modal-dialog.modal-md{:role => "document"}
|
||||
#transferModal.modal.fade{ "aria-labelledby" => "TransferProcedureModal", :role => "dialog", :tabindex => "-1" }
|
||||
.modal-dialog.modal-md{ :role => "document" }
|
||||
= form_tag admin_procedure_transfer_path(procedure_id: @procedure.id), method: :post, remote: true do
|
||||
.modal-content
|
||||
.modal-header
|
||||
%button.close{"aria-label" => "Close", "data-dismiss" => "modal", :type => "button"}
|
||||
%span{"aria-hidden" => "true"} ×
|
||||
%button.close{ "aria-label" => "Close", "data-dismiss" => "modal", :type => "button" }
|
||||
%span{ "aria-hidden" => "true" } ×
|
||||
%h4#myModalLabel.modal-title
|
||||
Petit transfert de procédure entre administrateur
|
||||
.modal-body
|
||||
%p
|
||||
Cette fonctionnalité vous permet de transmettre un clone de votre procédure à un autre administrateur.
|
||||
%div{style:'margin-top:20px'}
|
||||
= text_field_tag :email_admin, '', {class: 'form-control',
|
||||
%div{ style:'margin-top:20px' }
|
||||
= text_field_tag :email_admin, '', { class: 'form-control',
|
||||
type: 'email',
|
||||
placeholder: 'Email administrateur cible',
|
||||
style: 'width: 300px; margin-left:auto; margin-right:auto'}
|
||||
%div#not_found_admin.center.text-danger{style:'display:none; margin-top: 10px'}
|
||||
style: 'width: 300px; margin-left:auto; margin-right:auto' }
|
||||
%div#not_found_admin.center.text-danger{ style:'display: none; margin-top: 10px;' }
|
||||
Cet administrateur n'existe pas.
|
||||
.modal-footer
|
||||
= submit_tag "Envoyer", class: 'btn btn-success'
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
#onglets
|
||||
%ul.nav.nav-tabs
|
||||
%li{class: @draft_class}
|
||||
%a{:href => "#{url_for :admin_procedures_draft}"}
|
||||
%li{ class: @draft_class }
|
||||
%a{ :href => "#{url_for :admin_procedures_draft}" }
|
||||
%h5.text-primary
|
||||
="Brouillons"
|
||||
Brouillons
|
||||
|
||||
%li{class: @active_class}
|
||||
%a{:href => "#{url_for :admin_procedures}"}
|
||||
%li{ class: @active_class }
|
||||
%a{ :href => "#{url_for :admin_procedures}" }
|
||||
%h5.text-success
|
||||
= "Actives"
|
||||
Actives
|
||||
|
||||
%li{class: @archived_class}
|
||||
%a{:href => "#{url_for :admin_procedures_archived}"}
|
||||
%h5{style: 'color: black'}
|
||||
="Archivées"
|
||||
%li{ class: @archived_class }
|
||||
%a{ :href => "#{url_for :admin_procedures_archived}" }
|
||||
%h5{ style: 'color: black;' }
|
||||
Archivées
|
||||
%br
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.row.white-back
|
||||
#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}
|
||||
= form_for @procedure, url: url_for({ controller: 'admin/procedures', action: :update, id: @procedure.id }), multipart: true do |f|
|
||||
= render partial: 'informations', locals: { f: f }
|
||||
.text-right
|
||||
= f.submit 'Enregistrer', class: 'btn btn-success'
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#admins_index
|
||||
.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
|
||||
.row.show-block#new_dossiers
|
||||
.header
|
||||
.col-lg-10.col-md-10.col-sm-10.col-xs-10.title
|
||||
.carret-right
|
||||
.carret-down
|
||||
Procédures
|
||||
%a{href:'/admin/procedures/new'}
|
||||
%a{ href: '/admin/procedures/new' }
|
||||
%div#new-procedure.col-lg-2.col-md-2.col-sm-2.col-xs-2.action
|
||||
Nouvelle
|
||||
|
||||
%div.body
|
||||
.body
|
||||
= smart_listing_render :procedures
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
.row.white-back
|
||||
%h2
|
||||
=t('dynamics.admin.dossiers.tableau_de_bord.nouvelle_procedure')
|
||||
= t('dynamics.admin.dossiers.tableau_de_bord.nouvelle_procedure')
|
||||
|
||||
#procedure_new.section.section-label
|
||||
= form_for @procedure, url: {controller: 'admin/procedures', action: :create}, multipart: true do |f|
|
||||
= render partial: 'informations', locals: {f: f}
|
||||
= f.submit 'Valider', class: 'btn btn-info', id: 'save-procedure', style: 'float:right'
|
||||
= form_for @procedure, url: { controller: 'admin/procedures', action: :create }, multipart: true do |f|
|
||||
= render partial: 'informations', locals: { f: f }
|
||||
= f.submit 'Valider', class: 'btn btn-info', id: 'save-procedure', style: 'float: right;'
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
.row.white-back
|
||||
#procedure_show
|
||||
-unless @facade.procedure.published?
|
||||
- unless @facade.procedure.published?
|
||||
- if @facade.procedure.gestionnaires.size == 0
|
||||
%a.action_button.btn.btn-success{style:'float: right; margin-top: 10px', disabled: 'disabled', 'data-toggle' => :tooltip, title: 'Vous ne pouvez pas publier une procédure sans qu\'aucun accompagnateur ne soit affecté à celle-ci.', id: 'publish-procedure'}
|
||||
%a.action_button.btn.btn-success{ style: 'float: right; margin-top: 10px;', disabled: 'disabled', 'data-toggle' => :tooltip, title: 'Vous ne pouvez pas publier une procédure sans qu\'aucun accompagnateur ne soit affecté à celle-ci.', id: 'publish-procedure' }
|
||||
%i.fa.fa-eraser
|
||||
Publier
|
||||
- else
|
||||
%a.btn.btn-success{"data-target" => "#publishModal", "data-toggle" => "modal", :type => "button", style:'float: right; margin-top: 10px', id: 'publish-procedure'}
|
||||
%a.btn.btn-success{ "data-target" => "#publishModal", "data-toggle" => "modal", :type => "button", style: 'float: right; margin-top: 10px;', id: 'publish-procedure' }
|
||||
%i.fa.fa-eraser
|
||||
Publier
|
||||
|
||||
=render partial: '/admin/procedures/modal_publish'
|
||||
= render partial: '/admin/procedures/modal_publish'
|
||||
|
||||
%a#transfer.btn.btn-small.btn-default{"data-target" => "#transferModal", "data-toggle" => "modal", :type => "button", style:'float: right; margin-top: 10px; margin-right: 10px'}
|
||||
%a#transfer.btn.btn-small.btn-default{ "data-target" => "#transferModal", "data-toggle" => "modal", :type => "button", style: 'float: right; margin-top: 10px; margin-right: 10px;' }
|
||||
%i.fa.fa-exchange
|
||||
Transférer
|
||||
|
||||
=render partial: '/admin/procedures/modal_transfer'
|
||||
= render partial: '/admin/procedures/modal_transfer'
|
||||
|
||||
- if @facade.procedure.archived?
|
||||
%a#reenable.btn.btn-small.btn-default.text-info{"data-target" => "#publishModal", "data-toggle" => "modal", :type => "button", style:'float: right; margin-top: 10px'}
|
||||
%a#reenable.btn.btn-small.btn-default.text-info{ "data-target" => "#publishModal", "data-toggle" => "modal", :type => "button", style: 'float: right; margin-top: 10px;' }
|
||||
%i.fa.fa-eraser
|
||||
Réactiver
|
||||
|
||||
= render partial: '/admin/procedures/modal_publish'
|
||||
|
||||
- elsif @facade.procedure.published?
|
||||
= form_tag admin_procedure_archive_path(procedure_id: @facade.procedure.id, archive: !@facade.procedure.archived?), method: :put, style:'float: right; margin-top: 10px' do
|
||||
%button#archive.btn.btn-small.btn-default.text-info{type: :button}
|
||||
= form_tag admin_procedure_archive_path(procedure_id: @facade.procedure.id, archive: !@facade.procedure.archived?), method: :put, style: 'float: right; margin-top: 10px;' do
|
||||
%button#archive.btn.btn-small.btn-default.text-info{ type: :button }
|
||||
%i.fa.fa-eraser
|
||||
= 'Archiver'
|
||||
Archiver
|
||||
#confirm
|
||||
%button#valid.btn.btn-small.btn-success{type: :submit}
|
||||
%button#valid.btn.btn-small.btn-success{ type: :submit }
|
||||
%i.fa.fa-check
|
||||
Valider
|
||||
%button#cancel.btn.btn-small.btn-danger{type: :button}
|
||||
%button#cancel.btn.btn-small.btn-danger{ type: :button }
|
||||
%i.fa.fa-remove
|
||||
Annuler
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
|||
|
||||
%div
|
||||
%h3 Lien procédure
|
||||
%div{style:'margin-left:3%'}
|
||||
%div{ style: 'margin-left: 3%;' }
|
||||
- if @facade.procedure.published?
|
||||
= link_to @facade.procedure.lien, @facade.procedure.lien, target: '_blank'
|
||||
- else
|
||||
|
@ -55,7 +55,7 @@
|
|||
%br
|
||||
%h3 Détails
|
||||
|
||||
.row{style:'margin-right:3%; margin-left:3%;'}
|
||||
.row{ style: 'margin-right: 3%; margin-left: 3%;' }
|
||||
.description.col-xs-6.col-md-3.procedure-description
|
||||
%h4.text-info
|
||||
= @facade.procedure.libelle
|
||||
|
@ -90,10 +90,10 @@
|
|||
%br
|
||||
%br
|
||||
%h3
|
||||
=t('dynamics.admin.procedure.stats.title')
|
||||
= t('dynamics.admin.procedure.stats.title')
|
||||
|
||||
.row
|
||||
.col-xs-6{style:'margin-left:3%'}
|
||||
.col-xs-6{ style: 'margin-left: 3%;' }
|
||||
%h4 Total
|
||||
%div
|
||||
= @facade.dossiers_total
|
||||
|
@ -129,4 +129,4 @@
|
|||
- if @facade.dossiers_for_pie_highchart.blank?
|
||||
Aucune statistique pour le moment
|
||||
- else
|
||||
=pie_chart @facade.dossiers_for_pie_highchart
|
||||
= pie_chart @facade.dossiers_for_pie_highchart
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
%h4 Description
|
||||
= ff.text_area :description, class: 'form-control description', placeholder: 'Description', rows: 3
|
||||
|
||||
.form-group.drop_down_list{ class: (%w(drop_down_list multiple_drop_down_list).include?(type_champ) ? 'show_inline' : nil), style: 'margin-right: 5px' }
|
||||
.form-group.drop_down_list{ class: (%w(drop_down_list multiple_drop_down_list).include?(type_champ) ? 'show_inline' : nil), style: 'margin-right: 5px;' }
|
||||
%h4 Liste déroulante
|
||||
= ff.fields_for :drop_down_list_attributes, ff.object.object.drop_down_list do |fff|
|
||||
~ fff.text_area :value, class: 'form-control drop_down_list', placeholder: "Ecrire une valeur par ligne et --valeur-- pour un séparateur.", rows: 3, cols: 30
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
= form_for [:admin, @procedure], url: @types_de_champ_facade.url , remote: true do |f|
|
||||
= form_for [:admin, @procedure], url: @types_de_champ_facade.url, remote: true do |f|
|
||||
= render partial: 'admin/types_de_champ/fields', locals: { types_de_champ: @types_de_champ_facade.types_de_champ, f: f }
|
||||
= f.submit "Enregistrer", class: 'btn btn-success', id: :save
|
||||
%hr
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
= image_tag(image_url(LOGO_NAME))
|
||||
%br
|
||||
%h2#login_admin
|
||||
=t('dynamics.admin.connexion_title')
|
||||
= t('dynamics.admin.connexion_title')
|
||||
|
||||
%br
|
||||
%br
|
||||
#new_user
|
||||
= form_for @administrateur, url: {controller: 'administrateurs/sessions', action: :create } do |f|
|
||||
= form_for @administrateur, url: { controller: 'administrateurs/sessions', action: :create } do |f|
|
||||
%h4
|
||||
= f.label :email
|
||||
.input-group
|
||||
|
@ -25,5 +25,5 @@
|
|||
%br
|
||||
%br
|
||||
.actions
|
||||
= f.submit "Se connecter", class:'btn btn-primary'
|
||||
= f.submit "Se connecter", class: 'btn btn-primary'
|
||||
%br
|
||||
|
|
|
@ -1,19 +1,16 @@
|
|||
.container
|
||||
.mt-1
|
||||
= form_for @admin, url: {controller: 'administrations', action: :create} do |f|
|
||||
= form_for @admin, url: { controller: 'administrations', action: :create } do |f|
|
||||
.form-group.form-inline.text-center
|
||||
= f.text_field :email, placeholder: :email, class: 'form-control'
|
||||
= f.text_field :password, placeholder: :password, class: 'form-control'
|
||||
|
||||
= f.submit 'Créer un administrateur', class: 'btn btn-success', id: 'submit_new_administrateur'
|
||||
|
||||
.text-center
|
||||
=link_to 'Stats', administrations_stats_path, style: 'margin-bottom: 50px; display: block', 'data-no-turbolink': true
|
||||
|
||||
= smart_listing_render :admins
|
||||
|
||||
%br
|
||||
%br
|
||||
|
||||
.text-center
|
||||
=link_to 'Deconnexion', '/administrations/sign_out', method: :delete
|
||||
= link_to 'Deconnexion', '/administrations/sign_out', method: :delete
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
= javascript_include_tag 'https://code.highcharts.com/highcharts.js', 'chartkick'
|
||||
|
||||
.container
|
||||
.stats
|
||||
.stat-card
|
||||
%h1 Procédures créées
|
||||
= line_chart @procedures
|
||||
|
||||
.stat-card
|
||||
%h1 Dossiers créés
|
||||
= line_chart @dossiers
|
|
@ -1,10 +1,10 @@
|
|||
%div.filter_framed.panel.panel-primary{id: "#{filter_framed_id}", style:'width: 300px; height: 100px; position: absolute; top: 0; left: 0; display: none'}
|
||||
.filter_framed.panel.panel-primary{ id: "#{filter_framed_id}", style: 'width: 300px; height: 100px; position: absolute; top: 0; left: 0; display: none;' }
|
||||
.panel-heading
|
||||
= preference.libelle
|
||||
|
||||
=form_tag @facade_data_view.filter_url, {class: 'panel-body form-inline', method: :post} do
|
||||
%input.form-control.filter_input{name: "filter_input[#{preference.table_attr}]", style:'width: 69%', value: "#{preference.filter}"}
|
||||
= form_tag @facade_data_view.filter_url, { class: 'panel-body form-inline', method: :post } do
|
||||
%input.form-control.filter_input{ name: "filter_input[#{preference.table_attr}]", style: 'width: 69%;', value: "#{preference.filter}" }
|
||||
%button.btn.btn-sm.btn-success
|
||||
%i.fa.fa-check
|
||||
%div.btn.btn-sm.btn-danger.erase-filter
|
||||
.btn.btn-sm.btn-danger.erase-filter
|
||||
%i.fa.fa-remove
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
%h3
|
||||
=t('dynamics.dossiers.followers.title')
|
||||
= t('dynamics.dossiers.followers.title')
|
||||
|
||||
%br
|
||||
.row
|
||||
|
|
|
@ -8,21 +8,21 @@
|
|||
|
||||
- @facade_data_view.preference_list_dossiers_filter.each do |preference|
|
||||
- unless preference.libelle == 'Statut' || preference.libelle == 'État'
|
||||
%th{class: "col-md-#{preference.bootstrap_lg} col-lg-#{preference.bootstrap_lg}"}
|
||||
%th{ class: "col-md-#{preference.bootstrap_lg} col-lg-#{preference.bootstrap_lg}" }
|
||||
- if preference.table.to_s.include? 'champs'
|
||||
= preference.libelle
|
||||
-else
|
||||
- else
|
||||
= smart_listing.sortable preference.libelle, preference.table_attr
|
||||
- if @facade_data_view.active_filter? preference
|
||||
%i.filter.fa.fa-filter{style: "color:#{(preference.filter.blank? ? 'grey' : 'orange')}", id: "filter_#{smart_listing.name.to_s}_#{preference.table_attr.sub('.', '_')}"}
|
||||
= render partial: 'backoffice/dossiers/filter_framed', locals:{preference: preference, filter_framed_id: "framed_filter_#{smart_listing.name.to_s}_#{preference.table_attr.sub('.', '_')}"}
|
||||
%i.filter.fa.fa-filter{ style: "color: #{(preference.filter.blank? ? 'grey' : 'orange')}", id: "filter_#{smart_listing.name.to_s}_#{preference.table_attr.sub('.', '_')}" }
|
||||
= render partial: 'backoffice/dossiers/filter_framed', locals: { preference: preference, filter_framed_id: "framed_filter_#{smart_listing.name.to_s}_#{preference.table_attr.sub('.', '_')}" }
|
||||
|
||||
%th.col-xs-1.center Actions
|
||||
%th.col-xs-1.center Abonnés
|
||||
|
||||
- unless smart_listing.empty?
|
||||
- smart_listing.collection.each do |dossier|
|
||||
%tr.dossier-row{id: "tr_dossier_#{dossier.id}", 'data-dossier_url' => backoffice_dossier_url(id: dossier.id)}
|
||||
%tr.dossier-row{ id: "tr_dossier_#{dossier.id}", 'data-dossier_url' => backoffice_dossier_url(id: dossier.id) }
|
||||
- if smart_listing.name.to_s == 'follow_dossiers'
|
||||
%td.col-xs-1.center
|
||||
- total_notif = dossier.notifications.where(already_read: false).count
|
||||
|
@ -54,9 +54,9 @@
|
|||
%td.center
|
||||
- if current_gestionnaire.follow?(dossier.id)
|
||||
= link_to('Quitter'.html_safe, backoffice_dossier_follow_path(dossier_id: dossier.id), 'data-method' => :put, class: 'btn-sm btn-danger', id: "suivre_dossier_#{dossier.id}")
|
||||
-else
|
||||
- else
|
||||
= link_to('Suivre', backoffice_dossier_follow_path(dossier_id: dossier.id), 'data-method' => :put, class: 'btn-sm btn-primary', id: "suivre_dossier_#{dossier.id}")
|
||||
%td.center{style:"color: #{dossier.total_follow == 0 ? 'red' : ''}"}
|
||||
%td.center{ style: "color: #{dossier.total_follow == 0 ? 'red' : ''}" }
|
||||
= dossier.total_follow
|
||||
|
||||
= smart_listing.paginate
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
%button#pref_list_dossier_close_action.btn.btn-danger.btn-xs.fixed-right
|
||||
%i.fa.fa-close
|
||||
%h3
|
||||
=t('dynamics.backoffice.pref_list.title')
|
||||
= t('dynamics.backoffice.pref_list.title')
|
||||
|
||||
%p{style:'margin-top: 15px; margin-bottom: 20px'}
|
||||
=t('dynamics.backoffice.pref_list.description')
|
||||
%p{ style: 'margin-top: 15px; margin-bottom: 20px;' }
|
||||
= t('dynamics.backoffice.pref_list.description')
|
||||
|
||||
%h4.text-primary
|
||||
Actuelles
|
||||
|
@ -16,10 +16,10 @@
|
|||
= hidden_field_tag :pref_id, preference.id
|
||||
= hidden_field_tag :procedure_id, preference.procedure_id
|
||||
= preference.libelle
|
||||
%button.btn.btn-default.btn-xs{type: :submit, id: "delete_pref_list_#{preference[:table]}_#{preference[:attr]}"}
|
||||
%button.btn.btn-default.btn-xs{ type: :submit, id: "delete_pref_list_#{preference[:table]}_#{preference[:attr]}" }
|
||||
%i.fa.fa-minus
|
||||
|
||||
%h4.text-success{style:'margin-top: 15px'}
|
||||
%h4.text-success{ style: 'margin-top: 15px;' }
|
||||
Disponibles
|
||||
|
||||
%table
|
||||
|
@ -27,7 +27,7 @@
|
|||
- if index%2 == 0 || tables.first.to_s.include?('champs')
|
||||
%tr
|
||||
|
||||
%td.col-xs-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
|
||||
|
@ -42,5 +42,5 @@
|
|||
= hidden_field_tag :procedure_id, @facade_data_view.procedure_id
|
||||
|
||||
= columns.second[:libelle]
|
||||
%button.btn.btn-default.btn-xs{type: :submit, id: "add_pref_list_#{columns.second[:table]}_#{columns.second[:attr]}"}
|
||||
%button.btn.btn-default.btn-xs{ type: :submit, id: "add_pref_list_#{columns.second[:table]}_#{columns.second[:attr]}" }
|
||||
%i.fa.fa-plus
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
#state_description.row{style:'width: 50%; margin-left: auto; margin-right: auto'}
|
||||
#state_description.row{ style: 'width: 50%; margin-left: auto; margin-right: auto;' }
|
||||
.panel.panel-info
|
||||
.panel-body.center
|
||||
.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%'}
|
||||
.fa.fa-info-circle.text-info{ style: 'font-size: 2em; margin-top: 20%;' }
|
||||
.col-xs-11
|
||||
-if dossiers_list_facade.liste == 'nouveaux'
|
||||
- if dossiers_list_facade.liste == 'nouveaux'
|
||||
Tous les dossiers présents dans cette liste sont ceux qui
|
||||
%b
|
||||
n'ont jamais été ouvert par votre service.
|
||||
Il attende une première lecture et intervention de votre part.
|
||||
-elsif dossiers_list_facade.liste == 'a_traiter'
|
||||
- elsif dossiers_list_facade.liste == 'a_traiter'
|
||||
Tous les dossiers présents dans cette liste sont ceux qui sont
|
||||
%b
|
||||
en cours de construction avec l'usager.
|
||||
Ils ne sont pas figés et ne sont donc pas complets.
|
||||
-elsif dossiers_list_facade.liste == 'fige'
|
||||
- elsif dossiers_list_facade.liste == 'fige'
|
||||
Tous les dossiers présents dans cette liste ont été déclarés
|
||||
%b
|
||||
complets
|
||||
|
@ -23,14 +23,14 @@
|
|||
%b
|
||||
plus modifiables par l'usager.
|
||||
Ils attendent donc leurs dépots officiels qui doit être effectué par l'usager.
|
||||
-elsif dossiers_list_facade.liste == 'deposes'
|
||||
- elsif dossiers_list_facade.liste == 'deposes'
|
||||
Tous les dossiers présents dans cette liste ont été
|
||||
%b
|
||||
officiellement déposé par l'usager pour examen.
|
||||
Il faut donc que vous confirmiez par "accusé de réception" la bonne réception de toutes les informations et documents demandés avant examen final.
|
||||
-elsif dossiers_list_facade.liste == 'a_instruire'
|
||||
- elsif dossiers_list_facade.liste == 'a_instruire'
|
||||
Tous les dossiers présents dans cette liste sont à instruire. Ceux sont tous les dossiers
|
||||
%b
|
||||
qui ont reçu bonne réception.
|
||||
-elsif dossiers_list_facade.liste == 'termine'
|
||||
- elsif dossiers_list_facade.liste == 'termine'
|
||||
Tous les dossiers présents dans cette liste sont considérés comme cloturé car ils ont tous reçu un verdict final qui peut être "Validé", "Refusé" ou "Sans suite".
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
|
||||
.row.center
|
||||
.col-xs-3
|
||||
=link_to 'Tous les états', '?liste=all_state', class: 'text-info', style:"text-decoration: #{@facade_data_view.liste == 'all_state'? 'underline' : ''}"
|
||||
= link_to 'Tous les états', '?liste=all_state', class: 'text-info', style: "text-decoration: #{@facade_data_view.liste == 'all_state'? 'underline' : ''}"
|
||||
.col-xs-3
|
||||
=link_to 'En construction', '?liste=a_traiter', class: 'text-danger', style:"text-decoration: #{@facade_data_view.liste == 'a_traiter'? 'underline' : ''}"
|
||||
= link_to 'En construction', '?liste=a_traiter', class: 'text-danger', style: "text-decoration: #{@facade_data_view.liste == 'a_traiter'? 'underline' : ''}"
|
||||
.col-xs-3
|
||||
=link_to 'En instruction', '?liste=a_instruire', class: 'text-warning', style:"text-decoration: #{@facade_data_view.liste == 'a_instruire'? 'underline' : ''}"
|
||||
= link_to 'En instruction', '?liste=a_instruire', class: 'text-warning', style: "text-decoration: #{@facade_data_view.liste == 'a_instruire'? 'underline' : ''}"
|
||||
.col-xs-3
|
||||
=link_to 'Terminés', '?liste=termine', class: 'text-success', style:"text-decoration: #{@facade_data_view.liste == 'termine'? 'underline' : ''}"
|
||||
= link_to 'Terminés', '?liste=termine', class: 'text-success', style: "text-decoration: #{@facade_data_view.liste == 'termine'? 'underline' : ''}"
|
||||
|
||||
.default_data_block.default_visible
|
||||
.row.show-block#follow_dossiers
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
= 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
|
||||
.row.show-block#new_dossiers
|
||||
.header
|
||||
.col-lg-10.col-md-10.col-sm-10.col-xs-10.title
|
||||
.carret-right
|
||||
.carret-down
|
||||
Résultat de la recherche
|
||||
%div.col-lg-2.col-md-2.col-sm-2.col-xs-2.count
|
||||
=@dossiers.count
|
||||
.col-lg-2.col-md-2.col-sm-2.col-xs-2.count
|
||||
= @dossiers.count
|
||||
dossiers
|
||||
%div.body
|
||||
.body
|
||||
= smart_listing_render :search
|
||||
|
|
|
@ -41,14 +41,14 @@
|
|||
%br
|
||||
%h3#object_website
|
||||
Object du site internet
|
||||
%a{:href => "https://tps.apientreprise.fr/"}
|
||||
%a{ :href => "https://tps.apientreprise.fr/" }
|
||||
%strong tps.apientreprise.fr
|
||||
%p
|
||||
Le site internet tps.apientreprise.fr a pour objet de faciliter la création de démarches administratives en ligne par les acteurs publics, et l’examen par plusieurs services des demandes formulées par les usagers auprès d’un ou organismes publics.
|
||||
%br
|
||||
%h3#acteurs
|
||||
Acteurs de
|
||||
%a{:href => "https://tps.apientreprise.fr/"}
|
||||
%a{ :href => "https://tps.apientreprise.fr/" }
|
||||
TPS
|
||||
%p Les acteurs de TPS sont les suivants :
|
||||
%ul
|
||||
|
@ -64,7 +64,7 @@
|
|||
%li N° de sécurité sociale,
|
||||
%li Infractions, condamnations, mesures de sécurité,
|
||||
%li
|
||||
%a{:href => "https://www.declaration.cnil.fr/declarations/declaration/donneesSensibles_DN.display.action"} Opinions philosophiques, politiques, religieuses, syndicales, vie sexuelle, données de santé, origine raciale.
|
||||
%a{ :href => "https://www.declaration.cnil.fr/declarations/declaration/donneesSensibles_DN.display.action" } Opinions philosophiques, politiques, religieuses, syndicales, vie sexuelle, données de santé, origine raciale.
|
||||
%br
|
||||
%h3#data_collects
|
||||
Données collectées et responsabilité des organismes publics à l’initiative de démarches en ligne avec TPS.
|
||||
|
@ -78,7 +78,7 @@
|
|||
%h4 Données personnelles :
|
||||
%p
|
||||
En application de la loi n°78-17 Informatique et Libertés du 6 janvier 1978, vous disposez d'un droit d'accès, de rectification, de modification et de suppression concernant les données qui vous concernent. Vous pouvez exercer ce droit à travers la rubrique
|
||||
%a{:href => "http://www.faire-simple.gouv.fr/contact"} Contact
|
||||
%a{ :href => "http://www.faire-simple.gouv.fr/contact" } Contact
|
||||
%h4 Données de connexion :
|
||||
%p Conformément à la loi n°2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique, certaines données de connexion sont conservées par le service aux fins de protection contre les intrusions et de poursuites judiciaires le cas échéant. Ces données sont conservées pendant un an.
|
||||
|
||||
|
@ -97,9 +97,9 @@
|
|||
%br/
|
||||
Tél. : 01 41 17 50 50
|
||||
%p
|
||||
%a{:href => "http://www.insee.fr/fr/bases-de-donnees/default.asp?page=sirene.htm"} Informations de la base SIRENE
|
||||
%a{ :href => "http://www.insee.fr/fr/bases-de-donnees/default.asp?page=sirene.htm" } Informations de la base SIRENE
|
||||
%br/
|
||||
%a{:href => "http://www.sirene.fr/sirene/public/static/mentions-legales"} Condition légales d’utilisation de service SIRENE
|
||||
%a{ :href => "http://www.sirene.fr/sirene/public/static/mentions-legales" } Condition légales d’utilisation de service SIRENE
|
||||
%br
|
||||
%h4 INFOGREFFE :
|
||||
%p
|
||||
|
@ -112,9 +112,9 @@
|
|||
94300 VINCENNES
|
||||
%p
|
||||
Les informations transmises aux autorités publiques en charges de l’examen de dossiers de candidature sont définis par le service en ligne suivant proposé aux internautes :
|
||||
%a{:href => "https://www.infogreffe.fr/societes/documents-officiels/demande-kbis.html"} https://www.infogreffe.fr/societes/documents-officiels/demande-kbis.html
|
||||
%a{ :href => "https://www.infogreffe.fr/societes/documents-officiels/demande-kbis.html" } https://www.infogreffe.fr/societes/documents-officiels/demande-kbis.html
|
||||
%p
|
||||
%a{:href => "https://www.infogreffe.fr/societes/cgu-cgv.html"} Conditions générales d’utilisation des données d’infogreffe
|
||||
%a{ :href => "https://www.infogreffe.fr/societes/cgu-cgv.html" } Conditions générales d’utilisation des données d’infogreffe
|
||||
|
||||
%br
|
||||
%h4 TPS fait appel à d’autres services opérés par le SGMAP afin de faciliter les démarches administratives :
|
||||
|
@ -122,18 +122,18 @@
|
|||
%p
|
||||
%strong> France CONNECT
|
||||
\ : informations complémentaires :
|
||||
%a{:href => "https://franceconnect.gouv.fr/"} https://franceconnect.gouv.fr/
|
||||
%a{ :href => "https://franceconnect.gouv.fr/" } https://franceconnect.gouv.fr/
|
||||
%p
|
||||
%strong La base d’adresse nationale :
|
||||
%a{:href => "https://adresse.data.gouv.fr/"} https://adresse.data.gouv.fr/
|
||||
%a{ :href => "https://adresse.data.gouv.fr/" } https://adresse.data.gouv.fr/
|
||||
%p
|
||||
%strong TPS est un service de l’Etat Plateforme :
|
||||
|
||||
%a{:href => "http://etatplateforme.modernisation.gouv.fr/"} http://etatplateforme.modernisation.gouv.fr/
|
||||
%a{ :href => "http://etatplateforme.modernisation.gouv.fr/" } http://etatplateforme.modernisation.gouv.fr/
|
||||
%p
|
||||
%strong Il met en œuvre les principes définis par le programme « Dites-le nous une fois »
|
||||
%p
|
||||
%a{:href => "http://www.modernisation.gouv.fr/les-services-publics-se-simplifient-et-innovent/par-des-simplifications-pour-les-entreprises/dites-le-nous-une-fois-un-programme-pour-simplifier-la-vie-des-entreprises"} http://www.modernisation.gouv.fr/les-services-publics-se-simplifient-et-innovent/par-des-simplifications-pour-les-entreprises/dites-le-nous-une-fois-un-programme-pour-simplifier-la-vie-des-entreprises
|
||||
%a{ :href => "http://www.modernisation.gouv.fr/les-services-publics-se-simplifient-et-innovent/par-des-simplifications-pour-les-entreprises/dites-le-nous-une-fois-un-programme-pour-simplifier-la-vie-des-entreprises" } http://www.modernisation.gouv.fr/les-services-publics-se-simplifient-et-innovent/par-des-simplifications-pour-les-entreprises/dites-le-nous-une-fois-un-programme-pour-simplifier-la-vie-des-entreprises
|
||||
%br
|
||||
%h3#reproduction
|
||||
Droit de reproduction :
|
||||
|
@ -143,7 +143,7 @@
|
|||
%p L’autorisation de création de liens est valable pour tout support, à l’exception de ceux diffusant des informations à caractère raciste, pornographique, xénophobe ou pouvant porter atteinte à la sensibilité du plus grand nombre.
|
||||
%p
|
||||
La rubrique
|
||||
%a{:href => "http://www.faire-simple.gouv.fr/contact"} Contactez-nous
|
||||
%a{ :href => "http://www.faire-simple.gouv.fr/contact" } Contactez-nous
|
||||
est à votre disposition pour nous faire part de vos remarques et suggestions.
|
||||
%br
|
||||
%h3#propriete_intellectuelle
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
%br
|
||||
%div{style: 'text-align: center; max-width:500px; margin-left:auto; margin-right:auto; padding: 20px;'}
|
||||
%div{ style: 'text-align: center; max-width: 500px; margin-left: auto; margin-right: auto; padding: 20px;' }
|
||||
= render partial: 'users/sessions/resume_procedure'
|
||||
|
||||
.center{style:'margin-top: -20px'}
|
||||
.center{ style: 'margin-top: -20px;' }
|
||||
%h3
|
||||
La campagne de création de nouveau dossier
|
||||
%br
|
||||
|
@ -11,5 +11,5 @@
|
|||
%br
|
||||
%p
|
||||
Si vous avez déjà déposé un ou plusieurs dossiers :
|
||||
%a.btn.btn-lg.btn-info{href: new_user_session_path}
|
||||
%a.btn.btn-lg.btn-info{ href: new_user_session_path }
|
||||
Accéder à mon espace en ligne.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- unless smart_listing.empty?
|
||||
%table.table
|
||||
%tr
|
||||
%th{colspan: 4}
|
||||
%th{ colspan: 4 }
|
||||
%h4 Lien vers les procédures TPS
|
||||
%tr
|
||||
%th= smart_listing.sortable 'ID', 'id'
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
%tr
|
||||
%td= file.user.nil? ? 'Accompagnateur' : file.user.email
|
||||
%td= file.created_at.localtime
|
||||
%td= link_to file.original_filename, file.content_url, style:'color: green', target: '_blank'
|
||||
%td= link_to file.original_filename, file.content_url, style: 'color: green;', target: '_blank'
|
||||
- else
|
||||
%h4.text-primary
|
||||
Pas de fichier dans le flux de commentaires.
|
||||
|
|
|
@ -2,66 +2,66 @@
|
|||
|
||||
- if @facade.procedure.individual_with_siret
|
||||
.default_data_block
|
||||
%div.row.show-block.infos
|
||||
%div.header
|
||||
%div.col-xs-8.title-no-expanse
|
||||
%div.carret-right
|
||||
.row.show-block.infos
|
||||
.header
|
||||
.col-xs-8.title-no-expanse
|
||||
.carret-right
|
||||
INFORMATIONS DU DEMANDEUR
|
||||
- if !@current_gestionnaire && ["draft", "updated", "replied", "initiated"].include?(@facade.dossier.state)
|
||||
%a#add_siret.action{href: users_dossier_add_siret_path(dossier_id: @facade.dossier.id)}
|
||||
%div.col-lg-4.col-md-4.col-sm-4.col-xs-4.action
|
||||
= "Renseigner un SIRET"
|
||||
%a#add_siret.action{ href: users_dossier_add_siret_path(dossier_id: @facade.dossier.id) }
|
||||
.col-lg-4.col-md-4.col-sm-4.col-xs-4.action
|
||||
Renseigner un SIRET
|
||||
|
||||
- unless @facade.entreprise.nil?
|
||||
.default_data_block
|
||||
%div.row.show-block.infos#infos_entreprise
|
||||
%div.header
|
||||
%div.col-xs-12.title
|
||||
%div.carret-right
|
||||
%div.carret-down
|
||||
.row.show-block.infos#infos_entreprise
|
||||
.header
|
||||
.col-xs-12.title
|
||||
.carret-right
|
||||
.carret-down
|
||||
INFORMATIONS DU DEMANDEUR
|
||||
%div.body.display-block-on-print
|
||||
.body.display-block-on-print
|
||||
= render partial: '/dossiers/infos_entreprise'
|
||||
|
||||
.default_data_block.default_visible
|
||||
%div.row.show-block.infos#infos_dossier
|
||||
%div.header
|
||||
%div.col-xs-10.title
|
||||
%div.carret-right
|
||||
%div.carret-down
|
||||
.row.show-block.infos#infos_dossier
|
||||
.header
|
||||
.col-xs-10.title
|
||||
.carret-right
|
||||
.carret-down
|
||||
CONSTRUCTION DU DOSSIER
|
||||
= render partial: '/dossiers/edit_dossier'
|
||||
%div.body.display-block-on-print
|
||||
.body.display-block-on-print
|
||||
= render partial: '/dossiers/infos_dossier'
|
||||
|
||||
- if @facade.dossier.procedure.module_api_carto.use_api_carto
|
||||
.default_data_block.default_visible.no-page-break-inside
|
||||
%div.row.show-block#carto
|
||||
%div.header
|
||||
%div.col-xs-10.title
|
||||
%div.carret-right
|
||||
%div.carret-down
|
||||
.row.show-block#carto
|
||||
.header
|
||||
.col-xs-10.title
|
||||
.carret-right
|
||||
.carret-down
|
||||
CARTOGRAPHIE
|
||||
= render partial: '/dossiers/edit_carto'
|
||||
%div.body.display-block-on-print
|
||||
%input{id: 'json_latlngs', type: 'hidden', value: "#{@facade.dossier.json_latlngs}", name: 'json_latlngs'}
|
||||
%input{id: 'quartier_prioritaires', type: 'hidden', value: "#{@facade.dossier.quartier_prioritaires.to_json}"}
|
||||
%input{id: 'cadastres', type: 'hidden', value: "#{@facade.dossier.cadastres.to_json}"}
|
||||
.body.display-block-on-print
|
||||
%input{ id: 'json_latlngs', type: 'hidden', value: "#{@facade.dossier.json_latlngs}", name: 'json_latlngs' }
|
||||
%input{ id: 'quartier_prioritaires', type: 'hidden', value: "#{@facade.dossier.quartier_prioritaires.to_json}" }
|
||||
%input{ id: 'cadastres', type: 'hidden', value: "#{@facade.dossier.cadastres.to_json}" }
|
||||
|
||||
= render partial: '/users/carte/map', locals: {dossier: @facade.dossier}
|
||||
= render partial: 'users/carte/init_carto', locals: {dossier: @facade.dossier}
|
||||
= render partial: '/users/carte/map', locals: { dossier: @facade.dossier }
|
||||
= render partial: 'users/carte/init_carto', locals: { dossier: @facade.dossier }
|
||||
|
||||
|
||||
- if @current_gestionnaire && gestionnaire_signed_in? && @champs_private.count > 0
|
||||
.default_data_block.default_visible
|
||||
%div.row.show-block#private-fields
|
||||
%div.header
|
||||
%div.col-xs-10.title
|
||||
%div.carret-right
|
||||
%div.carret-down
|
||||
.row.show-block#private-fields
|
||||
.header
|
||||
.col-xs-10.title
|
||||
.carret-right
|
||||
.carret-down
|
||||
= "formulaire privé".upcase
|
||||
%div.col-xs-2.count
|
||||
.col-xs-2.count
|
||||
- private_fields_count = @champs_private.count
|
||||
= (private_fields_count == 1) ? "1 champ" : "#{private_fields_count} champs"
|
||||
%div.body
|
||||
.body
|
||||
= render partial: '/dossiers/infos_private_fields'
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
%span.caret
|
||||
%ul.dropdown-menu.dropdown-menu-right
|
||||
%li
|
||||
= link_to backoffice_download_dossiers_tps_path(format: :csv, procedure_id: params[:id]), { class: 'btn btn-sm export-link' } do
|
||||
= link_to backoffice_download_dossiers_tps_path(format: :csv, procedure_id: params[:id]), { class: 'btn btn-sm export-link' } do
|
||||
= t('dynamics.backoffice.format_csv')
|
||||
%li
|
||||
= link_to backoffice_download_dossiers_tps_path(format: :xlsx, procedure_id: params[:id]), { class: 'btn btn-sm export-link' } do
|
||||
= t('dynamics.backoffice.format_xlsx')
|
||||
%li
|
||||
= link_to backoffice_download_dossiers_tps_path(format: :ods, procedure_id: params[:id]), { class: 'btn btn-sm export-link' } do
|
||||
= link_to backoffice_download_dossiers_tps_path(format: :ods, procedure_id: params[:id]), { class: 'btn btn-sm export-link' } do
|
||||
= t('dynamics.backoffice.format_ods')
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- unless @facade.dossier.read_only?
|
||||
- if user_signed_in? && (@facade.dossier.owner?(current_user.email) || @facade.dossier.invite_by_user?(current_user.email))
|
||||
%a#maj_carte.action{href: "/users/dossiers/#{@facade.dossier.id}/carte"}
|
||||
%div.col-lg-2.col-md-2.col-sm-2.col-xs-2.action
|
||||
%a#maj_carte.action{ href: "/users/dossiers/#{@facade.dossier.id}/carte" }
|
||||
.col-lg-2.col-md-2.col-sm-2.col-xs-2.action
|
||||
= 'éditer'.upcase
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- unless @facade.dossier.read_only?
|
||||
- if user_signed_in? && (@facade.dossier.owner?(current_user.email) || @facade.dossier.invite_by_user?(current_user.email))
|
||||
%a#maj_infos.action{href: "/users/dossiers/#{@facade.dossier.id}/description"}
|
||||
%a#maj_infos.action{ href: "/users/dossiers/#{@facade.dossier.id}/description" }
|
||||
%div#edit-dossier.col-lg-2.col-md-2.col-sm-2.col-xs-2.action
|
||||
= "éditer".upcase
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
- unless @facade.dossier.read_only?
|
||||
- if user_signed_in? && (@facade.dossier.owner?(current_user.email) || @facade.dossier.invite_by_user?(current_user.email))
|
||||
- if @facade.procedure.cerfa_flag? || @facade.dossier.types_de_piece_justificative.size > 0
|
||||
%div.col-lg-4.col-md-4.col-sm-4.col-xs-4.action
|
||||
%a#maj_pj.action{"data-target" => "#UploadPJmodal",
|
||||
.col-lg-4.col-md-4.col-sm-4.col-xs-4.action
|
||||
%a#maj_pj.action{ "data-target" => "#UploadPJmodal",
|
||||
"data-toggle" => "modal",
|
||||
:type => "button",
|
||||
style: 'margin-bottom: 15px; margin-top: -30px'}
|
||||
style: 'margin-bottom: 15px; margin-top: -30px;' }
|
||||
Modifier les documents
|
||||
%br
|
||||
= render partial: 'users/recapitulatif/modal_upload_pj'
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
.row
|
||||
.col-xs-12
|
||||
#map.mini{class: @facade.dossier.procedure.module_api_carto.classes}
|
||||
#map.mini{ class: @facade.dossier.procedure.module_api_carto.classes }
|
||||
|
||||
%input{id: 'json_latlngs', type:'hidden', value: "#{@facade.dossier.json_latlngs}"}
|
||||
%input{id: 'quartier_prioritaires', type:'hidden', value: "#{@facade.dossier.quartier_prioritaires.to_json}"}
|
||||
%input{id: 'cadastres', type:'hidden', value: "#{@facade.dossier.cadastres.to_json}"}
|
||||
%input{ id: 'json_latlngs', type: 'hidden', value: "#{@facade.dossier.json_latlngs}" }
|
||||
%input{ id: 'quartier_prioritaires', type: 'hidden', value: "#{@facade.dossier.quartier_prioritaires.to_json}" }
|
||||
%input{ id: 'cadastres', type: 'hidden', value: "#{@facade.dossier.cadastres.to_json}" }
|
||||
|
||||
%script{type: 'text/javascript'}
|
||||
%script{ type: 'text/javascript' }
|
||||
= "var dossier_id =#{@facade.dossier.id}"
|
||||
initCarto();
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
%div.row
|
||||
.row
|
||||
.col-xs-12
|
||||
- if @facade.procedure.for_individual?
|
||||
.row.title-row
|
||||
%div.col-xs-4.split-hr
|
||||
%div.col-xs-4.dossier-title= t('utils.depositaire').upcase
|
||||
%div.col-xs-4.split-hr
|
||||
.col-xs-4.split-hr
|
||||
.col-xs-4.dossier-title= t('utils.depositaire').upcase
|
||||
.col-xs-4.split-hr
|
||||
.row
|
||||
%div.col-xs-6.depositaire-label Civilité
|
||||
%div.col-xs-1.comments-off= "-"
|
||||
%div.col-xs-5.depositaire-info= @facade.individual.gender
|
||||
.col-xs-6.depositaire-label Civilité
|
||||
.col-xs-1.comments-off= "-"
|
||||
.col-xs-5.depositaire-info= @facade.individual.gender
|
||||
.row
|
||||
%div.col-xs-6.depositaire-label Nom
|
||||
%div.col-xs-1.comments-off= "-"
|
||||
%div.col-xs-5.depositaire-info= @facade.individual.nom
|
||||
.col-xs-6.depositaire-label Nom
|
||||
.col-xs-1.comments-off= "-"
|
||||
.col-xs-5.depositaire-info= @facade.individual.nom
|
||||
.row
|
||||
%div.col-xs-6.depositaire-label Prénom
|
||||
%div.col-xs-1.comments-off= "-"
|
||||
%div.col-xs-5.despositaire-info= @facade.individual.prenom
|
||||
.col-xs-6.depositaire-label Prénom
|
||||
.col-xs-1.comments-off= "-"
|
||||
.col-xs-5.despositaire-info= @facade.individual.prenom
|
||||
.row
|
||||
%div.col-xs-6.depositaire-label Date de naissance
|
||||
%div.col-xs-1.comments-off= "-"
|
||||
%div.col-xs-5.depositaire-info= @facade.individual.birthdate
|
||||
.col-xs-6.depositaire-label Date de naissance
|
||||
.col-xs-1.comments-off= "-"
|
||||
.col-xs-5.depositaire-info= @facade.individual.birthdate
|
||||
.row.margin-top-20
|
||||
|
||||
- unless @facade.champs.nil?
|
||||
|
@ -28,32 +28,39 @@
|
|||
- next if champ.type_champ == 'explication'
|
||||
- if champ.type_champ == 'header_section'
|
||||
.row.title-row.margin-top-40
|
||||
%div.col-xs-3.split-hr
|
||||
%div.col-xs-6.dossier-title= champ.libelle.upcase
|
||||
%div.col-xs-3.split-hr
|
||||
.col-xs-3.split-hr
|
||||
.col-xs-6.dossier-title= champ.libelle.upcase
|
||||
.col-xs-3.split-hr
|
||||
- else
|
||||
.row
|
||||
%div.col-xs-6.depositaire-label= champ.libelle
|
||||
%div.col-md-1.col-lg-1.col-sm-1.col-xs-1.comments-off
|
||||
.col-xs-6.depositaire-label= champ.libelle
|
||||
.col-xs-1.comments-off
|
||||
= "-"
|
||||
%div.col-xs-5.depositaire-info{ id: "champ-#{champ.id}-value" }
|
||||
.col-xs-5.depositaire-info{ id: "champ-#{champ.id}-value" }
|
||||
- unless champ.decorate.value.blank?
|
||||
= champ.decorate.value.html_safe
|
||||
- if champ.type_champ == 'dossier_link'
|
||||
- dossier = Dossier.find_by(id: champ.decorate.value)
|
||||
- if dossier && gestionnaire_signed_in?
|
||||
= link_to(dossier.procedure.libelle, backoffice_dossier_path(champ.decorate.value), target: '_blank')
|
||||
- else
|
||||
= dossier.nil? ? 'pas de dossier associé' : dossier.procedure.libelle
|
||||
- else
|
||||
= champ.decorate.value.html_safe
|
||||
|
||||
- if @facade.dossier.mandataire_social && gestionnaire_signed_in?
|
||||
.mandataire_social.text-success.center
|
||||
%br
|
||||
="Il est probable que le soumissionnaire du dossier soit un des mandataire social de l'entreprise ("
|
||||
Il est probable que le soumissionnaire du dossier soit un des mandataire social de l'entreprise (
|
||||
%b
|
||||
="#{@facade.dossier.user.given_name} #{@facade.dossier.user.family_name}"
|
||||
=")"
|
||||
%div.row
|
||||
= "#{@facade.dossier.user.given_name} #{@facade.dossier.user.family_name}"
|
||||
)
|
||||
.row
|
||||
- if @facade.procedure.cerfa_flag? || @facade.dossier.types_de_piece_justificative.count > 0
|
||||
.col-xs-12
|
||||
.row.title-row
|
||||
%div.col-xs-4.split-hr
|
||||
%div.col-xs-4.dossier-title= t('utils.pieces').upcase
|
||||
%div.col-xs-4.split-hr
|
||||
.col-xs-4.split-hr
|
||||
.col-xs-4.dossier-title= t('utils.pieces').upcase
|
||||
.col-xs-4.split-hr
|
||||
|
||||
.col-xs-12#pieces_justificatives.margin-bot-40
|
||||
.row
|
||||
|
@ -65,39 +72,39 @@
|
|||
.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'}
|
||||
%span{ style: 'margin-left: 12px;' }
|
||||
\-
|
||||
= link_to "", class: "historique", "data-toggle" => "modal", "data-target" => "#PJmodal", :type => "button", "data-modal_title" => 'formulaires', "data-modal_index" => 'cerfa' do
|
||||
%span.fa.fa-clock-o
|
||||
- else
|
||||
= 'Pièce non fournie'
|
||||
Pièce non fournie
|
||||
.row
|
||||
.col-xs-12
|
||||
- @facade.types_de_pieces_justificatives.each do |type_de_piece_justificative|
|
||||
.row.piece-row
|
||||
.col-xs-12{ id: "piece_justificative_#{type_de_piece_justificative.id}" }
|
||||
.row
|
||||
%div.col-xs-6.depositaire-label= type_de_piece_justificative.libelle
|
||||
%div.col-xs-1.comments-off= "-"
|
||||
%div.col-xs-5.despositaire-info
|
||||
.col-xs-6.depositaire-label= type_de_piece_justificative.libelle
|
||||
.col-xs-1.comments-off= "-"
|
||||
.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?
|
||||
%a{ href: "#{@pj.content_url}", target: '_blank' } Consulter
|
||||
%span{style:'margin-left:12px'}
|
||||
%span{ style: 'margin-left: 12px;' }
|
||||
\-
|
||||
- if @facade.dossier.pieces_justificatives.where(type_de_piece_justificative_id: type_de_piece_justificative.id).count > 1
|
||||
= link_to "", class: "historique", "data-toggle" => "modal", "data-target" => "#PJmodal", :type => "button", "data-modal_title" => 'formulaires', "data-modal_index" => "type_de_pj_#{type_de_piece_justificative.id}" do
|
||||
%span.fa.fa-clock-o
|
||||
- else
|
||||
= 'Pièce non fournie'
|
||||
Pièce non fournie
|
||||
|
||||
- unless @facade.dossier.read_only?
|
||||
- if user_signed_in? && (@facade.dossier.owner?(current_user.email) || @facade.dossier.invite_by_user?(current_user.email))
|
||||
- if @facade.procedure.cerfa_flag? || @facade.dossier.types_de_piece_justificative.size > 0
|
||||
.row
|
||||
.col-xs-4
|
||||
%a#maj_pj.action{"data-target" => "#UploadPJmodal", "data-toggle" => "modal", :type => "button"}
|
||||
%a#maj_pj.action{ "data-target" => "#UploadPJmodal", "data-toggle" => "modal", :type => "button" }
|
||||
.col-xs-4.action
|
||||
Modifier les documents
|
||||
%br
|
||||
|
@ -105,12 +112,12 @@
|
|||
.col-xs-4
|
||||
|
||||
- if gestionnaire_signed_in?
|
||||
#PJmodal.modal.fade{"aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1"}
|
||||
.modal-dialog.modal-lg{:role => "document"}
|
||||
#PJmodal.modal.fade{ "aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1" }
|
||||
.modal-dialog.modal-lg{ :role => "document" }
|
||||
.modal-content
|
||||
.modal-header
|
||||
%button.close{"aria-label" => "Close", "data-dismiss" => "modal", :type => "button"}
|
||||
%span{"aria-hidden" => "true"} ×
|
||||
%button.close{ "aria-label" => "Close", "data-dismiss" => "modal", :type => "button" }
|
||||
%span{ "aria-hidden" => "true" } ×
|
||||
%h4#myModalLabel.modal-title
|
||||
Historique des
|
||||
%span#PJmodal_title
|
||||
|
@ -124,7 +131,7 @@
|
|||
%th
|
||||
Lien
|
||||
%thead.tr_content#cerfa
|
||||
-if @facade.procedure.cerfa_flag?
|
||||
- if @facade.procedure.cerfa_flag?
|
||||
- if @facade.dossier.cerfa_available?
|
||||
- @facade.cerfas_ordered.each do |cerfa|
|
||||
%tr
|
||||
|
@ -133,9 +140,9 @@
|
|||
%td.col-md-6.col-sm-6.col-xs-6.col-lg-4
|
||||
= cerfa.created_at
|
||||
%td.col-md-6.col-sm-6.col-xs-6.col-lg-4
|
||||
=link_to 'Récupérer', cerfa.content_url, {target: :blank}
|
||||
= link_to 'Récupérer', cerfa.content_url, { target: :blank }
|
||||
- @facade.dossier.types_de_piece_justificative.each do |type_de_piece_justificative|
|
||||
%tbody.tr_content{id: "type_de_pj_#{type_de_piece_justificative.id}"}
|
||||
%tbody.tr_content{ id: "type_de_pj_#{type_de_piece_justificative.id}" }
|
||||
- @facade.dossier.retrieve_all_piece_justificative_by_type(type_de_piece_justificative.id).each do |piece_justificative|
|
||||
%tr
|
||||
%td.col-md-6.col-sm-6.col-xs-6.col-lg-4
|
||||
|
@ -143,15 +150,15 @@
|
|||
%td.col-md-6.col-sm-6.col-xs-6.col-lg-4
|
||||
= piece_justificative.created_at
|
||||
%td.col-md-6.col-sm-6.col-xs-6.col-lg-4
|
||||
=link_to 'Récupérer', piece_justificative.content_url, {target: :blank}
|
||||
= link_to 'Récupérer', piece_justificative.content_url, { target: :blank }
|
||||
.modal-footer
|
||||
|
||||
#modalCommentairesDossierParChamp.modal.fade{"tabindex" => -1, "role" => "dialog"}
|
||||
.modal-dialog{"role" => "document"}
|
||||
#modalCommentairesDossierParChamp.modal.fade{ "tabindex" => -1, "role" => "dialog" }
|
||||
.modal-dialog{ "role" => "document" }
|
||||
.modal-content
|
||||
.modal-header
|
||||
%button.close{"data-dismiss" => "modal", "aria-label" => "Fermer"}
|
||||
%span{"aria-hidden" => true}
|
||||
%button.close{ "data-dismiss" => "modal", "aria-label" => "Fermer" }
|
||||
%span{ "aria-hidden" => true }
|
||||
×
|
||||
.modal-title
|
||||
Commentaires
|
||||
|
@ -159,5 +166,5 @@
|
|||
%p
|
||||
Chargement des commentaires en cours...
|
||||
.modal-footer
|
||||
%button.btn.btn-primary{"data-dismiss" => "modal"}
|
||||
%button.btn.btn-primary{ "data-dismiss" => "modal" }
|
||||
Fermer
|
||||
|
|
|
@ -2,51 +2,51 @@
|
|||
%h4
|
||||
= @facade.entreprise.raison_sociale_or_name
|
||||
.row.split-row
|
||||
%div.col-xs-12.split-hr
|
||||
%div.row
|
||||
.col-xs-12.split-hr
|
||||
.row
|
||||
.col-xs-12
|
||||
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Siret :
|
||||
%div.col-xs-8.entreprise-info= @facade.etablissement.siret
|
||||
.col-xs-4.entreprise-label Siret :
|
||||
.col-xs-8.entreprise-info= @facade.etablissement.siret
|
||||
- if @facade.etablissement.siret != @facade.entreprise.siret_siege_social
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label SIRET siège social :
|
||||
%div.col-xs-8.entreprise-info= @facade.entreprise.siret_siege_social
|
||||
.col-xs-4.entreprise-label SIRET siège social :
|
||||
.col-xs-8.entreprise-info= @facade.entreprise.siret_siege_social
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Forme juridique :
|
||||
%div.col-xs-8.entreprise-info= @facade.entreprise.forme_juridique
|
||||
.col-xs-4.entreprise-label Forme juridique :
|
||||
.col-xs-8.entreprise-info= @facade.entreprise.forme_juridique
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Libellé naf :
|
||||
%div.col-xs-8.entreprise-info= @facade.etablissement.libelle_naf
|
||||
.col-xs-4.entreprise-label Libellé naf :
|
||||
.col-xs-8.entreprise-info= @facade.etablissement.libelle_naf
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Code naf :
|
||||
%div.col-xs-8.entreprise-info= @facade.etablissement.naf
|
||||
.col-xs-4.entreprise-label Code naf :
|
||||
.col-xs-8.entreprise-info= @facade.etablissement.naf
|
||||
.row
|
||||
%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"
|
||||
.col-xs-4.entreprise-label Date de création :
|
||||
.col-xs-8.entreprise-info= Time.at(@facade.entreprise.date_creation).strftime "%d-%m-%Y"
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Effectif organisation :
|
||||
%div.col-xs-8.entreprise-info= @facade.entreprise.effectif
|
||||
.col-xs-4.entreprise-label Effectif organisation :
|
||||
.col-xs-8.entreprise-info= @facade.entreprise.effectif
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Code effectif :
|
||||
%div.col-xs-8.entreprise-info= @facade.entreprise.code_effectif_entreprise
|
||||
.col-xs-4.entreprise-label Code effectif :
|
||||
.col-xs-8.entreprise-info= @facade.entreprise.code_effectif_entreprise
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Numéro TVA intracommunautaire :
|
||||
%div.col-xs-8.entreprise-info= @facade.entreprise.numero_tva_intracommunautaire
|
||||
.col-xs-4.entreprise-label Numéro TVA intracommunautaire :
|
||||
.col-xs-8.entreprise-info= @facade.entreprise.numero_tva_intracommunautaire
|
||||
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Adresse :
|
||||
%div.col-xs-8.entreprise-info
|
||||
.col-xs-4.entreprise-label Adresse :
|
||||
.col-xs-8.entreprise-info
|
||||
- @facade.etablissement.adresse.split("\n").each do |line|
|
||||
= line
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Capital social :
|
||||
%div.col-xs-8.entreprise-info= @facade.entreprise.pretty_capital_social
|
||||
.col-xs-4.entreprise-label Capital social :
|
||||
.col-xs-8.entreprise-info= @facade.entreprise.pretty_capital_social
|
||||
|
||||
.row
|
||||
%div.col-xs-4.entreprise-label Exercices :
|
||||
%div.col-xs-8.entreprise-info
|
||||
.col-xs-4.entreprise-label Exercices :
|
||||
.col-xs-8.entreprise-info
|
||||
- @facade.etablissement.exercices.each_with_index do |exercice, index|
|
||||
%strong
|
||||
= "#{exercice.dateFinExercice.year} : "
|
||||
|
@ -54,6 +54,6 @@
|
|||
%br
|
||||
|
||||
.row.split-row
|
||||
%div.col-xs-12.split-hr
|
||||
.col-xs-12.split-hr
|
||||
- unless @facade.entreprise.rna_information.nil?
|
||||
= render partial: '/dossiers/infos_rna'
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
.col-xs-5
|
||||
- if @facade.dossier.cerfa_available?
|
||||
%a{ href: "#{@facade.dossier.cerfa.last.content_url}", target: '_blank' } Consulter
|
||||
%span{style:'margin-left:12px'}
|
||||
%span{ style: 'margin-left: 12px;' }
|
||||
\-
|
||||
%a.btn.fa.fa-timer{style:'color: black; padding-top: 0',
|
||||
%a.btn.fa.fa-timer{ style: 'color: black; padding-top: 0;',
|
||||
"data-target" => "#PJmodal",
|
||||
"data-toggle" => "modal",
|
||||
:type => "button",
|
||||
"data-modal_title" => 'formulaires',
|
||||
"data-modal_index" => 'cerfa'}
|
||||
"data-modal_index" => 'cerfa' }
|
||||
- else
|
||||
= 'Pièce non fournie'
|
||||
|
||||
|
@ -30,20 +30,20 @@
|
|||
- 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?
|
||||
-#- if user_signed_in?
|
||||
-# = 'Pièce fournie'
|
||||
-#- elsif gestionnaire_signed_in?
|
||||
-# - if user_signed_in?
|
||||
-# = 'Pièce fournie'
|
||||
-# - elsif gestionnaire_signed_in?
|
||||
%a{ href: "#{@pj.content_url}", target: '_blank' } Consulter
|
||||
%span{style:'margin-left:12px'}
|
||||
%span{ style: 'margin-left: 12px;' }
|
||||
\-
|
||||
%a.btn.fa.fa-timer{style:'color: black; padding-top: 0',
|
||||
%a.btn.fa.fa-timer{ style: 'color: black; padding-top: 0;',
|
||||
"data-target" => "#PJmodal",
|
||||
"data-toggle" => "modal",
|
||||
:type => "button",
|
||||
"data-modal_title" => type_de_piece_justificative.libelle,
|
||||
"data-modal_index" => "type_de_pj_#{type_de_piece_justificative.id}"}
|
||||
"data-modal_index" => "type_de_pj_#{type_de_piece_justificative.id}" }
|
||||
- else
|
||||
= 'Pièce non fournie'
|
||||
|
||||
-#- if gestionnaire_signed_in?
|
||||
-# - if gestionnaire_signed_in?
|
||||
= render partial: '/dossiers/modal_historique'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.row{style: 'margin-top: -20px'}
|
||||
.row{ style: 'margin-top: -20px;' }
|
||||
.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}
|
||||
= 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
|
||||
= submit_tag :Enregistrer, {class: 'btn-action'}
|
||||
= submit_tag :Enregistrer, { class: 'btn-action' }
|
||||
|
|
|
@ -14,4 +14,4 @@
|
|||
.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', data: {confirm: "Envoyer l'invitation ?"}
|
||||
= submit_tag 'Ajouter', class: 'btn btn-success', id: 'send-invitation', data: { confirm: "Envoyer l'invitation ?" }
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.default_data_block{style:'margin-top: 40px'}
|
||||
.default_data_block{ style: 'margin-top: 40px;' }
|
||||
.row.show-block.clearfix#messages
|
||||
.header
|
||||
.col-xs-10.title
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
#pieces_justificatives
|
||||
%table.table
|
||||
- if @facade.procedure.cerfa_flag?
|
||||
%tr{id: "piece_justificative_0"}
|
||||
%th{class:'col-lg-6'}
|
||||
='Formulaire'
|
||||
%tr{ id: "piece_justificative_0" }
|
||||
%th.col-lg-6
|
||||
Formulaire
|
||||
%td.col-lg-6.col-md-6.col-sm-6.col-xs-6
|
||||
- if @facade.dossier.cerfa_available?
|
||||
%a{ href: "#{@facade.dossier.cerfa.last.content_url}", target: '_blank' } Consulter
|
||||
%span{style:'margin-left:12px'}
|
||||
%span{ style: 'margin-left: 12px;' }
|
||||
\-
|
||||
%a.btn.fa.fa-timer{style:'color: black; padding-top: 0',
|
||||
%a.btn.fa.fa-timer{ style: 'color: black; padding-top: 0;',
|
||||
"data-target" => "#PJmodal",
|
||||
"data-toggle" => "modal",
|
||||
:type => "button",
|
||||
"data-modal_title" => 'formulaires',
|
||||
"data-modal_index" => 'cerfa'}
|
||||
"data-modal_index" => 'cerfa' }
|
||||
- else
|
||||
= 'Pièce non fournie'
|
||||
Pièce non fournie
|
||||
|
||||
- @facade.dossier.types_de_piece_justificative.order('order_place ASC').each do |type_de_piece_justificative|
|
||||
%tr{ id: "piece_justificative_#{type_de_piece_justificative.id}" }
|
||||
|
@ -26,20 +26,20 @@
|
|||
- 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?
|
||||
-#- if user_signed_in?
|
||||
-# = 'Pièce fournie'
|
||||
-#- elsif gestionnaire_signed_in?
|
||||
-# - if user_signed_in?
|
||||
-# = 'Pièce fournie'
|
||||
-# - elsif gestionnaire_signed_in?
|
||||
%a{ href: "#{@pj.content_url}", target: '_blank' } Consulter
|
||||
%span{style:'margin-left:12px'}
|
||||
%span{ style: 'margin-left: 12px;' }
|
||||
\-
|
||||
%a.btn.fa.fa-timer{style:'color: black; padding-top: 0',
|
||||
%a.btn.fa.fa-timer{ style: 'color: black; padding-top: 0;',
|
||||
"data-target" => "#PJmodal",
|
||||
"data-toggle" => "modal",
|
||||
:type => "button",
|
||||
"data-modal_title" => type_de_piece_justificative.libelle,
|
||||
"data-modal_index" => "type_de_pj_#{type_de_piece_justificative.id}"}
|
||||
"data-modal_index" => "type_de_pj_#{type_de_piece_justificative.id}" }
|
||||
- else
|
||||
= 'Pièce non fournie'
|
||||
|
||||
-#- if gestionnaire_signed_in?
|
||||
=render partial: '/dossiers/modal_historique'
|
||||
-# - if gestionnaire_signed_in?
|
||||
= render partial: '/dossiers/modal_historique'
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
.row.etape.etape_2
|
||||
= render partial: '/dossiers/etapes/etape2'
|
||||
|
||||
-#- if @facade.procedure.module_api_carto.use_api_carto?
|
||||
-# .row.etape.etape_3
|
||||
-# = render partial: '/dossiers/etapes/etape3'
|
||||
-# - if @facade.procedure.module_api_carto.use_api_carto?
|
||||
-# .row.etape.etape_3
|
||||
-# = render partial: '/dossiers/etapes/etape3'
|
||||
-#
|
||||
-#.row.etape.etape_4
|
||||
-# = render partial: '/dossiers/etapes/etape4'
|
||||
-# .row.etape.etape_4
|
||||
-# = render partial: '/dossiers/etapes/etape4'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
%div.commentaire
|
||||
.commentaire
|
||||
.comment-header
|
||||
= commentaire.header
|
||||
.content
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
= form_tag(url_for({ controller: 'commentaires', action: :create, dossier_id: dossier_facade.dossier.id, champ_id: dossier_facade.champ_id }), class: 'form-inline', method: 'POST', multipart: true) do
|
||||
|
||||
%textarea.form-control{id: 'texte_commentaire', class: 'wysihtml5', name: 'texte_commentaire', style: 'width: 100%; margin-bottom:2%', rows: '5', placeholder:"Commentaire"}
|
||||
%textarea.form-control.wysihtml5{ id: 'texte_commentaire', name: 'texte_commentaire', style: 'width: 100%; margin-bottom: 2%;', rows: '5', placeholder: "Commentaire" }
|
||||
|
||||
.row
|
||||
.col-md-6
|
||||
%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'
|
||||
|
||||
%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.text-right
|
||||
%input#save-message.form-control.btn.btn-danger{ type: 'submit', value: 'ENVOYER' }
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
.col-xs-3.center
|
||||
%h3 Ma procédure
|
||||
|
||||
#logos.center{class: (@facade.entreprise.nil? ? '' : 'mask')}
|
||||
#logos.center{ class: (@facade.entreprise.nil? ? '' : 'mask') }
|
||||
- if @facade.procedure.euro_flag
|
||||
#euro_flag.flag
|
||||
=image_tag('drapeau_europe.png')
|
||||
= image_tag('drapeau_europe.png')
|
||||
|
||||
#logo_procedure.flag
|
||||
=image_tag( @facade.procedure.decorate.logo_img )
|
||||
= image_tag( @facade.procedure.decorate.logo_img )
|
||||
|
||||
.etape.etapes_informations.col-xs-9
|
||||
.row
|
||||
|
@ -15,10 +15,10 @@
|
|||
%h2#titre_procedure.text-info
|
||||
= @facade.procedure.libelle
|
||||
|
||||
%p#description_procedure{style:'width: 95%;', class: (@facade.entreprise.nil? ? '' : 'mask')}
|
||||
%p#description_procedure{ style: 'width: 95%;', class: (@facade.entreprise.nil? ? '' : 'mask') }
|
||||
= h @facade.procedure.description.html_safe
|
||||
|
||||
- unless @facade.procedure.lien_site_web.blank?
|
||||
.center
|
||||
%a{href: "#{@facade.procedure.lien_site_web.html_safe}", target: '_blank'}
|
||||
%a{ href: "#{@facade.procedure.lien_site_web.html_safe}", target: '_blank' }
|
||||
En savoir plus ...
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- if @facade.procedure.for_individual?
|
||||
= render partial: 'dossiers/etapes/etape_2/individual'
|
||||
= render partial: 'dossiers/etapes/etape_2/individual'
|
||||
- else
|
||||
= render partial: 'dossiers/etapes/etape_2/entreprise'
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
Mes informations
|
||||
%br
|
||||
- unless @facade.entreprise.nil?
|
||||
.center{style:'margin-left: -5%'}
|
||||
.center{ style: 'margin-left: -5%;' }
|
||||
Vous êtes authentifié avec le SIRET
|
||||
|
||||
%h3.text-success
|
||||
|
@ -15,8 +15,8 @@
|
|||
.etape.etapes_informations.col-xs-9
|
||||
.row
|
||||
- if @facade.entreprise.nil?
|
||||
#new_siret{style:'margin-left: 20%; margin-top: 5%'}
|
||||
= form_for @facade.dossier, html: {class: 'form-inline'}, url: users_dossier_siret_informations_path(dossier_id: @facade.dossier.id), method: :post, remote: true do |f|
|
||||
#new_siret{ style: 'margin-left: 20%; margin-top: 5%;' }
|
||||
= form_for @facade.dossier, html: { class: 'form-inline' }, url: users_dossier_siret_informations_path(dossier_id: @facade.dossier.id), method: :post, remote: true do |f|
|
||||
.form-group.form-group-lg
|
||||
= f.text_field :siret, class: "form-control", placeholder: "Entrez votre Siret", value: @siret
|
||||
= f.hidden_field :dossier_id, value: @facade.dossier.id
|
||||
|
@ -26,15 +26,15 @@
|
|||
#recap_info_entreprise
|
||||
= render partial: '/dossiers/infos_entreprise'
|
||||
|
||||
%p#insee_infogreffe{style:'color:grey; float:right'}
|
||||
%p#insee_infogreffe{ style: 'color: grey; float: right;' }
|
||||
%i
|
||||
Informations récupérées auprès de l'INSEE et d'INFOGREFFE
|
||||
|
||||
%br
|
||||
= form_for @facade.dossier, url: { controller: '/users/dossiers', action: :update } do |f|
|
||||
= f.hidden_field :id
|
||||
%label{ style:'font-weight:normal' }
|
||||
%label{ style: 'font-weight: normal;' }
|
||||
= f.check_box :autorisation_donnees
|
||||
J'autorise les décideurs publics à vérifier les informations de mon organisation auprès des administrations concernées. Ces informations resteront strictement confidentielles.
|
||||
%br
|
||||
= f.submit 'Etape suivante', class: "btn btn btn-info", style: 'float:right', id: 'etape_suivante', disabled: :disabled
|
||||
= f.submit 'Etape suivante', class: "btn btn btn-info", style: 'float: right;', id: 'etape_suivante', disabled: :disabled
|
||||
|
|
|
@ -21,24 +21,24 @@
|
|||
%label
|
||||
%h4
|
||||
Nom *
|
||||
= ff.text_field :nom, {class: 'form-control'}
|
||||
= ff.text_field :nom, { class: 'form-control', required: true }
|
||||
.form-group
|
||||
%label
|
||||
%h4
|
||||
Prénom *
|
||||
= ff.text_field :prenom, {class: 'form-control'}
|
||||
= ff.text_field :prenom, { class: 'form-control', required: true }
|
||||
.form-group
|
||||
%label
|
||||
%h4
|
||||
Date de naissance *
|
||||
= ff.date_field :birthdate, {class: 'form-control', placeholder: 'jj/mm/aaaa'}
|
||||
= ff.date_field :birthdate, { class: 'form-control', placeholder: 'jj/mm/aaaa', required: true }
|
||||
|
||||
%p
|
||||
%label{ style:'font-weight:normal' }
|
||||
%label{ style: 'font-weight: normal;' }
|
||||
= f.check_box :autorisation_donnees
|
||||
= " ".html_safe
|
||||
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'
|
||||
= link_to 'en savoir plus', cgu_path, target: '_blank'
|
||||
.row
|
||||
.col-xs-5.col-xs-5
|
||||
.col-xs-2.col-xs-2
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
%h2.text-info
|
||||
= image_tag('logo_FC_02_small.png', style: 'height: 55px')
|
||||
= image_tag('logo_FC_02_small.png', style: 'height: 55px;')
|
||||
France Connect - Particulier
|
||||
|
||||
%h3 Nouvelle connexion
|
||||
%h4.text-warning{style:'margin-left: 20px'} Email déjà utilisé
|
||||
%h4.text-warning{ style: 'margin-left: 20px;' } Email déjà utilisé
|
||||
|
||||
%br
|
||||
%p
|
||||
|
@ -13,11 +13,11 @@
|
|||
%br
|
||||
.center
|
||||
#france_connect_particulier_email
|
||||
= form_for @user, url: {controller: 'france_connect/particulier', action: :check_email}, method: :post do |f|
|
||||
= form_for @user, url: { controller: 'france_connect/particulier', action: :check_email }, method: :post do |f|
|
||||
.form-group.form-group-lg
|
||||
= f.text_field :email_france_connect, class: "form-control", readonly: 'readonly'
|
||||
%br
|
||||
= f.password_field :password, class: "form-control", placeholder: "Entrez votre mot de passe"
|
||||
= hidden_field_tag :fci_id, params[:fci_id]
|
||||
= hidden_field_tag :salt, params[:salt]
|
||||
= f.submit 'Terminer', class: %w(btn btn-lg btn-success), style: 'margin-top:20px;', id: 'valid_new_fcp'
|
||||
= f.submit 'Terminer', class: %w(btn btn-lg btn-success), style: 'margin-top: 20px;', id: 'valid_new_fcp'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
%h2.text-info
|
||||
= image_tag('logo_FC_02_small.png', style: 'height: 55px')
|
||||
= image_tag('logo_FC_02_small.png', style: 'height: 55px;')
|
||||
France Connect - Particulier
|
||||
|
||||
%h3 Nouvelle connexion
|
||||
|
@ -24,9 +24,9 @@
|
|||
|
||||
.center
|
||||
#france_connect_particulier_email
|
||||
= form_for @user, url: {controller: 'france_connect/particulier', action: :check_email}, method: :post do |f|
|
||||
= form_for @user, url: { controller: 'france_connect/particulier', action: :check_email }, method: :post do |f|
|
||||
.form-group.form-group-lg
|
||||
= f.text_field :email_france_connect, class: "form-control", placeholder: "Entrez votre email"
|
||||
= hidden_field_tag :fci_id, params[:fci_id]
|
||||
= hidden_field_tag :salt, params[:salt]
|
||||
= f.submit 'Terminer', class: %w(btn btn-lg btn-success), style: 'margin-top:20px;', id: 'valid_new_fcp'
|
||||
= f.submit 'Terminer', class: %w(btn btn-lg btn-success), style: 'margin-top: 20px;', id: 'valid_new_fcp'
|
||||
|
|
|
@ -27,5 +27,5 @@
|
|||
%br
|
||||
%br
|
||||
.actions
|
||||
= f.submit "Changer", class:'btn btn-primary'
|
||||
= f.submit "Changer", class: 'btn btn-primary'
|
||||
%br
|
||||
|
|
|
@ -19,5 +19,5 @@
|
|||
%br
|
||||
%br
|
||||
.actions
|
||||
= f.submit "Renvoyer", class:'btn btn-primary'
|
||||
= f.submit "Renvoyer", class: 'btn btn-primary'
|
||||
%br
|
||||
|
|
|
@ -24,6 +24,6 @@
|
|||
%br
|
||||
%br
|
||||
.actions
|
||||
= f.submit "Se connecter", class:'btn btn-primary'
|
||||
= f.submit "Se connecter", class: 'btn btn-primary'
|
||||
%br
|
||||
= render "gestionnaires/shared/links"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
%div.dropdown-menu#credentials
|
||||
%div.description= t("utils.deconnexion")
|
||||
.dropdown-menu#credentials
|
||||
.description= t("utils.deconnexion")
|
||||
= @current_gestionnaire.email if @current_gestionnaire
|
||||
= @current_user.email if @current_user
|
||||
|
|
|
@ -1 +1 @@
|
|||
= submit_tag 'Etape suivante', class: %w(btn btn btn-info), style: 'float:right', id: 'etape_suivante', data: { disable_with: 'Etape suivante', submit: true}
|
||||
= submit_tag 'Etape suivante', class: %w(btn btn btn-info), style: 'float: right;', id: 'etape_suivante', data: { disable_with: 'Etape suivante', submit: true }
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
%div#footer
|
||||
%p{class: "copyright col-md-push-#{12-main_container_size} col-md-#{main_container_size} col-lg-push-#{12-main_container_size} col-lg-#{main_container_size} text-muted small"}
|
||||
%p{ class: "copyright col-md-push-#{12-main_container_size} col-md-#{main_container_size} col-lg-push-#{12-main_container_size} col-lg-#{main_container_size} text-muted small" }
|
||||
= link_to 'SGMAP', "http://etatplateforme.modernisation.gouv.fr"
|
||||
= Time.now.year
|
||||
\-
|
||||
= link_to 'Nouveautés', 'https://github.com/sgmap/tps/releases', target: '_blank'
|
||||
\-
|
||||
= link_to 'Statistiques', stats_path
|
||||
\-
|
||||
= link_to 'CGU / Mentions légales', cgu_path
|
||||
\-
|
||||
= link_to 'Contact', "mailto:"+t('dynamics.contact_email')
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
="<!--[if lt IE 10]>".html_safe
|
||||
= "<!--[if lt IE 10]>".html_safe
|
||||
|
||||
%div.center{style:'width: 100%; background-color: white; position: fixed; top:0; left:0; z-index: 100000'}
|
||||
.center{ style: 'width: 100%; background-color: white; position: fixed; top: 0; left: 0; z-index: 100000;' }
|
||||
%h3.text-danger
|
||||
%b
|
||||
Votre version d'Internet Explorer est trop ancienne pour être utilisée sur le service TPS. Version minimum : Internet Explorer 10
|
||||
|
||||
="<![endif]-->".html_safe
|
||||
= "<![endif]-->".html_safe
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
%div{style: 'float:right'}
|
||||
%a.btn{href: "/users/dossiers/#{@dossier.id}/recapitulatif"} Retour
|
||||
= submit_tag 'Modification terminée', class: %w(btn btn btn-info), id: 'modification_terminee', data: { disable_with: 'Modification terminée', submit: true}
|
||||
%div{ style: 'float: right;' }
|
||||
%a.btn{ href: "/users/dossiers/#{@dossier.id}/recapitulatif" } Retour
|
||||
= submit_tag 'Modification terminée', class: %w(btn btn btn-info), id: 'modification_terminee', data: { disable_with: 'Modification terminée', submit: true }
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.col-xs-2
|
||||
%a#title_navbar{href: '/'}
|
||||
%a#title_navbar{ href: '/' }
|
||||
.row#home
|
||||
.col-lg-6.no-padding
|
||||
= image_tag('marianne_small.png', class: 'logo')
|
||||
|
@ -9,9 +9,9 @@
|
|||
.col-xs-10.no-padding
|
||||
#navbar-body
|
||||
.row
|
||||
-begin
|
||||
- begin
|
||||
= render partial: @navbar_url
|
||||
-rescue
|
||||
- rescue
|
||||
= render partial: 'layouts/navbars/navbar_default'
|
||||
|
||||
= render partial: 'layouts/navbars/navbar_log_options'
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
= BROWSER.value.version
|
||||
\-
|
||||
Attention, votre navigateur n'est pas recommandé pour la navigation sur ce site internet. Aucun support ne pourra vous être prodigué en cas de dysfonctionnement.
|
||||
%a{href: '/cgu/#navigateurs'}
|
||||
%a{ href: '/cgu/#navigateurs' }
|
||||
Voir la liste des navigateurs compatibles.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- 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}
|
||||
%button.btn.btn-default.dropdown-toggle{ type: :button, 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false }
|
||||
%i.fa.fa-toggle-on
|
||||
%span.caret
|
||||
%ul.dropdown-menu.dropdown-menu-left
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
%html
|
||||
%head
|
||||
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
|
||||
%meta{ :content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type" }/
|
||||
%meta{ name: "turbolinks-cache-control", content: "no-cache" }
|
||||
%title
|
||||
=t('dynamics.page_title')
|
||||
%meta{'http-equiv' => "X-UA-Compatible", :content => "IE=edge"}
|
||||
= t('dynamics.page_title')
|
||||
%meta{ 'http-equiv' => "X-UA-Compatible", :content => "IE=edge" }
|
||||
|
||||
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
|
||||
= stylesheet_link_tag 'print', media: 'print', 'data-turbolinks-track' => true
|
||||
|
@ -14,14 +14,14 @@
|
|||
= action_cable_meta_tag
|
||||
%body
|
||||
= render partial: 'layouts/support_navigator_banner'
|
||||
#beta{class:(Rails.env == 'production' ? '' : 'beta_staging')}
|
||||
#beta{ class: (Rails.env == 'production' ? '' : 'beta_staging') }
|
||||
- if Rails.env == 'production'
|
||||
Beta
|
||||
- else
|
||||
Env Test
|
||||
|
||||
- if Rails.env == 'test'
|
||||
%script{type: 'text/javascript'}
|
||||
%script{ type: 'text/javascript' }
|
||||
(typeof jQuery !== 'undefined') && (jQuery.fx.off = true);
|
||||
|
||||
|
||||
|
@ -29,12 +29,12 @@
|
|||
|
||||
|
||||
%div#wrap
|
||||
%div.row
|
||||
.row
|
||||
%div#header.navbar
|
||||
= render partial: "layouts/navbar"
|
||||
%div.row.no-margin
|
||||
.row.no-margin
|
||||
- if RenderPartialService.left_panel_exist? @left_pannel_url
|
||||
%div.col-xs-2#left-panel
|
||||
.col-xs-2#left-panel
|
||||
- if gestionnaire_signed_in?
|
||||
#search-block
|
||||
= render partial: 'layouts/left_panels/search_area'
|
||||
|
@ -44,13 +44,13 @@
|
|||
- else
|
||||
- main_container_size = 12
|
||||
|
||||
=render partial: 'layouts/main_container', locals: {main_container_size: main_container_size}
|
||||
= render partial: 'layouts/main_container', locals: { main_container_size: main_container_size }
|
||||
#mask_search
|
||||
%h1
|
||||
%i.fa.fa-times{style:'position: fixed; top: 10; right: 30; color: white;'}
|
||||
%i.fa.fa-times{ style: 'position: fixed; top: 10; right: 30; color: white;' }
|
||||
|
||||
= render partial: 'layouts/switch_devise_profile_module'
|
||||
= render partial: 'layouts/notifications_alert'
|
||||
|
||||
= render partial: 'layouts/footer', locals: {main_container_size: main_container_size}
|
||||
= render partial: 'layouts/footer', locals: { main_container_size: main_container_size }
|
||||
= render partial: 'layouts/google_analytics'
|
||||
|
|
|
@ -1 +1 @@
|
|||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: {active: 'Accompagnateurs'}
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: { active: 'Accompagnateurs' }
|
||||
|
|
|
@ -1 +1 @@
|
|||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: {active: 'E-mails'}
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: { active: 'E-mails' }
|
||||
|
|
|
@ -1 +1 @@
|
|||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: {active: 'E-mails'}
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: { active: 'E-mails' }
|
||||
|
|
|
@ -1 +1 @@
|
|||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: {active: 'Pieces'}
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: { active: 'Pieces' }
|
||||
|
|
|
@ -1 +1 @@
|
|||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: {active: 'Prévisualisation'}
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: { active: 'Prévisualisation' }
|
||||
|
|
|
@ -1 +1 @@
|
|||
=render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_index'
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_index'
|
||||
|
|
|
@ -1 +1 @@
|
|||
=render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_index'
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_index'
|
||||
|
|
|
@ -1 +1 @@
|
|||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: {active: 'Description'}
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: { active: 'Description' }
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
%div#first-block
|
||||
%div.en-cours
|
||||
.en-cours
|
||||
%b
|
||||
= dossier_count = current_administrateur.procedures.count
|
||||
= ("Procedures".pluralize(dossier_count)).upcase
|
||||
|
@ -7,27 +7,27 @@
|
|||
%div#action-block
|
||||
|
||||
%div#menu-block
|
||||
%div.split-hr-left
|
||||
.split-hr-left
|
||||
#procedure_list
|
||||
%a{:href => "#{url_for :admin_procedures_draft}", id: "draft-procedures"}
|
||||
%div.procedure_list_element{class: @draft_class}
|
||||
= "Brouillons"
|
||||
%a{ :href => "#{url_for :admin_procedures_draft}", id: "draft-procedures" }
|
||||
.procedure_list_element{ class: @draft_class }
|
||||
Brouillons
|
||||
.badge.progress-bar-default
|
||||
= current_administrateur.procedures.where(published: false, archived: false).count
|
||||
|
||||
%a{:href => "#{url_for :admin_procedures}", id: "active-procedures"}
|
||||
%div.procedure_list_element{class: @active_class}
|
||||
= "Actives"
|
||||
%a{ :href => "#{url_for :admin_procedures}", id: "active-procedures" }
|
||||
.procedure_list_element{ class: @active_class }
|
||||
Actives
|
||||
.badge.progress-bar-success
|
||||
= current_administrateur.procedures.where(published: true, archived: false).count
|
||||
|
||||
%a{:href => "#{url_for :admin_procedures_archived}", id: "archived-procedures"}
|
||||
%div.procedure_list_element{class: @archived_class}
|
||||
="Archivées"
|
||||
%a{ :href => "#{url_for :admin_procedures_archived}", id: "archived-procedures" }
|
||||
.procedure_list_element{ class: @archived_class }
|
||||
Archivées
|
||||
.badge.progress-bar-purple
|
||||
= current_administrateur.procedures.where(archived: true).count
|
||||
|
||||
%div.split-hr-left
|
||||
.split-hr-left
|
||||
|
||||
|
||||
%div#infos-block
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
%div#first-block
|
||||
%div.en-cours
|
||||
-unless @procedure.logo.blank?
|
||||
= image_tag @procedure.decorate.logo_img, style: 'width: 30px'
|
||||
.en-cours
|
||||
- unless @procedure.logo.blank?
|
||||
= image_tag @procedure.decorate.logo_img, style: 'width: 30px;'
|
||||
%b
|
||||
=@procedure.libelle
|
||||
= @procedure.libelle
|
||||
|
||||
%div#action-block
|
||||
|
||||
%div#menu-block
|
||||
%div.split-hr-left
|
||||
.split-hr-left
|
||||
#procedure_list
|
||||
%a{:href => "#{url_for admin_procedure_path(@procedure)}", id: 'onglet-infos'}
|
||||
%div.procedure_list_element{class: ('active' if active == 'Informations')}
|
||||
%a{ :href => "#{url_for admin_procedure_path(@procedure)}", id: 'onglet-infos' }
|
||||
.procedure_list_element{ class: ('active' if active == 'Informations') }
|
||||
Informations
|
||||
|
||||
%a{:href => "#{url_for admin_procedure_accompagnateurs_path(@procedure)}", id: 'onglet-accompagnateurs'}
|
||||
%div.procedure_list_element{class: ('active' if active == 'Accompagnateurs')}
|
||||
=t('dynamics.admin.procedure.onglets.accompagnateurs')
|
||||
%a{ :href => "#{url_for admin_procedure_accompagnateurs_path(@procedure)}", id: 'onglet-accompagnateurs' }
|
||||
.procedure_list_element{ class: ('active' if active == 'Accompagnateurs') }
|
||||
= t('dynamics.admin.procedure.onglets.accompagnateurs')
|
||||
|
||||
%a{:href => "#{url_for edit_admin_procedure_path(@procedure)}", id: 'onglet-description'}
|
||||
%div.procedure_list_element{class: ('active' if active == 'Description')}
|
||||
%a{ :href => "#{url_for edit_admin_procedure_path(@procedure)}", id: 'onglet-description' }
|
||||
.procedure_list_element{ class: ('active' if active == 'Description') }
|
||||
Description
|
||||
|
||||
- unless @procedure.locked?
|
||||
%a{:href => "#{url_for admin_procedure_types_de_champ_path(@procedure)}", id: 'onglet-champs'}
|
||||
%div.procedure_list_element{class: ('active' if active == 'Champs')}
|
||||
%a{ :href => "#{url_for admin_procedure_types_de_champ_path(@procedure)}", id: 'onglet-champs' }
|
||||
.procedure_list_element{ class: ('active' if active == 'Champs') }
|
||||
Champs
|
||||
|
||||
- unless @procedure.locked?
|
||||
%a{:href => "#{url_for admin_procedure_pieces_justificatives_path(@procedure)}", id: 'onglet-pieces'}
|
||||
%div.procedure_list_element{class: ('active' if active == 'Pieces')}
|
||||
%a{ :href => "#{url_for admin_procedure_pieces_justificatives_path(@procedure)}", id: 'onglet-pieces' }
|
||||
.procedure_list_element{ class: ('active' if active == 'Pieces') }
|
||||
Pièces jointes
|
||||
|
||||
- unless @procedure.locked?
|
||||
%a{:href => "#{url_for admin_procedure_types_de_champ_private_path(@procedure)}", id: 'onglet-private-champs'}
|
||||
%div.procedure_list_element{class: ('active' if active == 'Champs privés')}
|
||||
%a{ :href => "#{url_for admin_procedure_types_de_champ_private_path(@procedure)}", id: 'onglet-private-champs' }
|
||||
.procedure_list_element{ class: ('active' if active == 'Champs privés') }
|
||||
Champs privés
|
||||
|
||||
%a{:href => "#{url_for admin_procedure_mail_templates_path(@procedure)}", id: 'onglet-inemailsfos'}
|
||||
%div.procedure_list_element{class: ('active' if active == 'E-mails')}
|
||||
%a{ :href => "#{url_for admin_procedure_mail_templates_path(@procedure)}", id: 'onglet-inemailsfos' }
|
||||
.procedure_list_element{ class: ('active' if active == 'E-mails') }
|
||||
E-mails
|
||||
|
||||
%a{:href => "#{url_for admin_procedure_previsualisation_path(@procedure)}", id: 'onglet-preview'}
|
||||
%div.procedure_list_element{class: ('active' if active == 'Prévisualisation')}
|
||||
%a{ :href => "#{url_for admin_procedure_previsualisation_path(@procedure)}", id: 'onglet-preview' }
|
||||
.procedure_list_element{ class: ('active' if active == 'Prévisualisation') }
|
||||
Prévisualisation
|
||||
|
||||
%div.split-hr-left
|
||||
.split-hr-left
|
||||
|
||||
|
||||
%div#infos-block
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue