Commit graph

343 commits

Author SHA1 Message Date
Paul Chavard
cafda4f6f0 refactor(attestation_template): move to procedure 2022-11-23 12:26:26 +01:00
Paul Chavard
55c5de2c2c feat(attestation_template): assign attestations templates to procedures 2022-11-23 12:26:26 +01:00
Paul Chavard
d306583a7b refactor(active_storage): PiecesJustificativesService::FakeAttachment -> ActiveStorage::FakeAttachment 2022-11-22 18:05:26 +01:00
Paul Chavard
29bdd82b59 refactor(procedure): types_de_champ -> active_revision.types_de_champ_public 2022-11-17 13:54:14 +01:00
simon lehericey
6a7621b731 feat(support): add task to remove ex team member 2022-11-16 17:52:48 +01:00
Paul Chavard
e6288c39f2 refactor(dossier): champs -> champs_public 2022-11-10 22:44:39 +00:00
Colin Darie
408f57d2d1 fix(rna): date_creation may be null
Closes #7975
2022-10-31 12:02:37 +01:00
Damien Le Thiec
73f6063c87
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-11 15:36:46 +02:00
Colin Darie
073656342e fix(api_address): support Adresse BAN without postcode
Des adresses n'ont pas de code postal (dans certains TOM par exemple).
On fallback sur un string vide plutôt que nil pour limiter les effets de bord.
2022-10-11 12:25:12 +02:00
Damien Le Thiec
abbbef1461 Fix tests 2022-10-05 13:07:39 +02:00
Damien Le Thiec
0131a41266
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-05 12:38:24 +02:00
Damien Le Thiec
93e89c8968 Fix small bugs rna controller and add tests 2022-10-05 12:31:34 +02:00
Damien Le Thiec
ecd54de854 Extend RNA adapter while keeping depreciated version 2022-10-04 19:59:39 +02:00
Damien Le Thiec
fa1f0fc240 Improve rna champ tests 2022-10-04 17:19:30 +02:00
Martin
17ed80b18a clean(Champs::Engagement): migrate to Champs::Checkbox, some for TypeDeChamp 2022-09-27 19:09:28 +02:00
Christophe Robillard
f846393ec0 make populate_zones an after_party task 2022-09-26 16:58:53 +02:00
Christophe Robillard
bc5ea8e906 update zones with new government 2022-09-26 16:58:53 +02:00
Damien Le Thiec
542c5b518f Improve and connect RNA Adapter 2022-09-22 17:13:53 +02:00
Damien Le Thiec
2791871c9a Clean exports tests 2022-09-21 15:56:01 +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
Martin
cbe77dd2f6 bug(instructeurs/dossiers#telecharger_pjs): zipline does not play well with not available active storage attachments 2022-09-08 11:05:24 +02:00
Colin Darie
8762acc0b5 chore(services): fetch etablissement adresse from API Entreprise 2022-09-06 09:23:52 +02:00
Colin Darie
f8cf8aaab7 test(api_entreprise): add missing tests for API Entreprises privileges & adapter 2022-09-06 09:23:52 +02:00
Colin Darie
b75cff2fc3 refactor: API Entreprise instancified, more flexible for various input params
En fonction des resources, l'API est appelée :

- dans le contexte d'une Procedure ou non
- avec ou sans token injecté
- avec ou sans siret/siren
- avec ou sans user
2022-09-06 09:23:52 +02:00
Colin Darie
be965e4fdd fix(api_entreprise): don't fail with entreprise without date_creation 2022-09-05 15:52:06 +02:00
Kara Diaby
058d6baae6 tests 2022-07-29 11:17:22 +02:00
Colin Darie
f05e9331a7 chore(entreprises): save etat_administratif from API 2022-07-25 10:58:02 +02:00
Christophe Robillard
77a9a2ba12 can upload file to datagouv 2022-07-21 21:54:15 +02:00
Colin Darie
d3232a28cd chore(api_entreprise): intercept token expiration for a more contextual frontend message
Auparavant le service échouait silencieusement et ne retournait rien,
ce qui dans les implémentations du front aboutissait au message que
l'établissement/l'entreprise n'a pas été trouvé.

Un type d'erreur spécifique sur l'expiration du token permet d'afficher
le message lié à un problème temporaire de récupération d'infos.
2022-07-18 09:57:19 +02:00
Paul Chavard
e9d0ccbdf9 task(dossier): remove orphan champs 2022-07-06 13:28:00 +02:00
simon lehericey
4f73c6105f remove duplicate spec 2022-04-07 12:06:13 +02:00
simon lehericey
51b71aaa01 always call create_list_from_dossiers 2022-04-07 12:06:13 +02:00
Pierre de La Morinerie
1eebc2f1e1 specs: make test migrations safer
This will avoid strong_migrations to flag them as dangerous.
2022-03-16 10:30:25 +01:00
Pierre de La Morinerie
3a16235868 db: Add a delete_orphans db helper 2022-03-08 14:47:43 +01:00
Pierre de La Morinerie
30d7cf634a tasks: restore older after_party tasks
Turns out deleting the tasks after 6 months only may not be enough for instances deploying
only once a year, for instance.

This reverts commit 77b65f3aa0.
2022-02-22 15:39:16 +01:00
Paul Chavard
fac77d97ef task(attestation_template): reassign_redundant_attestation_templates 2022-02-11 11:30:24 +01:00
Paul Chavard
e269077c40 refactor(attestation_template): cleanup relationships 2022-02-11 08:45:32 +01:00
Paul Chavard
77e42dd0e2 Update spec/lib/tasks/deployment/20220112184331_revise_attestation_templates_spec.rb
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2022-02-08 16:22:59 +01:00
Paul Chavard
1fc7db2562 fix(attestation_template): fix migration task 2022-02-08 16:22:59 +01:00
François Vantomme
b9d6c32af7 Test (Universign): mock API URL constant
Addressable::URI::InvalidURIError:
 Absolute URI missing hierarchical segment: 'http://'
2022-02-08 15:59:50 +01:00
Pierre de La Morinerie
847abca122 config: simplify mailer configuration again
Move everything to initializers, and replace the email settings
interceptor by a BalancerDeliveryMethod.

It has the advantage that it can be configured entirely from the
`config/environment.rb` file, without an extra file to look at.
2022-02-08 12:44:43 +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
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
Christophe Robillard
822c754581 add namespace for populate_zones task 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
François Vantomme
3d81d4b541 feat(api particulier): add MESRI adapter 2021-12-16 16:45:17 +01:00
François Vantomme
66a9109cd7 feat(api particulier): add MESRI support to sources service 2021-12-16 16:45:17 +01:00
Christophe Robillard
84c648eef0 manual task for populating zones 2021-12-15 19:37:32 +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
Paul Chavard
b67818e425 feat(helpscout): add a tag to messages submited through contact form 2021-12-09 11:47:13 +01:00
François Vantomme
6ab8ac0662 feat (api particulier): add Pole emploi field 2021-12-08 10:36:25 +01:00
François Vantomme
4cfc9f7d86 feat(api particulier): add Pole Emploi adapter 2021-12-08 10:36:11 +01:00
François Vantomme
a24cf18c9d feat (api particulier): add Pole Emploi support to sources service 2021-12-08 10:36:11 +01:00
François Vantomme
2110ef072c feat(api particulier): add DGFiP field 2021-12-07 11:03:05 +01:00
François Vantomme
08405226b7 style(api particulier): fix a typo in CNAF tests 2021-12-07 11:03:05 +01:00
François Vantomme
f0913edebd feat(api particulier): add DGFiP adapter 2021-12-07 11:03:05 +01:00
François Vantomme
97de7c197d feat(api particulier): add DGFIP support to sources service 2021-12-07 11:03:05 +01:00
Christophe Robillard
5b8d872b6e populate zones 2021-12-02 19:16:11 +01:00
simon lehericey
35c7f05a0a source service supports unknown scope 2021-10-12 14:27:20 +02:00
simon lehericey
ac60d6c5a1 homogennize api particulier endpoint test url 2021-10-12 14:27:20 +02:00
simon lehericey
b69dafc3d4 CNAF in lowercase 2021-10-12 14:26:40 +02:00
kara Diaby
cbedef996b tests 2021-10-05 15:00:21 +02:00
simon lehericey
57604b9c89 add schema validations 2021-09-22 12:08:24 +02:00
simon lehericey
75043070da add CNAFAdapter 2021-09-22 12:08:24 +02:00
simon lehericey
07962cc2c7 service: match remote keys 2021-09-22 12:08:24 +02:00
simon lehericey
8d747ff16e add sanitize method to service 2021-09-21 11:21:10 -05:00
simon lehericey
8327c6fd0c add ApiParticulier::Service::Sources 2021-09-17 13:50:23 +02:00
simon lehericey
87cb16093f fetch token introspection
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:37:04 +02:00
Pierre de La Morinerie
9741108094 lib: remove the 'migrated' key on filters
In a9a4f6e2a8, a task to migrate
ProcedurePresentation's filters was added.

This task added a "migrated: true" key to all migrated filters.

Now that this task has run, we can safely remove the extra key.

In a previous version of this commit, the migration would fail for
invalid ProcedurePresentation records. This is now fixed.
2021-08-24 08:42:22 -05:00
Pierre de La Morinerie
6475cdff7a
Revert "Suppression de la clef "migrated": true sur les filtres des ProcedurePresentation" 2021-07-23 09:26:13 +02:00
Pierre de La Morinerie
fd74d9a062 lib: remove the 'migrated' key on filters
In a9a4f6e2a8, a task to migrate
ProcedurePresentation's filters was added.

This task added a "migrated: true" key to all migrated filters.

Now that this task has run, we can safely remove the extra key.
2021-07-20 16:51:32 +02:00
Pierre de La Morinerie
fda59c9231 lib: remove outdated tasks 2021-07-20 15:34:31 +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
Paul Chavard
44ebd0e8a5 Fix api education wrong data type 2021-06-08 12:25:24 +02:00
Paul Chavard
01c558953b Remove API GEO legacy adapter 2021-05-24 11:50:16 +02:00
Pierre de La Morinerie
77b65f3aa0 tasks: remove older after_party tasks 2021-05-06 15:19:37 +02:00
simon lehericey
ed404f129b remove now falling spec of obsolete task 2021-05-05 14:28:20 +02:00
Pierre de La Morinerie
684af77e35 jobs: extract an RetryOnTranscientErrors concern 2021-04-29 14:08:12 +02:00
Pierre de La Morinerie
872f6b0153 lib: add migration helpers for making a column unique 2021-04-13 18:09:59 +02:00
simon lehericey
c683fad3f3 [#6084] add after_party task to fill missing data 2021-04-13 09:59:28 +02:00
Pierre de La Morinerie
02743365eb specs: make build and create consistent in downloadable_file_spec 2021-04-06 12:12:56 +02:00
Christophe Robillard
60cc4d3697 add pdf to pjs export 2021-03-16 15:13:17 +01:00
Paul Chavard
228a83f8a5 Add api address external data fetch 2021-02-17 19:10:16 +01:00
Pierre de La Morinerie
150ddab660 zeitwerk: Api -> API 2021-02-09 13:07:30 +01:00
Paul Chavard
5c9f2e8783 Add api education adapter and job 2021-01-14 17:57:48 +01:00
Paul Chavard
d2bcbaa180 Fix stable filters migration 2020-12-17 17:10:56 +01:00
kara Diaby
f748ccfc9e Appelle l'API entreprise avec le token en Header 2020-12-10 17:49:49 +01:00
simon lehericey
b187244a29 extract and refactor api errors 2020-12-04 17:07:30 +01:00
simon lehericey
9eab310565 [#5675] for all api entreprise job, retry on 502, 503 2020-12-02 18:25:31 +01:00
Christophe Robillard
f77cc06a91 prend en compte le nom de l'enseigne pour l'établissement 2020-08-20 14:23:02 +02:00
Pierre de La Morinerie
6328011f60 models: require belong_to associations on champ
- Make `champ.dossier` a requirement;
- Move the dossier_id assignation to `before_validation` (otherwise
the record is invalid, and never gets saved);
- Allow specs to only build the champ (instead of saving it to the
database), which bypasses the requirement to have a dossier.
2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
dd1bed9340 models: require belong_to associations on commentaire 2020-08-18 15:57:36 +02:00
clemkeirua
c93d17bcaa add rake task to update typedechamp 2020-07-15 09:00:12 +00:00
Pierre de La Morinerie
c41afc425e tasks: remove old after_party tasks
Fixes a task that since became invalid:

> NameError: uninitialized constant SeekAndDestroyExpiredDossiersJob
> /lib/tasks/deployment/20191203142402_enable_seek_and_destroy_job
2020-07-09 18:18:09 +02:00
Christophe Robillard
2c56511204 validate api_entreprise_token 2020-07-08 18:59:22 +02:00
Pierre de La Morinerie
acc1cb1abd dossier: export PJs from private champs
Fix #5297
2020-06-24 15:42:30 +02:00