From a49c962ab3173f2e24994150a37b809df4fc0159 Mon Sep 17 00:00:00 2001 From: Paul Chavard Date: Thu, 24 Sep 2020 09:57:43 +0200 Subject: [PATCH 1/5] Redirect demandes to DEMANDE_INSCRIPTION_ADMIN_PAGE_URL --- .../new_administrateur/procedure_administrateurs_controller.rb | 2 +- config/routes.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/new_administrateur/procedure_administrateurs_controller.rb b/app/controllers/new_administrateur/procedure_administrateurs_controller.rb index a35b980a6..08e949e2d 100644 --- a/app/controllers/new_administrateur/procedure_administrateurs_controller.rb +++ b/app/controllers/new_administrateur/procedure_administrateurs_controller.rb @@ -11,7 +11,7 @@ module NewAdministrateur # Find the admin administrateur = Administrateur.by_email(email) if administrateur.nil? - flash.alert = "L’administrateur « #{email} » n’existe pas. Invitez-le à demander un compte administrateur à l’addresse #{new_demande_url}." + flash.alert = "L’administrateur « #{email} » n’existe pas. Invitez-le à demander un compte administrateur à l’addresse #{DEMANDE_INSCRIPTION_ADMIN_PAGE_URL}." return end diff --git a/config/routes.rb b/config/routes.rb index 23b83dae0..fc8eec97d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -423,6 +423,7 @@ Rails.application.routes.draw do # # Legacy routes # + get 'demandes/new' => redirect(DEMANDE_INSCRIPTION_ADMIN_PAGE_URL) get 'backoffice' => redirect('/procedures') get 'backoffice/sign_in' => redirect('/users/sign_in') From c19b65358100740828a8907df904b53163110711 Mon Sep 17 00:00:00 2001 From: clemkeirua Date: Thu, 24 Sep 2020 14:24:53 +0200 Subject: [PATCH 2/5] higher level length sanitization for worksheet length --- app/models/champs/repetition_champ.rb | 2 +- app/services/procedure_export_service.rb | 5 ++++- spec/services/procedure_export_service_spec.rb | 15 +++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/models/champs/repetition_champ.rb b/app/models/champs/repetition_champ.rb index d95c917ff..3d53a48ad 100644 --- a/app/models/champs/repetition_champ.rb +++ b/app/models/champs/repetition_champ.rb @@ -53,7 +53,7 @@ class Champs::RepetitionChamp < Champ def libelle_for_export str = "(#{stable_id}) #{libelle}" # /\*?[] are invalid Excel worksheet characters - ActiveStorage::Filename.new(str.delete('[]*?')).sanitized.truncate(30) + ActiveStorage::Filename.new(str.delete('[]*?')).sanitized end class Row < Hashie::Dash diff --git a/app/services/procedure_export_service.rb b/app/services/procedure_export_service.rb index 4e7a79778..66a325a66 100644 --- a/app/services/procedure_export_service.rb +++ b/app/services/procedure_export_service.rb @@ -62,7 +62,7 @@ class ProcedureExportService } def options_for(table, format) - case table + options = case table when :dossiers { instances: dossiers.to_a, sheet_name: 'Dossiers', spreadsheet_columns: :"spreadsheet_columns_#{format}" } when :etablissements @@ -72,5 +72,8 @@ class ProcedureExportService when Array { instances: table.last, sheet_name: table.first } end.merge(DEFAULT_STYLES) + + options[:sheet_name] = options[:sheet_name].truncate(30) + options end end diff --git a/spec/services/procedure_export_service_spec.rb b/spec/services/procedure_export_service_spec.rb index 34f140986..741f9bdd1 100644 --- a/spec/services/procedure_export_service_spec.rb +++ b/spec/services/procedure_export_service_spec.rb @@ -356,6 +356,21 @@ describe ProcedureExportService do end end + context 'with long libelle' do + before do + procedure.types_de_champ.each do |c| + c.update!(libelle: "#{c.id} - Quam rem nam maiores numquam dolorem nesciunt. Cum et possimus et aut. Fugit voluptas qui qui.") + end + champ_repetition.champs.each do |c| + c.type_de_champ.update!(libelle: "#{c.id} - Quam rem nam maiores numquam dolorem nesciunt. Cum et possimus et aut. Fugit voluptas qui qui.") + end + end + + it 'should have valid sheet name' do + expect { subject }.not_to raise_error(ArgumentError) + end + end + context 'with non unique labels' do let(:dossier) { create(:dossier, :en_instruction, :with_all_champs, :with_individual, procedure: procedure) } let(:champ_repetition) { dossier.champs.find { |champ| champ.type_champ == 'repetition' } } From f44ebf4cbca64620f4b5f8f704c4224d8560e138 Mon Sep 17 00:00:00 2001 From: Keirua Date: Thu, 24 Sep 2020 16:28:14 +0200 Subject: [PATCH 3/5] Create dependabot.yml --- .github/dependabot.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..6d3c8e191 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,14 @@ +# Dependabot's documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "bundler" + directory: "/" # Location of package manifests + schedule: + interval: "daily" + +# - package-ecosystem: "npm" # See documentation for possible values +# directory: "/" # Location of package manifests +# schedule: +# interval: "daily" From 11f3cd96f26370fa54869b10430764f438bd56ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Sep 2020 15:17:01 +0000 Subject: [PATCH 4/5] Bump graphql-batch from 0.4.2 to 0.4.3 Bumps [graphql-batch](https://github.com/Shopify/graphql-batch) from 0.4.2 to 0.4.3. - [Release notes](https://github.com/Shopify/graphql-batch/releases) - [Commits](https://github.com/Shopify/graphql-batch/compare/v0.4.2...v0.4.3) Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index dd871a642..115805861 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -274,7 +274,7 @@ GEM multi_json request_store (>= 1.0) graphql (1.10.9) - graphql-batch (0.4.2) + graphql-batch (0.4.3) graphql (>= 1.3, < 2) promise.rb (~> 0.7.2) graphql-rails_logger (1.2.2) From d617a4b2529f319ae54fa2d118d7baabce11a7f0 Mon Sep 17 00:00:00 2001 From: clemkeirua Date: Thu, 24 Sep 2020 17:39:16 +0200 Subject: [PATCH 5/5] create export after commiting the export object --- app/models/export.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/export.rb b/app/models/export.rb index 39f9e107b..508c63792 100644 --- a/app/models/export.rb +++ b/app/models/export.rb @@ -24,7 +24,7 @@ class Export < ApplicationRecord scope :stale, -> { where('updated_at < ?', (Time.zone.now - MAX_DUREE_CONSERVATION_EXPORT)) } - after_create :compute_async + after_save_commit :compute_async def compute_async ExportJob.perform_later(self)