Damien Le Thiec
3a8a50a216
Allow prefill pays type de champs ( #8344 )
...
* Allow prefill pays type de champs
* Avoid conditional prefil params for pays champ
* Clean pays data with batch update
* Fix bug and add test batch update pays value
* Improve performance batch_update_pays
* Fix associated country code problem
* Fix after party task name
* Format country name if needed in batch update
2023-01-18 12:52:38 +01:00
Martin
a4d6692bc6
accessibilite(pages-authentification): evolutions des pages de connexion/creation de compte pour respecter le DSFR et supporter une meilleure accessibilite
...
Update app/components/dsfr/input_component/input_component.html.haml
Co-authored-by: Colin Darie <colin@darie.eu>
2023-01-03 16:26:05 +01:00
Martin
186d4e6539
correctif(ChampDepartement): gere les departement a 3 codes
2022-12-27 14:55:57 +01:00
Paul Chavard
bd9fe7eb7c
feat(export): add pays, region and departement codes
2022-12-21 14:03:02 +01:00
Paul Chavard
4d4c378724
feat(api_geo): add api_geo service
2022-12-21 14:03:02 +01:00
Eric Leroy-Terquem
2645ac85f7
update wording and order in types de champ select
2022-12-16 09:30:36 +01:00
simon lehericey
fe8bd15939
feat(timestamp): ensure signature is openssl compatible
2022-12-07 19:28:01 +01:00
Martin
d96fba1341
bug(export.pjs): sur l'export, les champs de type piece justificative devraient renvoyer un tableau de la meme dimension quelque soit le nombre de pj joint
2022-12-06 15:04:50 +01:00
Paul Chavard
ed4d5cb36a
refactor(demarche): make declarative demarche processing syncroneous
2022-12-06 11:41:25 +01:00
Colin Darie
b8296c6d4d
feat(piece_justificative): supports multiple files
...
Closes #7924
2022-12-05 10:47:10 +01:00
Paul Chavard
c5901fbb95
clean(type_de_champ): remove magic factory
2022-12-01 16:36:59 +01:00
Paul Chavard
d306583a7b
refactor(active_storage): PiecesJustificativesService::FakeAttachment -> ActiveStorage::FakeAttachment
2022-11-22 18:05:26 +01:00
Paul Chavard
0c0618aa79
feat(export): add GeoJSON export
2022-11-18 10:04:35 +01:00
Paul Chavard
29bdd82b59
refactor(procedure): types_de_champ -> active_revision.types_de_champ_public
2022-11-17 13:54:14 +01:00
Paul Chavard
e6288c39f2
refactor(dossier): champs -> champs_public
2022-11-10 22:44:39 +00:00
Martin
9562108c60
amelioration(archive.nom-de-fichier): ameliore le nom du fichier d'une archive mensuelle pour eviter les confusion
2022-11-02 16:56:50 +01:00
Martin
2cd74d1010
amelioration(archives): positionne le fichier des reporting des erreurs en tête de l'arborescence
2022-10-20 15:14:57 +02:00
Damien Le Thiec
0131a41266
Merge branch 'main' into feature/add_rna_type_de_champs
2022-10-05 12:38:24 +02:00
Eric Leroy-Terquem
acd874ccdf
reorder inside categories
2022-10-05 09:21:08 +02:00
Martin
17ed80b18a
clean(Champs::Engagement): migrate to Champs::Checkbox, some for TypeDeChamp
2022-09-27 19:09:28 +02:00
Colin Darie
e18dbb976f
fix(graphql/serializer): PersonneMorale#date_creation may be null
...
Ça fix le passage du dossier dans un dossier "terminé" pour un dossier
dont un champ avec SIRET correspond à un établissement sans date de creation
connue.
2022-09-26 18:05:04 +02:00
Christophe Robillard
f846393ec0
make populate_zones an after_party task
2022-09-26 16:58:53 +02:00
Damien Le Thiec
2791871c9a
Clean exports tests
2022-09-21 15:56:01 +02:00
Colin Darie
95a4e8a907
feat(api_entreprise): create etablissement with fallback when API is down
...
On créé l'établissement uniquement avec le SIRET, sans que ce soit bloquant
pour compléter le dossier. On demande à l'utilisateur de vérifier
lui-même la concordance du SIRET avec son entreprise.
Cf #7766
2022-09-16 10:43:59 +02:00
Colin Darie
d1c06aa92e
feat(api_entreprise): add service api_up?, connected to their status page
2022-09-15 18:46:53 +02:00
Paul Chavard
2d7803cd48
refactor(spec): use new procedure.types_de_champ factory
2022-08-04 12:10:32 +02:00
Colin Darie
11cd73b4ac
feat(export/csv): list etablisement entreprise_etat_administratif
2022-07-25 10:58:02 +02:00
Martin
3e56fdd1d7
fix(export): when it takes more than 3 hours, exports are purge before being generated. make it possible to have an export that takes more than 3 hours and share this behaviour with kind of same class archive
2022-07-25 10:48:54 +02:00
Christophe Robillard
d294feabe3
gzip demarches publiques export
2022-07-21 21:27:27 +02:00
Paul Chavard
430365768a
test(dossier.pdf): add a test case with piece_justificative inside repetition
2022-07-21 11:46:28 +02:00
simon lehericey
9c73bf1932
batch it
2022-07-20 15:48:16 +02:00
Christophe Robillard
886f595350
[graphql] add dossiersCount field
...
visible only for admin
2022-07-06 17:59:03 +02:00
Christophe Robillard
7684e97494
export demarches publiques
2022-07-06 17:59:03 +02:00
Paul Chavard
9a6a8411d3
feat(export): add déparctement info to commune champ export
2022-07-04 16:30:16 +02:00
Martin
7fb85c97cb
feat(Administrateur::ArchivesControllers): add archives #index and #create for admin
2022-07-04 14:18:46 +02:00
Paul Chavard
bbc44fe339
fix(export): no crash on empty repetitions
2022-06-17 11:33:48 +02:00
Paul Chavard
02675a104d
fix(revision): fix tests to use new revison system
2022-05-31 08:58:53 +02:00
simon lehericey
0b90f4d30d
is the order important ?
2022-05-18 10:11:31 +02:00
simon lehericey
ae86cdcf9e
strange test
2022-05-18 10:11:31 +02:00
Paul Chavard
6909337500
fix(spec): try fix dossier expiration spec
2022-05-17 10:14:43 +02:00
Paul Chavard
9e0b3b642f
cleanup(sendinblue): remove sendinblue tracking
2022-05-06 11:14:44 +02:00
simon lehericey
2d42b7d57d
spec: fix flaky
2022-05-06 10:34:40 +02:00
simon lehericey
ea361643be
types_de_champ -> types_de_champs_public
2022-05-03 11:05:24 +02:00
Martin
79c473ecf9
fix(ProcedureExportService.to_zip): prebatch dossiers only for to_csv,to_xlsx,to_ods. also add spec around to_zip
2022-04-22 05:13:51 +02:00
Martin
a3c5bf58ac
bug(ProcedureExportService.to_zip): use in_batches on Array
2022-04-22 05:13:51 +02:00
Paul Chavard
433c01b1e6
Revert "Merge pull request #7137 from betagouv/faster_pdf"
...
This reverts commit 9da44bd913
, reversing
changes made to ebac71796c
.
2022-04-12 19:22:07 +02:00
Paul Chavard
2832ea0286
refactor(export): return blob from to_* methods
2022-04-12 14:54:54 +02:00
Paul Chavard
561b83781e
refactor(archive): remove dependencie on archive from ArchiveUploader
2022-04-12 14:54:54 +02:00
Paul Chavard
cf8c084a59
refactor: extract download_and_zip in to a shared service
2022-04-12 14:54:54 +02:00
simon lehericey
4bbe2db668
only export safe pj
2022-04-12 12:05:08 +02:00
simon lehericey
4d3412daf5
batch it
2022-04-12 11:56:56 +02:00
simon lehericey
e2130cc2d3
add witness dossier
2022-04-07 12:06:13 +02:00
simon lehericey
951d964701
clean pj_service test
2022-04-07 12:06:13 +02:00
simon lehericey
34b0578d70
pj_and_path only take dossier id
2022-04-07 12:06:13 +02:00
simon lehericey
7ac1288905
pj_service take a dossier collection !
2022-04-07 12:06:13 +02:00
Martin
9e8807d12a
feat(ArchiveUploader.upload_with_chunking_wrapper): retry once on error
2022-04-05 15:11:21 +02:00
Martin
c72ba43c55
feat(ArchiveUploader.upload_with_chunking_wrapper): expect to retry call to wrapper once
2022-04-05 15:11:21 +02:00
simon lehericey
1f98f75ccc
remove unused method
2022-04-05 11:55:14 +02:00
simon lehericey
4c3b9979e9
fix test
2022-04-05 11:55:14 +02:00
Martin
dbcf21a555
feat(archive): extract archive status management within job to simplify the main service as well as to isolate this part for a merge with exports csv/xslx [maybe?]
...
Update app/dashboards/archive_dashboard.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-03-31 13:35:49 +02:00
Martin
ab2caaa5f7
fix(ProcedureArchiveService.zip_root_folder): should take archive instance otherwise when we generate many archive for the same procedure, errors may occures
2022-03-30 16:29:54 +02:00
Martin
98c1fb8abc
feat(archive): drop old feature
2022-03-18 14:26:09 +01:00
Martin
5739150f15
feat(service/archive_uploader): add an archive uploader class to upload files thru a custom script which handle file encryption of massive file (bigger than 4Go)
...
Update doc/object-storange-and-data-encryption.md
Co-authored-by: LeSim <mail@simon.lehericey.net>
Update app/services/archive_uploader.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
Update doc/object-storange-and-data-encryption.md
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
clean(doc): align document file name and document h1
clean(review): refactore based on various comments
clean(review): refactore based on various comments
2022-03-16 14:56:21 +01:00
Jon
97feca6305
feat(ClamAV): add config to disable clamav usage
2022-02-15 09:15:47 +01:00
Paul Chavard
3d8471e064
fix(dossier): do not send notification on expiration when dossier is already deleted
2022-01-19 17:52:53 +01:00
Paul Chavard
7937e58caa
fix(archives): only export dossiers in archive groupe_instructeurs
...
fix #6793
2022-01-18 11:16:20 +01:00
Martin
383a92bcd9
fix(parallel_download_queue): tophoeus does not like raise from a request handler [crash straight to first frame]
2022-01-07 14:24:37 +01:00
Martin
3eb1c1a421
feat(async_backend): switch to typhoeus
2022-01-04 16:27:23 +01:00
Martin
ce1b189dcd
refactor(DownloadManager): extract parallel download in dedicated class. move error management in custom class for procedure exports using the didicated class
2022-01-04 16:17:03 +01:00
Martin
2ed9cccba0
extract download all attachments in dedicated class using async/async-http for better perf
2022-01-04 16:17:03 +01:00
Christophe Robillard
f9609b0b0b
fix zone specs
...
by reenabling task before the next spec is run
2021-12-23 09:58:31 +01:00
Pierre de La Morinerie
4efc1053f9
specs: make dossiers deletion specs more robust
...
It would fail when ran on some dates, like "21 Dec. 2021".
2021-12-21 17:20:32 +01:00
Christophe Robillard
822c754581
add namespace for populate_zones task
2021-12-16 17:20:06 +01:00
Christophe Robillard
882f92268c
update zone to procedures
2021-12-16 17:20:06 +01:00
François Vantomme
14e0c68266
feat(api particulier): add MESRI field
2021-12-16 16:45:18 +01:00
Martin
5ad0ee8ca9
fix(spec.flacky): try to use extractor in a more conventional way to extract file content
2021-12-14 14:18:59 +01:00
Martin
f7bc387e44
feat(flipper): use new way of generating archive only on some procedure flipped with new actor :zip_using_binary
2021-12-13 16:37:04 +01:00
simon lehericey
f0b0e7fd9a
Switch to usage of zip unix binary to create archive. Also use a dedicated queue for DelayedJob
...
use dedicated archives queue
As the used disk space will increase, we want a fined grain control
move zip logic in dedicated method
zip
wip
wip
fix(spec): pass spec in green
tech(improvements): avoid File.delete(folder), favor FileUtils.remove_entry_secure which is safer. Also wrap most of code that open file within blocks so it is cleaned when the block ends. Lastly use attachement.download to avoid big memory pressure [download in chunk, write in chunk] otherwise big file [124>1GO] are loaded in memory. what if we run multiple jobs/download in parallel ?
fix(spec): try to retry with grace
clean(procedure_archive_service_spec.rb): better retry [avoid to rewrite on open file]
lint(things): everything
2021-12-13 16:37:04 +01:00
François Vantomme
6ab8ac0662
feat (api particulier): add Pole emploi field
2021-12-08 10:36:25 +01:00
François Vantomme
2110ef072c
feat(api particulier): add DGFiP field
2021-12-07 11:03:05 +01:00
Paul Chavard
2ba05bfb4f
fix(dossier): use depose_at instead of en_construction_at
2021-12-06 15:49:17 +01:00
Martin
1bb868714c
fix(spec/lint/review): lint and fix spec of previous commits, also fix based on tchak feedback
2021-12-06 07:05:17 +01:00
Pierre de La Morinerie
970c3e4b2b
specs: avoid executing business logic in Procedure factory
...
Calling business logic in a factory is a code-smell, because it
usually requires the object to be saved into database, and may have
unintended consequences when the business logic is changed.
Also, this allows to just build a published procedure, without saving it
to the database.
2021-11-23 08:07:07 +01:00
Paul Chavard
71939c650b
fix(export): remove wrong columns from repetition spreadsheets
...
This fix prevent repetition children types de champ from being pulled from cloned procedures. stable_id is stable across revisions but also across cloned procedures.
2021-11-10 20:45:32 +01:00
Pierre de La Morinerie
b06183d7bf
specs: rename Dossier's with_all_champs
to with_populated_champs
...
This better reflects what the trait is used for, and disambiguate it
from the similarly named trait in the Procedure factory.
2021-11-03 19:38:01 +01:00
Pierre de La Morinerie
d0e87a08cf
services: cache zxcvbn dictionaries per-thread
...
Before, every time a password was tested, the dictionaries were parsed
again by zxcvbn.
Parsing dictionaries is slow: it may take up to ~1s. This doesn't matter
that much in production, but it makes tests very slow (because we tend
to create a lot of User records).
With this changes, the initializer tester is shared between calls, class
instances and threads. It is lazily loaded on first use, in order not to
slow down the application boot sequence.
This uses ~20 Mo of memory (only once for all threads), but makes tests
more that twice faster.
For instance, model tests go from **8m 21s** to **3m 26s**.
NB:
An additionnal optimization could be to preload the tester on
boot, before workers are forked, to take advantage of Puma copy-on-write
mechanism. In this way all forked workers would use the same cached
instance.
But:
- We're not actually sure this would work properly. What if Ruby updates
an interval ivar on the class, and this forces the OS to copy the
whole data structure in each fork?
- Puma phased restarts are not compatible with copy-on-write anyway.
So we're avoiding this optimisation for now, and take the extra 20 Mo
per worker.
2021-10-25 12:04:56 +02:00
simon lehericey
d68129b34d
add cnaf type de champ
2021-10-12 14:26:40 +02:00
kara Diaby
cbedef996b
tests
2021-10-05 15:00:21 +02:00
simon lehericey
9fc195f0e5
add test to dossier_projection_service
2021-09-07 15:17:06 +02:00
Paul Chavard
8e1bfb469f
fix(dossier): send expiration notifications 2 weeks prior to supression instead of a month
2021-08-26 11:28:57 +02:00
Christophe Robillard
e06f11f33f
add code insee libelle for commune export
2021-08-19 08:04:47 +02:00
Paul Chavard
ffa8c0c80a
feat(dossiers): enable dossiers termine expiration behind feature flag
...
feature flag "procedure_process_expired_dossiers_termine" controls if a procedure has expiration
enabled on dossiers termine
re #3796
2021-08-18 16:11:35 +01:00
Christophe Robillard
031b74759f
archives: move bugreport
2021-08-05 09:24:20 +02:00
Christophe Robillard
38e3469e9a
add bug report to archive
2021-08-03 14:51:41 +02:00
François Vantomme
17b659539f
Feat (API Particulier): new encryption service
2021-07-30 11:18:44 +02:00
Christophe Robillard
66cc0dd08d
Revert "Revert "Expose dossier PDF export as IO""
...
This reverts commit 362093eff0
.
2021-06-24 21:01:59 +02:00
krichtof
362093eff0
Revert "Expose dossier PDF export as IO"
2021-06-24 19:21:37 +02:00
Paul Chavard
b73d504f8d
Expose dossier PDF export as IO
...
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-24 17:49:24 +02:00
Christophe Robillard
fdec9b2fd5
archives: don't update dossiers
...
this fix avoid to touch dossier after attaching pdf_export_for_instructeur
2021-06-18 11:00:57 +02:00
kara Diaby
6ebd57640c
tests
2021-06-15 19:36:46 +02:00
François Vantomme
99086a63be
Fix (Instructeur): deal nicely with non-guaranteed elements order in arrays
...
Use of one-dimension arrays comparison & `contain_exactly` RSpec matcher
to avoid this behaviour:
Failures:
1) InstructeursImportService#import when an email is malformed ignores or corrects
Failure/Error:
expect(procedure_groupes).to match_array([
["Occitanie", ["paul@mccartney.uk", "ringo@starr.uk"]],
["défaut", []]
])
expected collection contained: [["Occitanie", ["paul@mccartney.uk", "ringo@starr.uk"]], ["défaut", []]]
actual collection contained: [["Occitanie", ["ringo@starr.uk", "paul@mccartney.uk"]], ["défaut", []]]
the missing elements were: [["Occitanie", ["paul@mccartney.uk", "ringo@starr.uk"]]]
the extra elements were: [["Occitanie", ["ringo@starr.uk", "paul@mccartney.uk"]]]
# ./spec/services/instructeurs_import_service_spec.rb:70:in `block (4 levels) in <main>'
2021-05-27 08:33:52 +02:00
simon lehericey
17617fba43
address champ needs the data column
2021-05-19 15:59:18 +02:00
simon lehericey
a46000dc1f
ensure to_s is used on specialized champ
2021-05-19 09:39:20 +02:00
Paul Chavard
e043645a88
cleanup tests
2021-05-18 11:42:10 +02:00
kara Diaby
468e9e849a
tests
2021-05-18 11:42:10 +02:00
simon lehericey
9fd1c604a1
display follower instructeur emails in alphabetic order
2021-05-04 16:38:34 +02:00
Christophe Robillard
01f180022b
prend en compte uniquement les pj pour estimer la taille d'un dossier
2021-05-04 12:50:12 +02:00
Christophe Robillard
3d04221dab
generate pdf export for dossier only on demand
2021-04-29 17:30:38 +02:00
Christophe Robillard
f40d96fbd2
Revert "Revert "Export de tous les dossier d'une démarche""
...
This reverts commit d9a588b52e
.
2021-04-29 17:29:47 +02:00
krichtof
d9a588b52e
Revert "Export de tous les dossier d'une démarche"
2021-04-29 16:07:18 +02:00
simon lehericey
7b94c2de88
remove extra Dossier call in projection
2021-04-29 11:46:00 +02:00
simon lehericey
db23a853a9
fetch all notification at once
2021-04-29 11:23:41 +02:00
Christophe Robillard
dfbe004122
rename content_type to time_span_type for archives
2021-04-28 11:40:58 +02:00
Christophe Robillard
9134114c2e
fix rubocop offenses
2021-04-28 11:40:58 +02:00
Christophe Robillard
8bee53fe77
rend plus robuste la création de l'archive
2021-04-28 11:40:58 +02:00
Christophe Robillard
07cc4fa97f
add service to create procedure archive
2021-04-28 11:40:58 +02:00
Christophe Robillard
fba0d78153
generate pdf export inside pieces_justificatives_service
2021-04-28 11:40:58 +02:00
simon lehericey
5bfd4ecbbf
add DossierProjectionService
2021-04-22 10:46:04 +02:00
Pierre de La Morinerie
9096a3885c
specs: fix creating dossiers :en_construction
2021-04-06 12:12:56 +02:00
Pierre de La Morinerie
75a1046315
active_storage: refactor concerns
...
Follow-up of #5953 .
Refactor the concerns with two goals:
- Getting closer from the way ActiveStorage adds its own hooks.
Usually ActiveStorage does this using an `Attachment#after_create`
hook, which then delegates to the blob to enqueue the job.
- Enqueuing each job only once. By hooking on `Attachment#after_create`,
we guarantee each job will be added only once.
We then let the jobs themselves check if they are relevant or not, and
retry or discard themselves if necessary.
We also need to update the tests a bit, because Rails'
`perform_enqueued_jobs(&block)` test helper doesn't honor the `retry_on`
clause of jobs. Instead it forwards the exception to the caller – which
makes the test fail.
Instead we use the inline version of `perform_enqueued_jobs()`, without
a block, which properly ignores errors catched by retry_on.
2021-03-16 11:49:14 +01:00
Pierre de La Morinerie
1c77f59f6b
specs: fix test failing on March 1st
...
Because February only has 28 days.
2021-03-02 12:26:28 +01:00
Christophe Robillard
a288a13805
disable france connect authentication for admin and instructeurs
2021-02-10 18:13:47 +01:00
Pierre de La Morinerie
150ddab660
zeitwerk: Api -> API
2021-02-09 13:07:30 +01:00
Pierre de La Morinerie
88ffa10a56
spec: fix rspec raise_error warning
...
Rspec warns that if there is for example a SyntaxError, the test will
pass (an error was raised, but it wasn't an ArgumentError, so this is
fine).
Instead check that no error occurs whatsoever.
2021-02-09 10:12:32 +01:00
Pierre de La Morinerie
0d101f3f1a
views: remove old design's leftbars
2021-02-02 15:33:09 +01:00
Christophe Robillard
792b53beeb
import several instructeurs for a routee procedure
...
Co-authored-by: simon lehericey <mail@simon.lehericey.net>
2021-01-20 15:03:17 +01:00
Paul Chavard
54f2084aef
Add annuaire_education champ
2021-01-14 17:57:48 +01:00
simon lehericey
1159494d37
Add test to ensure no titre identite is exported
2020-12-16 17:31:38 +01:00
kara Diaby
f748ccfc9e
Appelle l'API entreprise avec le token en Header
2020-12-10 17:49:49 +01:00
clemkeirua
513d4f6ff1
move all the cron jobs in a dedicated directory
2020-12-08 13:22:43 +00:00
simon lehericey
b187244a29
extract and refactor api errors
2020-12-04 17:07:30 +01:00
Keirua
3fa628235e
Nettoyage de I18n.transliterate pour les noms de feuilles d'exports
...
Co-authored-by: LeSim <mail@simon.lehericey.net>
2020-09-29 15:50:19 +00:00
clemkeirua
9714b607aa
ensure valid excel worksheet names
2020-09-29 15:50:19 +00:00
simon lehericey
1eb780b0c9
convert sheet_name to ascii before tuncate to 30 to ensure length < 31 bytes
2020-09-29 14:11:06 +02:00
clemkeirua
c19b653581
higher level length sanitization for worksheet length
2020-09-24 14:59:46 +02:00
kara Diaby
cb4e91c405
Add iban type de champ
2020-09-23 15:56:26 +02:00
kara Diaby
5c68d75107
add titre_identite champ
2020-09-18 14:57:08 +02:00
clemkeirua
2b23eefee2
fix tests that now requir an admin user to have a strong password
2020-09-18 11:16:34 +02:00
Paul Chavard
0a70291b90
update services specs to use revisions
2020-09-02 11:26:26 +02:00
Christophe Robillard
f77cc06a91
prend en compte le nom de l'enseigne pour l'établissement
2020-08-20 14:23:02 +02:00
Christophe Robillard
2c56511204
validate api_entreprise_token
2020-07-08 18:59:22 +02:00
Christophe Robillard
a072d35211
use traitement model
...
when a dossier is terminated (accepte, refuse or classe_sans_suite),
we store now `processed_at` and `motivation` in a traitement instance
2020-07-08 18:15:15 +02:00
Paul Chavard
c9ab80c880
WIP
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
43569f687e
specs: use fixture_file_upload
rather than Rack::Test::UploadedFile
...
This is mostly for consistency (both styles were used before).
Note: we still have to use `Rack::Test::UploadedFile.new` in factories,
because of https://github.com/thoughtbot/factory_bot/issues/385 .
2020-07-01 11:13:45 +02:00
Christophe Robillard
ba5fa9aa4b
update ApiEntrepriseService
...
There is now the `create_etablissement` method which
create etablissement with EtablissementAdapter
and enqueue api_entreprise jobs to retrieve
all informations we can get based on SIRET
2020-05-20 11:09:54 +02:00
Pierre de La Morinerie
9f1407b6d7
expiration: fix the mailer arguments
...
The mailers expect serializable arguments, but were given
ActiveRecord::Relation objects instead. This made the mailers throw an
exception.
But how was that possible ? This code is tested, and the tests were
green.
Well, the specs spy on the mailer implementation, in order to check that
the mailers methods were properly called. Fair enough.
But if the specs mock the mailer code (instead of calling the original
implementation), we may not notice that the original implementation
rejects our method parameters.
Here this is the case: once we actually call the original implementation
the tests start to fail, because some arguments are not converted from
an ActiveRecord::Relation to a serializable array.
This is fixed by ensuring that the mailer code is executed (and doesn't
throw an exception).
2020-05-18 16:24:08 +02:00
Pierre de La Morinerie
b63fa0e6b8
dossier: remove "Birthdate" column from export
2020-05-18 13:14:28 +00:00
Pierre de La Morinerie
00adb006b4
specs: improve ProcedureExportService spec
2020-05-18 13:14:28 +00:00
clemkeirua
36f381a743
fix flacky test
2020-05-07 10:23:28 +02:00
Christophe Robillard
dba77ec0b8
fix spec with not expired token
...
and use of `ApiEntrepriseToken#roles`
2020-05-06 10:57:45 +02:00
Paul Chavard
4299c9dbea
Use a “safe” reference date in expiration tests
2020-05-05 12:41:45 +02:00
Christophe Robillard
b12226c667
fetch and store bilans bdf
2020-04-30 16:15:16 +02:00
Christophe Robillard
3ddb5a4cb4
store attestation fiscale and display
2020-04-30 11:39:54 +02:00
Christophe Robillard
158b4802ab
store attestation sociale and display
2020-04-29 16:25:47 +02:00
Christophe Robillard
d74b14c205
fetch attestation sociale url
2020-04-29 14:25:55 +02:00
Christophe Robillard
4bd4524f67
fix api_entreprise specs
2020-04-28 15:17:11 +02:00
Christophe Robillard
453adf3c74
instructeurs: affiche l'effectif moyen annuel n-1
2020-04-23 09:53:27 +02:00
Paul Chavard
31943f7d9c
Add handeling of expired processed dossiers to deletion service
2020-04-22 15:39:10 +02:00
Christophe Robillard
1165f8483d
rename effectif columns
2020-04-21 21:13:07 +02:00
Christophe Robillard
db3ef195ad
fetch and show effectif mensuel
...
- fetch and store effectif mensuel (at the creation of the dossier or
when updating a siret field
- show effectif mensuel only for instructeurs
2020-04-21 14:22:11 +02:00
clemkeirua
2d68d7dc59
fix to_tsquery disallowed chars
2020-04-20 15:15:22 +02:00
Paul Chavard
52d2ace823
Remove quartiers prioritaires
2020-04-14 10:29:59 +02:00
clemkeirua
590cee050f
add tests for dossier_search_service
2020-04-09 09:42:31 +02:00
Paul Chavard
ca6c97bf0f
Refactor expired dossiers deletion service
2020-04-02 15:24:02 +02:00
Paul Chavard
7ba4c513e6
Refactor notify near deletion mailers
2020-04-01 17:40:52 +02:00
Pierre de La Morinerie
4cb747fdb6
specs: always require rails_helper
...
Test helpers are separated between two files: spec_helper and
rails_helper. This separation is meant to allow tests that do not
require Rails (like testing standalone libs) to boot faster.
The spec_helper file is always loaded, through `--require spec_helper`
in the `.rspec` config file. When needed, the rails_helper file is
expected to be required manually.
This is fine, but:
- Many test files have a redundant `require 'spec_helper'` line;
- Many test files should require `rails_helper`, but don't.
Not requiring `rails_helper` will cause the Rails-concerned section of
the test environment not to be configured–which may cause subtle bugs
(like the test database not being properly initialized).
Moreover, Spring loads all the Rails files on preloading anyway. So the
gains from using only `spec_helper` are thin.
To streamline this process, this commit:
- Configures `.rspec` to require `rails_helper` by default;
- Remove all manual requires to spec_helper or rails_helper.
Reference: https://stackoverflow.com/questions/24145329/how-is-spec-rails-helper-rb-different-from-spec-spec-helper-rb-do-i-need-it
2020-03-31 12:48:32 +02:00
Paul Chavard
c40d689edf
Use bigger deltas to allow for month length variations
2020-03-31 11:50:59 +02:00
Paul Chavard
5b5ae5a7a5
Do not send notifications or create operation logs on brouillon demarches
2020-03-25 15:04:52 +01:00
Paul Chavard
5c2eba1dd1
Always add a reason to dossier deletion
2020-03-24 09:30:11 +01:00
Paul Chavard
cd0acb1344
Cleanup dossier mailers
2020-03-19 16:52:18 +01:00
simon lehericey
3dd4ea26c7
add similar tests for send_brouillon_expiration_notices and delete_expired_brouillon_and_notify
2020-03-18 15:25:02 +01:00
simon lehericey
3f6012bff5
Delete complicated test
2020-03-18 15:25:02 +01:00
simon lehericey
74db7ab146
test for #send_en_construction_expiration_notices
2020-03-18 15:25:02 +01:00
simon lehericey
f35c0518b7
test for #delete_expired_en_construction_and_notify
2020-03-18 15:25:02 +01:00
Paul Chavard
fe1cd2a47b
Delete and notify en_construction dossiers
2020-03-18 15:25:02 +01:00
Paul Chavard
f35ccc9d92
Move process_expired_dossiers_brouillon to a service
2020-03-18 15:25:02 +01:00
kara Diaby
395af2fbb0
instructors : receive daily emails for declarative folders
2020-03-17 15:54:50 +01:00
Paul Chavard
c281347da1
Remove restclient
2020-03-17 11:12:14 +01:00
kara Diaby
4a70a7fcc8
remove email_notifications_enabled column because of the new daily_email_notifications_enabled
2020-02-27 11:09:19 +01:00
clemkeirua
fcea7c4f85
remove invalid excel worksheet characters
2020-01-29 11:45:56 +01:00
Paul Chavard
eec38bad73
Ajouter les informations de l’instructeur et de l’expert dans l’export des avis
...
fix #4667
2020-01-28 15:09:41 +01:00
Pierre de La Morinerie
724ff50363
factories: rename dossier for_individual
to with_individual
...
This clarifies the distinction between
```
create :procedure, :for_individual
```
and
```
create :dossier, :with_individual
```
2020-01-21 17:24:56 +01:00
Paul Chavard
14295db9ad
Revert "Revert "Merge pull request #4552 from tchak/champ-communes""
...
This reverts commit 4373cb22cb
.
2020-01-14 18:46:07 +01:00
clemkeirua
4373cb22cb
Revert "Merge pull request #4552 from tchak/champ-communes"
...
This reverts commit 4cec26f73a
, reversing
changes made to 0ef25ef36c
.
2020-01-13 16:26:27 +01:00
Paul Chavard
4bbd16576b
Add champ communes
2020-01-07 11:52:51 +01:00
maatinito
9672d892e9
Bug with time zone: Time.zone.today looses time_zone and may breaks database comparisons
2019-12-11 17:34:10 +01:00
Paul Chavard
7b947feae4
Rename demarche archivée to demarche close
2019-11-28 15:07:16 +01:00
maatinito
9de9a1fd71
Use time.zone functions instead of server time functions
...
(Time.zone.today vs Date.today)
2019-11-26 14:26:36 +01:00
Paul Chavard
0c6705f7fd
Drop old export service
2019-11-21 10:25:40 +01:00
Paul Chavard
f22b39b7c5
Handle non unique champ repetable labels
...
fix #4466
2019-11-07 14:27:52 +01:00
Paul Chavard
2a61ed5b1c
Export etablissement information in csv
...
fix #4440
2019-11-07 14:27:52 +01:00
Paul Chavard
839b0d7e6d
Add Entreprise raison sociale to dossier export
...
fix #4422
2019-10-31 17:11:46 +01:00
simon lehericey
8ae592fe25
[ fix #4361 ] administrateur active
2019-10-24 18:32:48 +02:00
simon lehericey
a2f82ab8be
Add groupe_instructeur_label to export v2
2019-09-19 12:30:12 +02:00
simon lehericey
f577484aa2
Add groupe_instructeur_label to export v1
2019-09-19 12:30:12 +02:00
simon lehericey
8660d4af30
Instructeur: only export its dossiers
2019-09-19 12:24:40 +02:00
Paul Chavard
8a691d534a
Fix AdministrateurUsageStatisticsService
2019-09-17 12:37:37 +02:00
Paul Chavard
c370c2f475
Cleanup FlipFlop
2019-09-10 23:52:44 +02:00
Paul Chavard
3eb3ae001e
Rename “Passé en construction le” to 'Déposé le' for clarity
2019-09-10 14:59:10 +02:00
simon lehericey
6cbdba2665
Dossier Factory: link procedure by defaut_groupe_instructeur
...
Oblige to create procedure or dossier to access groupe_instructeur
2019-09-03 06:47:02 +02:00
simon lehericey
caf1fbca44
Use assign_to
2019-09-02 11:41:12 +02:00
Paul Chavard
15148a4fe1
Fix invalid characters in repetition champs sheet_name for xls export
2019-08-28 10:47:58 +02:00
simon lehericey
eb2ebee16e
fix flaky spec in ip_service_spec
2019-08-20 16:41:32 +02:00
simon lehericey
b7f8bb2fea
Simplify ip_service
2019-08-20 13:29:29 +02:00
simon lehericey
3fde2a6f70
Rename gestionnaire in code to instructeur
2019-08-12 13:47:01 +02:00
Paul Chavard
8c72470a6c
Add default etablissement champ name
2019-07-30 17:17:36 +02:00
Paul Chavard
5a9468aa95
Fix repetition data export
2019-07-30 17:17:36 +02:00
Pierre de La Morinerie
e975fe4ade
tasks: remove task to migrate old pieces justificatives
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
5502f2e42e
dossier: remove UI for uploading old pieces justificatives
2019-07-30 16:11:16 +02:00
Pierre de La Morinerie
80efe27ff2
pj migration: retry when changing the content type fails
2019-07-16 17:51:29 +02:00
clemkeirua
25f81f1d3c
download a dossier as zip with all attachments
2019-07-16 09:11:25 +02:00
simon lehericey
7b63ddfabb
Better champs factories
2019-07-10 16:41:34 +02:00
Paul Chavard
3cb39c2840
Refactor message attachements to use active_storage
2019-07-10 15:35:29 +02:00
Paul Chavard
ad0a74ea7c
Fix dates in dossiers export
2019-07-09 10:02:08 +02:00
Chaïb Martinez
39a2eb77e8
test fix
...
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-08 14:58:32 +02:00
Paul Chavard
fb0ef15e3c
Export dossiers v2
2019-07-02 14:20:29 +02:00
Chaïb Martinez
36114c07a9
Add some test to admin roi calculation
...
[fix #3986 ]
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-01 11:13:36 +02:00
Nicolas Bouilleaud
bd47bf2691
Disable Messagerie in archived Dossiers and procedures
...
* Use the existing Dossier#messagerie_available? method
* Raise when attempting to build a Commentaire if not messagerie_available?
* Disable the Messagerie form if not messagerie_available?
* Add tests :)
* Tweak the Horaires formatting while we’re here.
2019-07-01 09:39:39 +02:00
Pierre de La Morinerie
50cf6059e6
tasks: ensure creating an empty champ doesn’t display a notification
2019-06-24 15:49:02 +02:00
Pierre de La Morinerie
d561936863
task: ensure that hidden dossiers are rolled back
2019-06-20 10:48:56 +02:00
Pierre de La Morinerie
f8dda3ae45
tasks: don't abort rollback when a dossier fails
...
Instead print a warning, and continue rolling back the other dossiers.
2019-06-20 10:31:23 +02:00
Nicolas Bouilleaud
ad3553f0be
Add BillSignature Service
2019-06-17 16:16:28 +02:00
Pierre de La Morinerie
f12668fbfb
tasks: prevent the PJ migrations task updating from touching dossiers
2019-06-12 19:07:45 +02:00
Pierre de La Morinerie
6cb02f2927
pj migration: handle signal interrupts
2019-05-29 14:46:49 +02:00
Pierre de La Morinerie
10df7b70ee
carrierwave: when migrating, create an empty blob if file is missing
2019-05-28 18:19:33 +02:00
Pierre de La Morinerie
44c410d40d
piece_justificative_service: fix for missing order_place
...
In production some pieces justificatives don't have an order place.
In this case, insert the champs after the ones that have an order place.
2019-05-28 17:20:07 +02:00
Pierre de La Morinerie
52b7a82932
services: mark attachments migrated from CarrierWave as safe
...
This avoids to enqueue thousands of scans when migrating the PJs of
a whole procedure.
2019-05-28 11:39:22 +02:00
Pierre de La Morinerie
4cf54e0d28
tasks: add progress report to the pjs migration task
...
Progress is indicated per migrated champ.
2019-05-28 10:42:18 +02:00
Paul Chavard
3446782cd0
Remove deprecated editor
2019-05-14 16:18:29 +02:00
Paul Chavard
96b3547788
Exercices and RNA information are optional and should not block the request
2019-05-03 18:23:21 +02:00
simon lehericey
e65e21a72f
Email notification: use the right method for procedures
2019-04-18 15:07:01 +02:00
simon lehericey
52e6632175
Add IPService
2019-04-03 15:21:19 +02:00
Frederic Merizen
9aebb76e77
[ #2180 ] Avoid sending spurious notifications to instructeurs
2019-03-27 17:36:13 +01:00
Frederic Merizen
7d316b8369
[ #2180 ] High-level PJ to champ PJ migration service
2019-03-27 17:36:13 +01:00
Frederic Merizen
e24242e4b2
[ #2180 ] Low-level Carrierwave to ActiveStorage migration
2019-03-27 17:36:13 +01:00
Frederic Merizen
21dbe44e07
[ #2180 ] Fix ordering of piece jointe champs
2019-03-27 17:36:13 +01:00
Paul Chavard
69a51e3296
Save SIRET data on search
2019-03-19 16:22:42 +01:00
simon lehericey
6607de4827
Notification: add service to send notifications
2019-03-18 16:37:51 +01:00
Frederic Merizen
6b0832047b
Service that computes administrator statistics and sends them to SendinBlue
2019-03-08 16:33:28 +01:00
Mathieu Magnin
f6714cd9a3
If ClamavService fails then raise an error
2019-02-05 17:58:41 +01:00
Pierre de La Morinerie
437f73b4ce
search: exclude more special characters
2019-01-22 17:16:49 +01:00
Pierre de La Morinerie
98127b6778
signature: refactor specs
2019-01-03 17:48:53 +01:00
gregoirenovel
baf7977786
Enable the Lint/StringConversionInInterpolation cop
2019-01-03 10:53:50 +01:00
Paul Chavard
eb9edc1cee
Order types de champ in scope
2018-12-20 14:14:15 +01:00
Paul Chavard
5d1c24f3d8
Add type de champ repetition models (with row)
2018-12-19 15:31:11 +01:00
gregoirenovel
df7e0a9881
Remove dead code
2018-12-19 14:59:15 +01:00
Frederic Merizen
57a136c861
Make champ PJ generally available
2018-12-18 11:11:23 +01:00
simon lehericey
5a87fad02e
[ fix #3154 ] order export
2018-12-10 16:41:37 +01:00
Paul Chavard
35494df78e
Procedure export dossiers with champs siret
2018-12-05 17:09:39 +01:00
Paul Chavard
a08f170dbd
Assign users and gestionnaires to commentaires
...
fix #2052
2018-12-05 13:40:57 +01:00