commit
fd1e1914b6
13 changed files with 115 additions and 13 deletions
12
.github/workflows/rebase.yml
vendored
12
.github/workflows/rebase.yml
vendored
|
@ -8,17 +8,11 @@ jobs:
|
||||||
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
|
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@master
|
- name: Checkout the latest code
|
||||||
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Automatic Rebase
|
- name: Automatic Rebase
|
||||||
uses: cirrus-actions/rebase@1.2
|
uses: cirrus-actions/rebase@1.3.1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
# https://github.community/t5/GitHub-Actions/Workflow-is-failing-if-no-job-can-be-ran-due-to-condition/m-p/38186#M3250
|
|
||||||
always_job:
|
|
||||||
name: Always run job
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Always run
|
|
||||||
run: echo "This job is used to prevent the workflow to fail when all other jobs are skipped."
|
|
||||||
|
|
|
@ -37,6 +37,29 @@ $procedure-description-line-height: 22px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.procedure-auto-archive {
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
margin-bottom: 32px;
|
||||||
|
|
||||||
|
p {
|
||||||
|
padding-top: 8px;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
summary {
|
||||||
|
font-size: 20px;
|
||||||
|
|
||||||
|
&:-webkit-details-marker {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.procedure-auto-archive-title {
|
||||||
|
border-bottom: 1px dotted $blue;
|
||||||
|
}
|
||||||
|
|
||||||
.procedure-description {
|
.procedure-description {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
||||||
|
|
|
@ -38,5 +38,15 @@ module ProcedureHelper
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
def procedure_auto_archive_date(procedure)
|
||||||
|
I18n.l(procedure.auto_archive_on - 1.day, format: '%-d %B %Y')
|
||||||
|
end
|
||||||
|
|
||||||
|
def procedure_auto_archive_time(procedure)
|
||||||
|
"à 23 h 59 (heure de " + Rails.application.config.time_zone + ")"
|
||||||
|
end
|
||||||
|
|
||||||
|
def procedure_auto_archive_datetime(procedure)
|
||||||
|
procedure_auto_archive_date(procedure) + ' ' + procedure_auto_archive_time(procedure)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
class DossierMailer < ApplicationMailer
|
class DossierMailer < ApplicationMailer
|
||||||
helper ServiceHelper
|
helper ServiceHelper
|
||||||
helper MailerHelper
|
helper MailerHelper
|
||||||
|
helper ProcedureHelper
|
||||||
|
|
||||||
layout 'mailers/layout'
|
layout 'mailers/layout'
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
» est commencé mais n'est pas encore déposé.
|
» est commencé mais n'est pas encore déposé.
|
||||||
%p
|
%p
|
||||||
Si vous souhaitez que ce dossier soit pris en compte, il vous faut le déposer avant le
|
Si vous souhaitez que ce dossier soit pris en compte, il vous faut le déposer avant le
|
||||||
#{l(@dossier.procedure.auto_archive_on - 1.day, format: '%-d %B %Y')} à 23h59, date de cloture de la démarche.
|
#{procedure_auto_archive_datetime(@dossier.procedure)}, date limite de dépôt des dossiers.
|
||||||
%p
|
%p
|
||||||
Pour cela, affichez le dossier avec le bouton ci-dessous, vérifiez votre dossier puis
|
Pour cela, affichez le dossier avec le bouton ci-dessous, vérifiez votre dossier puis
|
||||||
cliquez sur le bouton
|
cliquez sur le bouton
|
||||||
|
|
|
@ -16,6 +16,10 @@
|
||||||
|
|
||||||
= round_button('Afficher votre dossier', dossier_url(@dossier), :primary)
|
= round_button('Afficher votre dossier', dossier_url(@dossier), :primary)
|
||||||
|
|
||||||
|
- if @dossier.procedure.auto_archive_on
|
||||||
|
%p
|
||||||
|
Vous pouvez déposer votre dossier jusqu'au #{procedure_auto_archive_datetime(@dossier.procedure)}.
|
||||||
|
|
||||||
= render 'layouts/mailers/signature'
|
= render 'layouts/mailers/signature'
|
||||||
|
|
||||||
- content_for :footer do
|
- content_for :footer do
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
Le
|
Le
|
||||||
- value = @procedure.auto_archive_on ? @procedure.auto_archive_on - 1.day : nil
|
- value = @procedure.auto_archive_on ? @procedure.auto_archive_on - 1.day : nil
|
||||||
= f.date_field :auto_archive_on, id: 'auto_archive_on', value: value
|
= f.date_field :auto_archive_on, id: 'auto_archive_on', value: value
|
||||||
à 23 h 59
|
#{procedure_auto_archive_time(@procedure)}.
|
||||||
|
|
||||||
= f.label :declarative_with_state do
|
= f.label :declarative_with_state do
|
||||||
Démarche déclarative
|
Démarche déclarative
|
||||||
|
|
|
@ -7,6 +7,15 @@
|
||||||
= image_tag("flag_of_europe.svg", id: 'euro_flag', class: (!procedure.euro_flag ? "hidden" : ""))
|
= image_tag("flag_of_europe.svg", id: 'euro_flag', class: (!procedure.euro_flag ? "hidden" : ""))
|
||||||
%h1.procedure-title
|
%h1.procedure-title
|
||||||
= procedure.libelle
|
= procedure.libelle
|
||||||
|
|
||||||
|
- if procedure.auto_archive_on
|
||||||
|
%details.procedure-auto-archive
|
||||||
|
%summary
|
||||||
|
%span.icon.clock
|
||||||
|
|
||||||
|
%span.procedure-auto-archive-title Date limite : #{procedure_auto_archive_date(procedure)}
|
||||||
|
%p Vous pouvez déposer vos dossiers jusqu'au #{procedure_auto_archive_datetime(procedure)}.
|
||||||
|
|
||||||
.procedure-description
|
.procedure-description
|
||||||
.procedure-description-body.read-more-enabled.read-more-collapsed
|
.procedure-description-body.read-more-enabled.read-more-collapsed
|
||||||
= h string_to_html(procedure.description)
|
= h string_to_html(procedure.description)
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
namespace :after_party do
|
||||||
|
desc 'Deployment task: fix_dossier_etablissement'
|
||||||
|
task fix_dossier_etablissement: :environment do
|
||||||
|
puts "Running deploy task 'fix_dossier_etablissement'"
|
||||||
|
|
||||||
|
etablissements = Etablissement.joins(:champ).where.not(dossier_id: nil).where('etablissements.created_at > ?', 1.month.ago)
|
||||||
|
dossiers_modif = []
|
||||||
|
etablissements.find_each do |e|
|
||||||
|
if e.dossier
|
||||||
|
dossier = e.dossier
|
||||||
|
e.update!(dossier_id: nil)
|
||||||
|
dossier.reload.etablissement = e.reload.dup
|
||||||
|
dossier.save!
|
||||||
|
dossiers_modif << dossier.id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
puts "Nb dossiers modifiés: #{dossiers_modif.size}"
|
||||||
|
AfterParty::TaskRecord.create version: '20200528124044'
|
||||||
|
end
|
||||||
|
end
|
|
@ -86,6 +86,10 @@ FactoryBot.define do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
trait :with_auto_archive do
|
||||||
|
auto_archive_on { Time.zone.today + 20 }
|
||||||
|
end
|
||||||
|
|
||||||
trait :with_type_de_champ do
|
trait :with_type_de_champ do
|
||||||
transient do
|
transient do
|
||||||
types_de_champ_count { 1 }
|
types_de_champ_count { 1 }
|
||||||
|
|
10
spec/helpers/procedure_helper_spec.rb
Normal file
10
spec/helpers/procedure_helper_spec.rb
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
RSpec.describe ProcedureHelper, type: :helper do
|
||||||
|
let(:auto_archive_date) { Time.zone.local(2020, 8, 2, 12, 00) }
|
||||||
|
let(:procedure) { build(:procedure, auto_archive_on: auto_archive_date) }
|
||||||
|
|
||||||
|
subject { procedure_auto_archive_datetime(procedure) }
|
||||||
|
|
||||||
|
it "displays the day before the auto archive date (to account for the '23h59' ending time)" do
|
||||||
|
expect(subject).to have_text("1 août 2020 à 23 h 59 (heure de Paris)")
|
||||||
|
end
|
||||||
|
end
|
|
@ -12,7 +12,7 @@ RSpec.describe DossierMailer, type: :mailer do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '.notify_new_draft' do
|
describe '.notify_new_draft' do
|
||||||
let(:dossier) { create(:dossier, procedure: build(:simple_procedure)) }
|
let(:dossier) { create(:dossier, procedure: build(:simple_procedure, :with_auto_archive)) }
|
||||||
|
|
||||||
subject { described_class.notify_new_draft(dossier) }
|
subject { described_class.notify_new_draft(dossier) }
|
||||||
|
|
||||||
|
@ -20,6 +20,8 @@ RSpec.describe DossierMailer, type: :mailer do
|
||||||
it { expect(subject.subject).to include(dossier.procedure.libelle) }
|
it { expect(subject.subject).to include(dossier.procedure.libelle) }
|
||||||
it { expect(subject.body).to include(dossier.procedure.libelle) }
|
it { expect(subject.body).to include(dossier.procedure.libelle) }
|
||||||
it { expect(subject.body).to include(dossier_url(dossier)) }
|
it { expect(subject.body).to include(dossier_url(dossier)) }
|
||||||
|
it { expect(subject.body).to include("Vous pouvez déposer votre dossier jusqu'au") }
|
||||||
|
it { expect(subject.body).to include("heure de") }
|
||||||
|
|
||||||
it_behaves_like 'a dossier notification'
|
it_behaves_like 'a dossier notification'
|
||||||
end
|
end
|
||||||
|
|
25
spec/views/shared/_procedure_description.html.haml_spec.rb
Normal file
25
spec/views/shared/_procedure_description.html.haml_spec.rb
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
describe 'shared/_procedure_description.html.haml', type: :view do
|
||||||
|
let(:procedure) { create(:procedure, :published, :with_service) }
|
||||||
|
|
||||||
|
subject { render partial: 'shared/procedure_description', locals: { procedure: procedure } }
|
||||||
|
|
||||||
|
it 'renders the view' do
|
||||||
|
subject
|
||||||
|
expect(rendered).to have_selector('.procedure-logos')
|
||||||
|
expect(rendered).to have_text(procedure.libelle)
|
||||||
|
expect(rendered).to have_text(procedure.description)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'does not show empty date limite' do
|
||||||
|
subject
|
||||||
|
expect(rendered).not_to have_text('Date limite')
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when the procedure has an auto_archive date' do
|
||||||
|
let(:procedure) { create(:procedure, :published, :with_service, :with_auto_archive) }
|
||||||
|
it 'shows the auto_archive_on' do
|
||||||
|
subject
|
||||||
|
expect(rendered).to have_text('Date limite')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue