Merge branch 'dev'
This commit is contained in:
commit
b652e93e2e
28 changed files with 236 additions and 119 deletions
39
README.md
39
README.md
|
@ -45,11 +45,11 @@ Les informations nécessaire à l'initialisation de la base doivent être pré-c
|
||||||
|
|
||||||
Afin de générer la BDD de l'application, il est nécessaire d'exécuter les commandes suivantes :
|
Afin de générer la BDD de l'application, il est nécessaire d'exécuter les commandes suivantes :
|
||||||
|
|
||||||
# Create and load the schema for both databases
|
# Create and initialize the database
|
||||||
bin/rails db:create db:schema:load
|
bin/rails db:create db:schema:load db:seed
|
||||||
|
|
||||||
# Migrate the development database and the test database
|
# Migrate the development database and the test database
|
||||||
rails db:migrate
|
bin/rails db:migrate
|
||||||
|
|
||||||
## Bouchonnage de l’authentification
|
## Bouchonnage de l’authentification
|
||||||
|
|
||||||
|
@ -81,21 +81,12 @@ Dans le fichier `config/intializers/token.rb`, ajouter
|
||||||
|
|
||||||
*Note : les valeurs pour ces paramètres sont renseignées dans le Keepass*
|
*Note : les valeurs pour ces paramètres sont renseignées dans le Keepass*
|
||||||
|
|
||||||
## Création des comptes initiaux
|
|
||||||
|
|
||||||
rails c
|
|
||||||
> email = "<votre email>"
|
|
||||||
> password = "<votre mot de passe>"
|
|
||||||
> Administration.create(email: email, password: password)
|
|
||||||
> Administrateur.create(email: email, password: password)
|
|
||||||
> Gestionnaire.create(email: email, password: password)
|
|
||||||
> User.create(email: email, password: password)
|
|
||||||
|
|
||||||
|
|
||||||
## Lancement de l'application
|
## Lancement de l'application
|
||||||
|
|
||||||
overmind s
|
overmind s
|
||||||
|
|
||||||
|
Un utilisateur de test est disponible, avec les identifiants `test@exemple.fr`/`testpassword`.
|
||||||
|
|
||||||
## Programmation des jobs
|
## Programmation des jobs
|
||||||
|
|
||||||
AutoArchiveProcedureJob.set(cron: "* * * * *").perform_later
|
AutoArchiveProcedureJob.set(cron: "* * * * *").perform_later
|
||||||
|
@ -110,18 +101,18 @@ Pour exécuter les tests de l'application, plusieurs possibilités :
|
||||||
|
|
||||||
- Lancer tous les tests
|
- Lancer tous les tests
|
||||||
|
|
||||||
rake spec
|
bin/rake spec
|
||||||
rspec
|
bin/rspec
|
||||||
|
|
||||||
- Lancer un test en particulier
|
- Lancer un test en particulier
|
||||||
|
|
||||||
rake spec SPEC=file_path/file_name_spec.rb:line_number
|
bin/rake spec SPEC=file_path/file_name_spec.rb:line_number
|
||||||
rspec file_path/file_name_spec.rb:line_number
|
bin/rspec file_path/file_name_spec.rb:line_number
|
||||||
|
|
||||||
- Lancer tous les tests d'un fichier
|
- Lancer tous les tests d'un fichier
|
||||||
|
|
||||||
rake spec SPEC=file_path/file_name_spec.rb
|
bin/rake spec SPEC=file_path/file_name_spec.rb
|
||||||
rspec file_path/file_name_spec.rb
|
bin/rspec file_path/file_name_spec.rb
|
||||||
|
|
||||||
## Debug
|
## Debug
|
||||||
|
|
||||||
|
@ -145,18 +136,18 @@ Une fois `overmind` lancé, et un breakpoint `byebug` inséré dans le code, il
|
||||||
## Régénérer les binstubs
|
## Régénérer les binstubs
|
||||||
|
|
||||||
bundle binstub railties --force
|
bundle binstub railties --force
|
||||||
rake rails:update:bin
|
bin/rake rails:update:bin
|
||||||
|
|
||||||
## Tâches Super Admin
|
## Tâches Super Admin
|
||||||
|
|
||||||
- ajouter un compte super admin :
|
- ajouter un compte super admin :
|
||||||
`bundle exec rake admin:create_admin[email-du-compte-github@exemple.com]`
|
`bin/rake admin:create_admin[email-du-compte-github@exemple.com]`
|
||||||
|
|
||||||
- lister les comptes super admin :
|
- lister les comptes super admin :
|
||||||
`bundle exec rake admin:list`
|
`bin/rake admin:list`
|
||||||
|
|
||||||
- supprimer un compte super admin :
|
- supprimer un compte super admin :
|
||||||
`bundle exec rake admin:delete_admin[email-du-compte-github@exemple.com]`
|
`bin/rake admin:delete_admin[email-du-compte-github@exemple.com]`
|
||||||
|
|
||||||
## Compatibilité navigateurs
|
## Compatibilité navigateurs
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
module Manager
|
module Manager
|
||||||
class GestionnairesController < Manager::ApplicationController
|
class GestionnairesController < Manager::ApplicationController
|
||||||
|
def reinvite
|
||||||
|
gestionnaire = Gestionnaire.find(params[:id])
|
||||||
|
gestionnaire.invite!
|
||||||
|
flash[:notice] = "Gestionnaire réinvité."
|
||||||
|
redirect_to manager_gestionnaire_path(gestionnaire)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
class DeviseUserMailer < Devise::Mailer
|
class DeviseUserMailer < Devise::Mailer
|
||||||
helper :application # gives access to all helpers defined within `application_helper`.
|
helper :application # gives access to all helpers defined within `application_helper`.
|
||||||
include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url`
|
include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url`
|
||||||
default template_path: 'devise_mailer' # to make sure that your mailer uses the devise views
|
|
||||||
layout 'mailers/layout'
|
layout 'mailers/layout'
|
||||||
|
|
||||||
|
def template_paths
|
||||||
|
['devise_mailer']
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,12 +5,13 @@
|
||||||
#procedure_show
|
#procedure_show
|
||||||
- if procedure.brouillon?
|
- if procedure.brouillon?
|
||||||
- if procedure.gestionnaires.empty? || procedure.service.nil?
|
- if procedure.gestionnaires.empty? || procedure.service.nil?
|
||||||
- message = ''
|
- missing_elements = []
|
||||||
- if procedure.gestionnaires.empty?
|
- if procedure.gestionnaires.empty?
|
||||||
- message += 'Affectez des accompagnateurs à votre procédure.'
|
- missing_elements << 'des accompagnateurs'
|
||||||
- if procedure.service.nil?
|
- if procedure.service.nil?
|
||||||
- message += 'Affectez un service à votre procédure.'
|
- missing_elements << 'un service'
|
||||||
%a.action_button.btn.btn-success#publish-procedure{ style: 'float: right; margin-top: 10px;', disabled: 'disabled', 'data-toggle' => :tooltip, title: message }
|
- message = "Affectez #{missing_elements.join(' et ')} à votre procédure."
|
||||||
|
%a.action_button.btn.btn-success#publish-procedure{ style: 'float: right; margin-top: 10px;', disabled: 'disabled', 'data-toggle' => :tooltip, 'data-placement' => :bottom, title: message }
|
||||||
%i.fa.fa-eraser
|
%i.fa.fa-eraser
|
||||||
Publier
|
Publier
|
||||||
- else
|
- else
|
||||||
|
@ -103,7 +104,7 @@
|
||||||
.col-xs-6.col-md-3
|
.col-xs-6.col-md-3
|
||||||
%h4.text-info Conservation des données
|
%h4.text-info Conservation des données
|
||||||
- durees_de_conservation.each do |text|
|
- durees_de_conservation.each do |text|
|
||||||
%p = text
|
%p= text
|
||||||
|
|
||||||
%br
|
%br
|
||||||
%h3
|
%h3
|
||||||
|
|
23
app/views/devise_mailer/email_changed.html.haml
Normal file
23
app/views/devise_mailer/email_changed.html.haml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
- content_for(:title, 'Votre nouvelle adresse électronique')
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonjour,
|
||||||
|
|
||||||
|
- unconfirmed_email = @resource.try(:unconfirmed_email?)
|
||||||
|
- if unconfirmed_email.present?
|
||||||
|
%p
|
||||||
|
Nous avons reçu une demande de changement d’adresse électronique pour votre
|
||||||
|
compte #{@email} sur demarches-simplifiees.fr.
|
||||||
|
Une fois la demande prise en compte, la nouvelle adresse électronique de
|
||||||
|
votre compte sera #{unconfirmed_email}.
|
||||||
|
- else
|
||||||
|
%p
|
||||||
|
Le changement d’adresse électronique de votre compte #{@email} sur
|
||||||
|
demarches-simplifiees.fr a bien été pris en compte.
|
||||||
|
Vous pouvez désormais vous connecter avec l’adresse #{@resource.email}.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonne journée,
|
||||||
|
|
||||||
|
%p
|
||||||
|
L'équipe demarches-simplifiees.fr
|
14
app/views/devise_mailer/password_change.html.haml
Normal file
14
app/views/devise_mailer/password_change.html.haml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
- content_for(:title, 'Votre nouveau mot de passe')
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonjour,
|
||||||
|
|
||||||
|
%p
|
||||||
|
La demande de changement de mot de passe pour votre compte #{@resource.email} sur
|
||||||
|
demarches-simplifiees.fr a bien été prise en compte.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonne journée,
|
||||||
|
|
||||||
|
%p
|
||||||
|
L'équipe demarches-simplifiees.fr
|
|
@ -7,7 +7,7 @@
|
||||||
= link_to edit_password_url(@resource, reset_password_token: @token), edit_password_url(@resource, reset_password_token: @token)
|
= link_to edit_password_url(@resource, reset_password_token: @token), edit_password_url(@resource, reset_password_token: @token)
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Si vous n'avez pas effectué une telle demande, merci d'ignorer ce mail. Votre mot de passe ne sera pas changé.
|
Si vous n'avez pas effectué une telle demande, merci d'ignorer ce courriel. Votre mot de passe ne sera pas changé.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Bonne journée,
|
Bonne journée,
|
||||||
|
|
20
app/views/devise_mailer/unlock_instructions.html.haml
Normal file
20
app/views/devise_mailer/unlock_instructions.html.haml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
- content_for(:title, 'Réactivez votre compte')
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonjour,
|
||||||
|
|
||||||
|
%p
|
||||||
|
Quelqu’un a tenté de se connecter un grand nombre de fois sans succès à votre
|
||||||
|
compte #{@resource.email} sur demarches-simplifiees.fr. Par mesure de précaution,
|
||||||
|
nous avons temporairement désactivé l’accès à votre compte.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Pour rétablir l’accès à votre compte, veuillez utiliser le lien ci-dessous.
|
||||||
|
|
||||||
|
%p= link_to 'Déverrouiller mon compte', unlock_url(@resource, unlock_token: @token)
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonne journée,
|
||||||
|
|
||||||
|
%p
|
||||||
|
L'équipe demarches-simplifiees.fr
|
54
app/views/manager/gestionnaires/show.html.erb
Normal file
54
app/views/manager/gestionnaires/show.html.erb
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
<%#
|
||||||
|
# Show
|
||||||
|
|
||||||
|
This view is the template for the show page.
|
||||||
|
It renders the attributes of a resource,
|
||||||
|
as well as a link to its edit page.
|
||||||
|
|
||||||
|
## Local variables:
|
||||||
|
|
||||||
|
- `page`:
|
||||||
|
An instance of [Administrate::Page::Show][1].
|
||||||
|
Contains methods for accessing the resource to be displayed on the page,
|
||||||
|
as well as helpers for describing how each attribute of the resource
|
||||||
|
should be displayed.
|
||||||
|
|
||||||
|
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Page/Show
|
||||||
|
%>
|
||||||
|
|
||||||
|
<% content_for(:title) { t("administrate.actions.show_resource", name: page.page_title) } %>
|
||||||
|
<% gestionnaire = page.resource %>
|
||||||
|
|
||||||
|
<header class="main-content__header" role="banner">
|
||||||
|
<h1 class="main-content__page-title">
|
||||||
|
<%= content_for(:title) %>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= link_to(
|
||||||
|
t("administrate.actions.edit_resource", name: page.page_title),
|
||||||
|
[:edit, namespace, page.resource],
|
||||||
|
class: "button",
|
||||||
|
) if valid_action?(:edit) && show_action?(:edit, page.resource) %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= link_to 'Réinviter', reinvite_manager_gestionnaire_path(gestionnaire), method: :post, class: 'button' %>
|
||||||
|
<div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<section class="main-content__body">
|
||||||
|
<dl>
|
||||||
|
<% page.attributes.each do |attribute| %>
|
||||||
|
<dt class="attribute-label" id="<%= attribute.name %>">
|
||||||
|
<%= t(
|
||||||
|
"helpers.label.#{resource_name}.#{attribute.name}",
|
||||||
|
default: attribute.name.titleize,
|
||||||
|
) %>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd class="attribute-data attribute-data--<%=attribute.html_class%>"
|
||||||
|
><%= render_field attribute %></dd>
|
||||||
|
<% end %>
|
||||||
|
</dl>
|
||||||
|
</section>
|
|
@ -140,9 +140,8 @@ task :deploy => :environment do
|
||||||
queue "/etc/init.d/#{user} upgrade "
|
queue "/etc/init.d/#{user} upgrade "
|
||||||
queue! %[sudo service delayed_job_#{user!} start]
|
queue! %[sudo service delayed_job_#{user!} start]
|
||||||
|
|
||||||
queue "cd #{deploy_to}/#{current_path}/"
|
# If you are deploying a review app on a fresh testing environment,
|
||||||
queue "bundle exec rake db:seed RAILS_ENV=#{rails_env}"
|
# now can be a good time to seed the database.
|
||||||
queue %[echo "-----> Rake Seeding Completed."]
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,15 +4,15 @@ fr:
|
||||||
devise:
|
devise:
|
||||||
confirmations:
|
confirmations:
|
||||||
confirmed: "Votre compte a été validé."
|
confirmed: "Votre compte a été validé."
|
||||||
send_instructions: "Vous allez recevoir les instructions nécessaires à la confirmation de votre compte dans quelques minutes."
|
send_instructions: 'Vous allez recevoir un courriel avec les instructions nécessaires à la confirmation de votre compte dans quelques minutes.'
|
||||||
send_paranoid_instructions: "Si votre e-mail existe dans notre base de données, vous allez bientôt recevoir un e-mail contenant les instructions de confirmation de votre compte."
|
send_paranoid_instructions: "Si votre adresse électronique existe dans notre base de données, vous allez bientôt recevoir un courriel contenant les instructions de confirmation de votre compte."
|
||||||
failure:
|
failure:
|
||||||
already_authenticated: "Vous êtes déjà connecté"
|
already_authenticated: "Vous êtes déjà connecté"
|
||||||
inactive: "Votre compte n'est pas encore activé."
|
inactive: "Votre compte n'est pas encore activé."
|
||||||
invalid: "Email ou mot de passe incorrect."
|
invalid: "Adresse électronique ou mot de passe incorrect."
|
||||||
last_attempt: "Vous avez droit à une tentative avant que votre compte ne soit verrouillé."
|
last_attempt: "Vous avez droit à une tentative avant que votre compte ne soit verrouillé."
|
||||||
locked: "Votre compte est verrouillé."
|
locked: "Votre compte est verrouillé."
|
||||||
not_found_in_database: "Email ou mot de passe invalide."
|
not_found_in_database: "Adresse électronique ou mot de passe invalide."
|
||||||
timeout: "Votre session est expirée. Veuillez vous reconnecter pour continuer."
|
timeout: "Votre session est expirée. Veuillez vous reconnecter pour continuer."
|
||||||
unauthenticated: "Vous devez vous connecter ou vous inscrire pour continuer."
|
unauthenticated: "Vous devez vous connecter ou vous inscrire pour continuer."
|
||||||
unconfirmed: "Vous devez valider votre compte pour continuer."
|
unconfirmed: "Vous devez valider votre compte pour continuer."
|
||||||
|
@ -23,15 +23,17 @@ fr:
|
||||||
subject: "Instructions pour changer le mot de passe"
|
subject: "Instructions pour changer le mot de passe"
|
||||||
unlock_instructions:
|
unlock_instructions:
|
||||||
subject: "Instructions pour déverrouiller le compte"
|
subject: "Instructions pour déverrouiller le compte"
|
||||||
|
email_changed:
|
||||||
|
subject: "Changement d’adresse électronique"
|
||||||
password_change:
|
password_change:
|
||||||
subject: "Votre mot de passe a été modifié avec succés."
|
subject: "Votre mot de passe a été modifié avec succés."
|
||||||
omniauth_callbacks:
|
omniauth_callbacks:
|
||||||
failure: "Nous n'avons pas pu vous authentifier via %{kind} : '%{reason}'."
|
failure: "Nous n'avons pas pu vous authentifier via %{kind} : '%{reason}'."
|
||||||
success: "Authentifié avec succès via %{kind}."
|
success: "Authentifié avec succès via %{kind}."
|
||||||
passwords:
|
passwords:
|
||||||
no_token: "Vous ne pouvez accéder à cette page sans passer par un e-mail de réinitialisation de mot de passe. Si vous êtes passé par un e-mail de ce type, assurez-vous d'utiliser l'URL complète."
|
no_token: "Vous ne pouvez accéder à cette page sans passer par un courriel de réinitialisation de mot de passe. Si vous êtes passé par un courriel de ce type, assurez-vous d'utiliser l'URL complète."
|
||||||
send_instructions: "Vous allez recevoir les instructions de réinitialisation du mot de passe dans quelques instants"
|
send_instructions: "Vous allez recevoir les instructions de réinitialisation du mot de passe dans quelques instants"
|
||||||
send_paranoid_instructions: "Si votre e-mail existe dans notre base de données, vous allez recevoir un lien de réinitialisation par e-mail"
|
send_paranoid_instructions: "Si votre adresse électronique existe dans notre base de données, vous allez recevoir un lien de réinitialisation par courriel"
|
||||||
updated: "Votre mot de passe a été édité avec succès, vous êtes maintenant connecté"
|
updated: "Votre mot de passe a été édité avec succès, vous êtes maintenant connecté"
|
||||||
updated_not_active: "Votre mot de passe a été changé avec succès."
|
updated_not_active: "Votre mot de passe a été changé avec succès."
|
||||||
registrations:
|
registrations:
|
||||||
|
@ -39,8 +41,8 @@ fr:
|
||||||
signed_up: "Bienvenue, vous êtes connecté."
|
signed_up: "Bienvenue, vous êtes connecté."
|
||||||
signed_up_but_inactive: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte n'est pas encore activé."
|
signed_up_but_inactive: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte n'est pas encore activé."
|
||||||
signed_up_but_locked: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte est verrouillé."
|
signed_up_but_locked: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte est verrouillé."
|
||||||
signed_up_but_unconfirmed: "Un message contenant un lien de confirmation a été envoyé à votre adresse email. Ouvrez ce lien pour activer votre compte."
|
signed_up_but_unconfirmed: "Un message contenant un lien de confirmation a été envoyé à votre adresse électronique. Ouvrez ce lien pour activer votre compte."
|
||||||
update_needs_confirmation: "Votre compte a bien été mis à jour mais nous devons vérifier votre nouvelle adresse email. Merci de vérifier vos emails et de cliquer sur le lien de confirmation pour finaliser la validation de votre nouvelle adresse."
|
update_needs_confirmation: "Votre compte a bien été mis à jour mais nous devons vérifier votre nouvelle adresse électronique. Merci de vérifier vos courriels et de cliquer sur le lien de confirmation pour finaliser la validation de votre nouvelle adresse."
|
||||||
updated: "Votre compte a été modifié avec succès."
|
updated: "Votre compte a été modifié avec succès."
|
||||||
sessions:
|
sessions:
|
||||||
signed_in: "Connecté."
|
signed_in: "Connecté."
|
||||||
|
@ -48,7 +50,7 @@ fr:
|
||||||
already_signed_out: "Déconnecté."
|
already_signed_out: "Déconnecté."
|
||||||
unlocks:
|
unlocks:
|
||||||
send_instructions: "Vous allez recevoir les instructions nécessaires au déverrouillage de votre compte dans quelques instants"
|
send_instructions: "Vous allez recevoir les instructions nécessaires au déverrouillage de votre compte dans quelques instants"
|
||||||
send_paranoid_instructions: "Si votre compte existe, vous allez bientôt recevoir un email contenant les instructions pour le déverrouiller."
|
send_paranoid_instructions: "Si votre compte existe, vous allez bientôt recevoir un courriel contenant les instructions pour le déverrouiller."
|
||||||
unlocked: "Votre compte a été déverrouillé avec succès, vous êtes maintenant connecté."
|
unlocked: "Votre compte a été déverrouillé avec succès, vous êtes maintenant connecté."
|
||||||
errors:
|
errors:
|
||||||
messages:
|
messages:
|
||||||
|
|
|
@ -89,6 +89,10 @@ fr:
|
||||||
messages:
|
messages:
|
||||||
blank: "doit être rempli"
|
blank: "doit être rempli"
|
||||||
not_a_number: 'doit être un nombre'
|
not_a_number: 'doit être un nombre'
|
||||||
|
greater_than: "doit être supérieur à %{count}"
|
||||||
|
greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
|
||||||
|
less_than: "doit être inférieur à %{count}"
|
||||||
|
less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
|
||||||
models:
|
models:
|
||||||
attestation_template:
|
attestation_template:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -125,54 +129,6 @@ fr:
|
||||||
password:
|
password:
|
||||||
too_short: ': Le mot de passe est trop court'
|
too_short: ': Le mot de passe est trop court'
|
||||||
|
|
||||||
devise:
|
|
||||||
confirmations:
|
|
||||||
confirmed: 'Votre compte a été confirmé avec succès.'
|
|
||||||
send_instructions: 'Vous allez recevoir un e-mail avec les instructions nécessaires à la confirmation de votre compte dans quelques minutes.'
|
|
||||||
send_paranoid_instructions: 'Si votre e-mail existe dans notre base de données, vous allez bientôt recevoir un e-mail contenant les instructions de confirmation de votre compte.'
|
|
||||||
failure:
|
|
||||||
already_authenticated: "Vous êtes déjà connecté"
|
|
||||||
inactive: "Votre compte n'est pas encore activé."
|
|
||||||
invalid: "%{authentication_keys} ou mot de passe incorrect."
|
|
||||||
locked: "Votre compte est verrouillé."
|
|
||||||
last_attempt: "Vous avez droit à une tentative avant que votre compte ne soit verrouillé."
|
|
||||||
locked: "Votre compte est verrouillé."
|
|
||||||
not_found_in_database: "%{authentication_keys} ou mot de passe incorrect."
|
|
||||||
timeout: "Votre session est expirée. Veuillez vous reconnecter pour continuer."
|
|
||||||
unauthenticated: "Vous devez vous connecter ou vous inscrire pour continuer."
|
|
||||||
unconfirmed: "Vous devez confirmer votre compte pour continuer."
|
|
||||||
mailer:
|
|
||||||
confirmation_instructions:
|
|
||||||
subject: "Instructions de confirmation"
|
|
||||||
reset_password_instructions:
|
|
||||||
subject: "Instructions pour changer le mot de passe"
|
|
||||||
unlock_instructions:
|
|
||||||
subject: "Instructions pour déverrouiller le compte"
|
|
||||||
omniauth_callbacks:
|
|
||||||
failure: "Nous n'avons pas pu vous authentifier via %{kind} : '%{reason}'."
|
|
||||||
success: 'Authentifié avec succès via %{kind}.'
|
|
||||||
passwords:
|
|
||||||
no_token: "Vous ne pouvez accéder à cette page sans passer par un e-mail de réinitialisation de mot de passe. Si vous êtes passé par un e-mail de ce type, assurez-vous d'utiliser l'URL complète."
|
|
||||||
send_instructions: 'Vous allez recevoir les instructions de réinitialisation du mot de passe dans quelques instants'
|
|
||||||
send_paranoid_instructions: "Si votre e-mail existe dans notre base de données, vous allez recevoir un lien de réinitialisation par e-mail"
|
|
||||||
updated: 'Votre mot de passe a été édité avec succès, vous êtes maintenant connecté'
|
|
||||||
updated_not_active: 'Votre mot de passe a été changé avec succès.'
|
|
||||||
registrations:
|
|
||||||
destroyed: 'Votre compte a été supprimé avec succès. Nous espérons vous revoir bientôt.'
|
|
||||||
signed_up: 'Bienvenue, vous êtes connecté.'
|
|
||||||
signed_up_but_inactive: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte n'est pas encore activé."
|
|
||||||
signed_up_but_locked: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte est verrouillé."
|
|
||||||
signed_up_but_unconfirmed: 'Un message contenant un lien de confirmation a été envoyé à votre adresse email. Ouvrez ce lien pour confirmer votre compte.'
|
|
||||||
update_needs_confirmation: "Votre compte a bien été mis à jour mais nous devons vérifier votre nouvelle adresse email. Merci de vérifier vos emails et de cliquer sur le lien de confirmation pour finaliser la validation de votre nouvelle adresse."
|
|
||||||
updated: 'Votre compte a été modifié avec succès.'
|
|
||||||
sessions:
|
|
||||||
signed_in: "Connecté avec succès."
|
|
||||||
signed_out: "Déconnecté avec succès."
|
|
||||||
already_signed_out: "Déconnecté avec succès."
|
|
||||||
unlocks:
|
|
||||||
send_instructions: 'Vous allez recevoir les instructions nécessaires au déverrouillage de votre compte dans quelques instants'
|
|
||||||
send_paranoid_instructions: 'Si votre compte existe, vous allez bientôt recevoir un email contenant les instructions pour le déverrouiller.'
|
|
||||||
unlocked: 'Votre compte a été déverrouillé avec succès, veuillez vous connecter pour continuer.'
|
|
||||||
errors:
|
errors:
|
||||||
messages:
|
messages:
|
||||||
already_confirmed: "a déjà été validé(e), veuillez essayer de vous connecter"
|
already_confirmed: "a déjà été validé(e), veuillez essayer de vous connecter"
|
||||||
|
|
|
@ -12,7 +12,10 @@ Rails.application.routes.draw do
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :users, only: [:index, :show]
|
resources :users, only: [:index, :show]
|
||||||
resources :gestionnaires, only: [:index, :show]
|
resources :gestionnaires, only: [:index, :show] do
|
||||||
|
post 'reinvite', on: :member
|
||||||
|
end
|
||||||
|
|
||||||
resources :dossiers, only: [:show]
|
resources :dossiers, only: [:show]
|
||||||
|
|
||||||
resources :demandes, only: [:index]
|
resources :demandes, only: [:index]
|
||||||
|
|
14
db/seeds.rb
14
db/seeds.rb
|
@ -1,7 +1,15 @@
|
||||||
# This file should contain all the record creation needed to seed the database with its default values.
|
# This file should contain all the record creation needed to seed the database with its default values.
|
||||||
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
|
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
|
||||||
|
|
||||||
#
|
#
|
||||||
# Examples:
|
# Create an initial user who can use all roles
|
||||||
#
|
#
|
||||||
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
|
|
||||||
# Mayor.create(name: 'Emanuel', city: cities.first)
|
default_user = "test@exemple.fr"
|
||||||
|
default_password = "testpassword"
|
||||||
|
|
||||||
|
puts "Create test user '#{default_user}'"
|
||||||
|
Administration.create!(email: default_user, password: default_password)
|
||||||
|
Administrateur.create!(email: default_user, password: default_password)
|
||||||
|
Gestionnaire.create!(email: default_user, password: default_password)
|
||||||
|
User.create!(email: default_user, password: default_password, confirmed_at: DateTime.now)
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2017_07_26_clean_birthdate_on_individual' do
|
namespace :'2017_07_26_clean_birthdate_on_individual' do
|
||||||
task clean: :environment do
|
task clean: :environment do
|
||||||
# remove duplicates
|
# remove duplicates
|
||||||
|
@ -10,13 +12,13 @@ namespace :'2017_07_26_clean_birthdate_on_individual' do
|
||||||
individuals_with_date = Individual.where.not(birthdate: nil)
|
individuals_with_date = Individual.where.not(birthdate: nil)
|
||||||
# Match 31/12/2017 => 2017-12-31
|
# Match 31/12/2017 => 2017-12-31
|
||||||
individuals_with_date.select { |i| /^\d{2}\/\d{2}\/\d{4}$/.match(i.birthdate) }.each do |i|
|
individuals_with_date.select { |i| /^\d{2}\/\d{2}\/\d{4}$/.match(i.birthdate) }.each do |i|
|
||||||
puts "cleaning #{i.birthdate}"
|
rake_puts "cleaning #{i.birthdate}"
|
||||||
i.update(birthdate: Date.parse(i.birthdate).iso8601) rescue nil
|
i.update(birthdate: Date.parse(i.birthdate).iso8601) rescue nil
|
||||||
end
|
end
|
||||||
|
|
||||||
# Match 31/12/17 => 2017-12-31
|
# Match 31/12/17 => 2017-12-31
|
||||||
individuals_with_date.select { |i| /^\d{2}\/\d{2}\/\d{2}$/.match(i.birthdate) }.each do |i|
|
individuals_with_date.select { |i| /^\d{2}\/\d{2}\/\d{2}$/.match(i.birthdate) }.each do |i|
|
||||||
puts "cleaning #{i.birthdate}"
|
rake_puts "cleaning #{i.birthdate}"
|
||||||
new_date = Date.strptime(i.birthdate, "%d/%m/%y")
|
new_date = Date.strptime(i.birthdate, "%d/%m/%y")
|
||||||
if new_date.year > 2017
|
if new_date.year > 2017
|
||||||
new_date = new_date - 100.years
|
new_date = new_date - 100.years
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2017_10_18_regenerate_attestation' do
|
namespace :'2017_10_18_regenerate_attestation' do
|
||||||
task set: :environment do
|
task set: :environment do
|
||||||
include ActiveSupport::Testing::TimeHelpers
|
include ActiveSupport::Testing::TimeHelpers
|
||||||
|
@ -15,7 +17,7 @@ namespace :'2017_10_18_regenerate_attestation' do
|
||||||
dossier = attestation.dossier
|
dossier = attestation.dossier
|
||||||
procedure = dossier.procedure
|
procedure = dossier.procedure
|
||||||
|
|
||||||
puts "processing dossier #{dossier.id}"
|
rake_puts "processing dossier #{dossier.id}"
|
||||||
|
|
||||||
travel_to(dossier.processed_at) do
|
travel_to(dossier.processed_at) do
|
||||||
new_attestation = procedure.attestation_template.attestation_for(dossier)
|
new_attestation = procedure.attestation_template.attestation_for(dossier)
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2017_10_30_copy_commentaire_piece_justificative_to_file' do
|
namespace :'2017_10_30_copy_commentaire_piece_justificative_to_file' do
|
||||||
task set: :environment do
|
task set: :environment do
|
||||||
commentaires_to_process = Commentaire.where(file: nil).where.not(piece_justificative_id: nil).reorder(id: :desc)
|
commentaires_to_process = Commentaire.where(file: nil).where.not(piece_justificative_id: nil).reorder(id: :desc)
|
||||||
|
|
||||||
puts "#{commentaires_to_process.count} commentaires to process..."
|
rake_puts "#{commentaires_to_process.count} commentaires to process..."
|
||||||
|
|
||||||
commentaires_to_process.each do |c|
|
commentaires_to_process.each do |c|
|
||||||
process_commentaire(c)
|
process_commentaire(c)
|
||||||
|
@ -12,7 +14,7 @@ namespace :'2017_10_30_copy_commentaire_piece_justificative_to_file' do
|
||||||
task fix: :environment do
|
task fix: :environment do
|
||||||
commentaires_to_fix = Commentaire.where.not(file: nil).where.not(piece_justificative_id: nil).reorder(id: :desc)
|
commentaires_to_fix = Commentaire.where.not(file: nil).where.not(piece_justificative_id: nil).reorder(id: :desc)
|
||||||
|
|
||||||
puts "#{commentaires_to_fix.count} commentaires to fix..."
|
rake_puts "#{commentaires_to_fix.count} commentaires to fix..."
|
||||||
|
|
||||||
commentaires_to_fix.each do |c|
|
commentaires_to_fix.each do |c|
|
||||||
process_commentaire(c)
|
process_commentaire(c)
|
||||||
|
@ -27,7 +29,7 @@ namespace :'2017_10_30_copy_commentaire_piece_justificative_to_file' do
|
||||||
end
|
end
|
||||||
|
|
||||||
def process_commentaire(commentaire)
|
def process_commentaire(commentaire)
|
||||||
puts "Processing commentaire #{commentaire.id}"
|
rake_puts "Processing commentaire #{commentaire.id}"
|
||||||
if commentaire.piece_justificative.present?
|
if commentaire.piece_justificative.present?
|
||||||
# https://github.com/carrierwaveuploader/carrierwave#uploading-files-from-a-remote-location
|
# https://github.com/carrierwaveuploader/carrierwave#uploading-files-from-a-remote-location
|
||||||
commentaire.remote_file_url = commentaire.piece_justificative.content_url
|
commentaire.remote_file_url = commentaire.piece_justificative.content_url
|
||||||
|
@ -42,7 +44,7 @@ namespace :'2017_10_30_copy_commentaire_piece_justificative_to_file' do
|
||||||
|
|
||||||
commentaire.save
|
commentaire.save
|
||||||
if commentaire.file.blank?
|
if commentaire.file.blank?
|
||||||
puts "Failed to save file for commentaire #{commentaire.id}"
|
rake_puts "Failed to save file for commentaire #{commentaire.id}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,18 +1,20 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2017_12_05_initialize_timestamps_for_entreprises' do
|
namespace :'2017_12_05_initialize_timestamps_for_entreprises' do
|
||||||
task set: :environment do
|
task set: :environment do
|
||||||
entreprises = Entreprise.where(created_at: nil).includes(:dossier)
|
entreprises = Entreprise.where(created_at: nil).includes(:dossier)
|
||||||
|
|
||||||
puts "#{entreprises.count} to initialize..."
|
rake_puts "#{entreprises.count} to initialize..."
|
||||||
|
|
||||||
entreprises.each { |e| initialize_entreprise(e) }
|
entreprises.each { |e| initialize_entreprise(e) }
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize_entreprise(entreprise)
|
def initialize_entreprise(entreprise)
|
||||||
puts "initializing entreprise #{entreprise.id}"
|
rake_puts "initializing entreprise #{entreprise.id}"
|
||||||
if entreprise.dossier.present?
|
if entreprise.dossier.present?
|
||||||
entreprise.update_columns(created_at: entreprise.dossier.created_at, updated_at: entreprise.dossier.created_at)
|
entreprise.update_columns(created_at: entreprise.dossier.created_at, updated_at: entreprise.dossier.created_at)
|
||||||
else
|
else
|
||||||
puts "dossier #{entreprise.dossier_id} is missing for entreprise #{entreprise.id}"
|
rake_puts "dossier #{entreprise.dossier_id} is missing for entreprise #{entreprise.id}"
|
||||||
entreprise.update_columns(created_at: DateTime.now, updated_at: DateTime.now)
|
entreprise.update_columns(created_at: DateTime.now, updated_at: DateTime.now)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2017_12_20_delete_old_administration' do
|
namespace :'2017_12_20_delete_old_administration' do
|
||||||
task set: :environment do
|
task set: :environment do
|
||||||
Administration.all.each do |a|
|
Administration.all.each do |a|
|
||||||
puts "Deleting #{a.email}"
|
rake_puts "Deleting #{a.email}"
|
||||||
a.destroy
|
a.destroy
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2018_01_18_clean_datetime_in_champs' do
|
namespace :'2018_01_18_clean_datetime_in_champs' do
|
||||||
task clean: :environment do
|
task clean: :environment do
|
||||||
datetime_champs = TypeDeChamp.where(type_champ: "datetime").flat_map{ |t| t.champ }
|
datetime_champs = TypeDeChamp.where(type_champ: "datetime").flat_map{ |t| t.champ }
|
||||||
|
|
||||||
# Match " HH:MM" => nil a datetime is not valid if not composed by date AND time
|
# Match " HH:MM" => nil a datetime is not valid if not composed by date AND time
|
||||||
datetime_champs.select { |c| /^\s\d{2}:\d{2}$/.match(c.value) }.each do |c|
|
datetime_champs.select { |c| /^\s\d{2}:\d{2}$/.match(c.value) }.each do |c|
|
||||||
puts "cleaning #{c.value} => nil"
|
rake_puts "cleaning #{c.value} => nil"
|
||||||
c.update_columns(value: nil)
|
c.update_columns(value: nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Match "dd/mm/YYYY HH:MM" => "YYYY-mm-dd HH:MM"
|
# Match "dd/mm/YYYY HH:MM" => "YYYY-mm-dd HH:MM"
|
||||||
datetime_champs.select { |c| /^\d{2}\/\d{2}\/\d{4}\s\d{2}:\d{2}$/ =~ c.value }.each do |c|
|
datetime_champs.select { |c| /^\d{2}\/\d{2}\/\d{4}\s\d{2}:\d{2}$/ =~ c.value }.each do |c|
|
||||||
formated_date = DateTime.parse(c.value, "%d/%m/%Y %H:%M").strftime("%Y-%m-%d %H:%M")
|
formated_date = DateTime.parse(c.value, "%d/%m/%Y %H:%M").strftime("%Y-%m-%d %H:%M")
|
||||||
puts "cleaning #{c.value} => #{formated_date}"
|
rake_puts "cleaning #{c.value} => #{formated_date}"
|
||||||
c.update_columns(value: formated_date)
|
c.update_columns(value: formated_date)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -23,7 +25,7 @@ namespace :'2018_01_18_clean_datetime_in_champs' do
|
||||||
hours = c.value[9,2]
|
hours = c.value[9,2]
|
||||||
minutes = c.value[12,2]
|
minutes = c.value[12,2]
|
||||||
formated_date = "#{year}-#{month}-#{day} #{hours}:#{minutes}"
|
formated_date = "#{year}-#{month}-#{day} #{hours}:#{minutes}"
|
||||||
puts "cleaning #{c.value} => #{formated_date}"
|
rake_puts "cleaning #{c.value} => #{formated_date}"
|
||||||
c.update_columns(value: formated_date)
|
c.update_columns(value: formated_date)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
require Rails.root.join("app", "helpers", "html_to_string_helper")
|
require Rails.root.join("app", "helpers", "html_to_string_helper")
|
||||||
|
|
||||||
namespace :'2018_03_06_clean_html_textareas' do
|
namespace :'2018_03_06_clean_html_textareas' do
|
||||||
|
@ -5,6 +6,8 @@ namespace :'2018_03_06_clean_html_textareas' do
|
||||||
include ActionView::Helpers::TextHelper
|
include ActionView::Helpers::TextHelper
|
||||||
include HtmlToStringHelper
|
include HtmlToStringHelper
|
||||||
|
|
||||||
|
rake_puts "PUTS Will migrate champs"
|
||||||
|
|
||||||
champs = Champ.joins(:type_de_champ)
|
champs = Champ.joins(:type_de_champ)
|
||||||
.where(types_de_champ: { type_champ: "textarea" })
|
.where(types_de_champ: { type_champ: "textarea" })
|
||||||
.where("value LIKE '%<%'")
|
.where("value LIKE '%<%'")
|
||||||
|
@ -13,7 +16,7 @@ namespace :'2018_03_06_clean_html_textareas' do
|
||||||
|
|
||||||
champs.find_each(batch_size: 100).with_index do |c, i|
|
champs.find_each(batch_size: 100).with_index do |c, i|
|
||||||
if (i % 100) == 0
|
if (i % 100) == 0
|
||||||
print "Champ #{i}/#{total}\n"
|
rake_puts "Champ #{i}/#{total}\n"
|
||||||
end
|
end
|
||||||
c.update_column(:value, html_to_string(c.value))
|
c.update_column(:value, html_to_string(c.value))
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2018_03_29_remove_code_tags_from_mail_templates' do
|
namespace :'2018_03_29_remove_code_tags_from_mail_templates' do
|
||||||
task clean: :environment do
|
task clean: :environment do
|
||||||
remove_code_tag_from_body(Mails::ClosedMail)
|
remove_code_tag_from_body(Mails::ClosedMail)
|
||||||
|
@ -9,9 +11,9 @@ namespace :'2018_03_29_remove_code_tags_from_mail_templates' do
|
||||||
|
|
||||||
def remove_code_tag_from_body(model_class)
|
def remove_code_tag_from_body(model_class)
|
||||||
mails = model_class.where("body LIKE ?", "%<code>%")
|
mails = model_class.where("body LIKE ?", "%<code>%")
|
||||||
puts "#{mails.count} #{model_class.name} to clean"
|
rake_puts "#{mails.count} #{model_class.name} to clean"
|
||||||
mails.each do |m|
|
mails.each do |m|
|
||||||
puts "cleaning #{model_class.name} ##{m.id}"
|
rake_puts "cleaning #{model_class.name} ##{m.id}"
|
||||||
m.update(body: m.body.gsub("<code>", "").gsub("</code>", ""))
|
m.update(body: m.body.gsub("<code>", "").gsub("</code>", ""))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2018_04_04_fetch_etablissement_with_no_entreprise' do
|
namespace :'2018_04_04_fetch_etablissement_with_no_entreprise' do
|
||||||
task fetch: :environment do
|
task fetch: :environment do
|
||||||
dossiers = Entreprise.joins('LEFT JOIN etablissements et ON entreprises.id = et.entreprise_id')
|
dossiers = Entreprise.joins('LEFT JOIN etablissements et ON entreprises.id = et.entreprise_id')
|
||||||
|
@ -7,7 +9,7 @@ namespace :'2018_04_04_fetch_etablissement_with_no_entreprise' do
|
||||||
dossiers.each do |dossier|
|
dossiers.each do |dossier|
|
||||||
siret = dossier.entreprise.siret_siege_social
|
siret = dossier.entreprise.siret_siege_social
|
||||||
|
|
||||||
puts "Fetch siret: #{siret} for dossier: #{dossier.id}"
|
rake_puts "Fetch siret: #{siret} for dossier: #{dossier.id}"
|
||||||
|
|
||||||
if siret
|
if siret
|
||||||
EtablissementUpdateJob.perform_later(dossier, siret)
|
EtablissementUpdateJob.perform_later(dossier, siret)
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2018_06_05_resend_attestations' do
|
namespace :'2018_06_05_resend_attestations' do
|
||||||
task set: :environment do
|
task set: :environment do
|
||||||
procedure = Procedure.find(4247)
|
procedure = Procedure.find(4247)
|
||||||
|
@ -12,7 +14,7 @@ namespace :'2018_06_05_resend_attestations' do
|
||||||
dossier.attestation = dossier.build_attestation
|
dossier.attestation = dossier.build_attestation
|
||||||
|
|
||||||
ResendAttestationMailer.resend_attestation(dossier).deliver_later
|
ResendAttestationMailer.resend_attestation(dossier).deliver_later
|
||||||
puts "Email envoyé à #{dossier.user.email} pour le dossier #{dossier.id}"
|
rake_puts "Email envoyé à #{dossier.user.email} pour le dossier #{dossier.id}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2018_06_05_send_new_attestation' do
|
namespace :'2018_06_05_send_new_attestation' do
|
||||||
task set: :environment do
|
task set: :environment do
|
||||||
ids = [
|
ids = [
|
||||||
|
@ -37,14 +39,14 @@ namespace :'2018_06_05_send_new_attestation' do
|
||||||
if attestation
|
if attestation
|
||||||
id = attestation.id
|
id = attestation.id
|
||||||
attestation.destroy
|
attestation.destroy
|
||||||
puts "Attestation #{id} détruite"
|
rake_puts "Attestation #{id} détruite"
|
||||||
end
|
end
|
||||||
|
|
||||||
dossier.attestation = dossier.build_attestation
|
dossier.attestation = dossier.build_attestation
|
||||||
|
|
||||||
NewAttestationMailer.new_attestation(dossier).deliver_later
|
NewAttestationMailer.new_attestation(dossier).deliver_later
|
||||||
puts "Email envoyé à #{dossier.user.email} pour le dossier #{dossier.id}"
|
rake_puts "Email envoyé à #{dossier.user.email} pour le dossier #{dossier.id}"
|
||||||
puts
|
rake_puts
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
require Rails.root.join("lib", "tasks", "task_helper")
|
||||||
|
|
||||||
namespace :'2018_06_06_users_for_admins_and_gestionnaires' do
|
namespace :'2018_06_06_users_for_admins_and_gestionnaires' do
|
||||||
task preactivate: :environment do
|
task preactivate: :environment do
|
||||||
preactivate_users(Gestionnaire, 'accompagnateur') { |g| g.reset_password_token.nil? }
|
preactivate_users(Gestionnaire, 'accompagnateur') { |g| g.reset_password_token.nil? }
|
||||||
|
@ -14,7 +16,7 @@ namespace :'2018_06_06_users_for_admins_and_gestionnaires' do
|
||||||
.to_a
|
.to_a
|
||||||
.select(&block)
|
.select(&block)
|
||||||
|
|
||||||
puts("Sending emails to #{already_activated.count} #{table_name} that were already confirmed")
|
rake_puts "Sending emails to #{already_activated.count} #{table_name} that were already confirmed"
|
||||||
|
|
||||||
already_activated.each { |m| PreactivateUsersMailer.reinvite(m, role_name).deliver_later }
|
already_activated.each { |m| PreactivateUsersMailer.reinvite(m, role_name).deliver_later }
|
||||||
|
|
||||||
|
@ -24,6 +26,6 @@ namespace :'2018_06_06_users_for_admins_and_gestionnaires' do
|
||||||
.where(confirmed_at: nil)
|
.where(confirmed_at: nil)
|
||||||
.update_all(confirmed_at: DateTime.now)
|
.update_all(confirmed_at: DateTime.now)
|
||||||
|
|
||||||
puts("Fixed #{count} #{table_name} with unconfirmed user")
|
rake_puts "Fixed #{count} #{table_name} with unconfirmed user"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
10
lib/tasks/task_helper.rb
Normal file
10
lib/tasks/task_helper.rb
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Write the given objects to the standard output – except if Rake is configured
|
||||||
|
# to be quiet.
|
||||||
|
#
|
||||||
|
# This is useful when running tests (when Rake is configured to be quiet),
|
||||||
|
# to avoid spamming the output with extra informations.
|
||||||
|
def rake_puts(*args)
|
||||||
|
if Rake.verbose
|
||||||
|
puts(*args)
|
||||||
|
end
|
||||||
|
end
|
|
@ -118,6 +118,8 @@ RSpec.configure do |config|
|
||||||
end
|
end
|
||||||
|
|
||||||
config.before(:all) {
|
config.before(:all) {
|
||||||
|
Rake.verbose false
|
||||||
|
|
||||||
Warden.test_mode!
|
Warden.test_mode!
|
||||||
|
|
||||||
Typhoeus::Expectation.clear
|
Typhoeus::Expectation.clear
|
||||||
|
|
Loading…
Reference in a new issue