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
Pierre de La Morinerie
b83a76a0a1
dossier: refactor piece_justificative specs
...
Use `eq` rather than `be` for integers.
2020-06-24 15:42:30 +02:00
Paul Chavard
c4896b45ad
Prepare to remove dossier procedure_id
2020-06-11 16:13:44 +02:00
Pierre de La Morinerie
2f509c2536
specs: remove unused test case
...
Actual code was removed in 0ff6c793ae
The spec was never executed, because it lacked the `_spec.rb` suffix.
2020-05-20 17:45:06 +02:00
Christophe Robillard
d92a0ba8f3
raise BadFormatRequest error
...
L'intention est de distinguer ce type d'erreur avec les erreurs serveur
5xx.
Lorsque l'api est appelé par un Job, les erreurs serveur seront retry, car éphémères.
Alors que les erreurs de type BadFormatRequest ou ResourceNotFound n'ont
pas être retried.
2020-05-20 11:09:54 +02:00
Christophe Robillard
e3ee423197
call api_entreprise adapters with siret
2020-05-20 11:09:54 +02:00
Christophe Robillard
dba77ec0b8
fix spec with not expired token
...
and use of `ApiEntrepriseToken#roles`
2020-05-06 10:57:45 +02:00
Christophe Robillard
dbf04dd0d8
make api entreprise call only if token not expired
2020-05-06 10:57:45 +02:00
Christophe Robillard
f587e6600a
extract class ApiEntrepriseToken
...
and check if token is expired
2020-05-06 10:57:45 +02:00
Christophe Robillard
85b2e9ef44
create bilans_bdf_adapter
2020-04-30 16:15:16 +02:00
Christophe Robillard
38c68b16e3
create attestation_fiscale_adapter
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
b147956a92
create attestation_sociale_adapter
2020-04-29 14:01:48 +02:00
Christophe Robillard
4bd4524f67
fix api_entreprise specs
2020-04-28 15:17:11 +02:00
Christophe Robillard
e29af48420
call api_entreprise with specific token if exist
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
Christophe Robillard
1165f8483d
rename effectif columns
2020-04-21 21:13:07 +02:00
Christophe Robillard
599d8e33e8
create ApiEntreprise::EffectifsAdapter
2020-04-21 14:22:11 +02:00
Paul Chavard
52d2ace823
Remove quartiers prioritaires
2020-04-14 10:29:59 +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
Christophe Robillard
91abcd7792
récupère les infos d'établissement avec infos non diffusables
2020-03-17 15:57:02 +00:00
Paul Chavard
c281347da1
Remove restclient
2020-03-17 11:12:14 +01:00
Paul Chavard
1ce1c1e6d0
use discard
2020-02-13 12:31:59 +01:00
Paul Chavard
a3cf7fce3a
Remove old (< 2019) migration tasks
2020-02-13 11:42:11 +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
e61e39d345
Remove unused code and tests
2020-01-07 11:52:51 +01:00
clemkeirua
789fcf72ca
ajout d'un test automatisé
2019-11-25 10:37:10 +01:00
simon lehericey
8ae592fe25
[ fix #4361 ] administrateur active
2019-10-24 18:32:48 +02:00
simon lehericey
725798da6a
[ fix #4361 ] Update user table sign_in
2019-10-08 10:09:16 +02:00
Paul Chavard
5a7eb734ff
Dump graphql schema for reference
2019-09-24 10:47:21 +02:00
Pierre de La Morinerie
503c393a87
helpscout: use replies_sent to compute contact rate
...
The `conversations_count` we previously used counts replies, but also
all conversations that were tagged or re-tagged during the month – with
made counting the actual work spent on user support brittle.
Counting the replies is a better estimation of what we get.
Unfortunately this also removes the filtering-by-tag feature. To
mitigate this, the reports are now scoped to a specific mailbox. This
allows to create extra mailboxes for conversations that should't be
counted in the stats.
2019-09-11 17:26:10 +02:00
clemkeirua
feb9c32537
search attachments inside bloc repetables
2019-09-10 15:30:44 +02:00
Paul Chavard
7ffb98e616
Remove carrierwave uploaders
2019-09-10 10:49:12 +02:00
simon lehericey
b9f35a9763
ensure that the task is idempotent
2019-09-09 14:08:09 +02:00
simon lehericey
875313e01e
add defaut groupe instructeur to hidden procedure
2019-09-09 13:41:08 +02:00
simon lehericey
3ead6bde9d
AfterParty: link dossier and groupe_instructeur
2019-09-03 06:51:38 +02:00
simon lehericey
a0555bc820
Remove obsolete tasks
2019-09-03 06:47:02 +02:00
simon lehericey
eb75a563b8
Fix old after_party spec
2019-09-02 11:41:12 +02:00
clemkeirua
4032fc61e3
move to only one pipedrive account
2019-08-28 12:16:25 +02:00
Paul Chavard
079ffadfce
Attestation files migration task
2019-08-27 17:43:06 +02:00
Paul Chavard
d02e0fc556
Fix and test migrate_procedure_logo task
2019-08-22 11:28:03 +02:00
simon lehericey
77c11d8b79
fix_procedure_presentation
2019-08-20 11:28:18 +02:00
Paul Chavard
e9ba7700d4
Remove commentaire file uploader
2019-08-20 10:24:13 +02:00
Pierre de La Morinerie
6459e9cf37
tasks: fix the commentaires migration task to work with hidden dossiers
...
By default `commentaire.dossier` doesn't return the dossier if it is
hidden.
2019-08-01 15:43:09 +02:00
Pierre de La Morinerie
02a5234bde
lib: remove FileSizeValidator
...
It was only used by the PieceJustificative model.
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
ffe081c1f2
specs: remove old pieces_justificative from specs and factories
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
e975fe4ade
tasks: remove task to migrate old pieces justificatives
2019-07-30 16:11:17 +02:00
clemkeirua
0818331319
changement du endpoint dans les tests
2019-07-23 16:21:15 +02:00
clemkeirua
25f81f1d3c
download a dossier as zip with all attachments
2019-07-16 09:11:25 +02:00
Paul Chavard
be3283a9a8
Add commentaire pj migration task
2019-07-10 15:35:29 +02:00
Mathieu Magnin
d13b7f953f
Migrate mail body to ActionText
2019-07-03 13:15:49 +02:00
Nicolas Bouilleaud
dace9a53d3
Add Universign timestamp API query
2019-06-17 16:16:28 +02:00
Nicolas Bouilleaud
e16cb731c5
Add poor man’s ASN1 parsing
2019-06-17 16:16:28 +02:00
Pierre de La Morinerie
55c9dfc001
api_entreprise: display better error message when SIRET is private
...
Previously we blamed the network.
Now we say that the entreprise infos cannot be retrieved. Which is not
ideal, but better.
2019-06-12 11:58:04 +02:00
Pierre de La Morinerie
0b49e61ec0
tasks: repair updated_at of dossiers wrongly touched by PJ migration
...
When running the PJ migration task, migrated dossiers have their
updated_at attribute modified.
This means a yellow notification badge pops up on the Instructeurs
pages.
This PR repairs the affected dossiers, by restoring an approximative
updated_at from the latest workflow value (or the timestamp of the
migrated champ).
2019-06-06 11:11:29 +02:00
Pierre de La Morinerie
60121a1be6
task_helper: ensure that incrementing above 100% doesn’t raise an error
2019-05-29 12:06:32 +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
Pierre de La Morinerie
21ac60ad04
tasks: add a task to migrate pjs of procedures in batches
2019-05-28 10:42:18 +02:00
Pierre de La Morinerie
e66e78b4db
helpscout: remove integration of custom fields
...
Our new HelpScout plan doesn't allow custom fields
anymore.
2019-05-13 12:33:29 +02:00
Pierre de La Morinerie
ad4a89f0f6
api_entreprise: raise on network error
2019-05-02 11:24:22 +02:00
Pierre de La Morinerie
fd95ea2871
spec: cleanup exercices_adapter_spec
2019-05-02 11:24:22 +02:00
Mathieu Magnin
ff0356e698
Fix Sentry 165 : api crash when siret is unknown
2019-03-12 17:53:11 +01:00
Paul Chavard
23d8f0d803
Remove old tasks depending on single administrateur
2019-03-12 11:57:51 +01:00
Mathieu Magnin
b690b89b34
Clean old support task
2019-03-12 11:26:07 +01:00
Mathieu Magnin
f96d1b1823
Create default path for brouillons procedures
2019-03-12 11:26:07 +01:00
Mathieu Magnin
11078b7f71
Add rake task to activate publish draft
2019-02-19 17:50:11 +01:00
Pierre de La Morinerie
7413df81e0
Revert "file upload: proxy direct upload through the APP_HOST"
...
This reverts commit 2365efbdaa
.
2019-02-14 16:23:11 +01:00
Mathieu Magnin
2365efbdaa
file upload: proxy direct upload through the APP_HOST
...
Ref #3409
2019-02-14 14:28:03 +01:00
Pierre de La Morinerie
bb1cc1eef8
tasks: delete dossiers without procedures
...
Fix #3279
2019-01-23 17:19:36 +01:00
simon lehericey
45db2d8e5a
[ #3268 ] Rake task to correct bad follows and logs
2019-01-21 14:17:17 +01:00
Frederic Merizen
0846860748
Proxy for active storage service provider
2019-01-16 11:34:57 +01:00
Pierre de La Morinerie
86b9e2d092
stats: fix exception when HelpScout env vars are missing
...
This fixes the stats page, which used to raise an exception when
HelpScout env vars are not present.
2019-01-03 17:27:56 +01:00
Mathieu Magnin
904d8d208b
[ Fix #3192 ] Fix data
2018-12-20 15:45:48 +01:00
Frederic Merizen
832b4a61bc
Drop CleverCloud Service for ActiveStorage
2018-12-19 10:36:02 +01:00
Pierre de La Morinerie
d614ea6bd5
stats: display contact rate
2018-12-18 10:38:59 +01:00
Pierre de La Morinerie
a0ae1afb45
typhoeus: add a cache store for successful requests
2018-12-10 11:41:07 +01:00
Frederic Merizen
270c7568fa
[ #2180 ] Avoid fetching old PJ modification times separately
...
Speeds up transfer
2018-12-08 15:55:40 +01:00
Frederic Merizen
907e87809b
[ #2180 ] Iterate over storage keys rather than blobs
...
To create less confusion on dev
2018-12-07 15:30:10 +01:00
Paul Chavard
b9af07b845
Add admin support contact form
2018-11-28 16:50:37 +01:00
Paul Chavard
1897b2775c
Remove old migration task
2018-11-27 16:11:25 +01:00
Pierre de La Morinerie
4e801b188c
tasks: remove outdated footers in mail templates
...
Fix #1863
2018-11-27 15:32:02 +01:00
Paul Chavard
864d1df413
Test carto migration task
2018-11-20 10:58:22 +01:00
Paul Chavard
fcdc0114fd
Add id to geo areas
2018-10-30 12:16:09 +01:00
simon lehericey
26ae29ea52
Time.local => Time.zone.local
2018-10-26 10:10:20 +00:00
simon lehericey
2238e5bd9f
Time.now => Time.zone.now
2018-10-26 10:10:20 +00:00
Paul Chavard
4abcffe278
Test ApiGeo RPGAdapter
2018-10-23 18:13:45 +02:00
Paul Chavard
ed46e2c3be
Use Typhoeus in ApiGeo adapter
2018-10-23 18:13:44 +02:00
gregoirenovel
baf69acbcb
[ Fix #2833 ] Move /support files to /fixtures
2018-10-16 10:47:41 +02:00
gregoirenovel
0018326451
Add some spacing to specs
2018-10-16 09:33:16 +02:00
gregoirenovel
22088b167d
Remove ApiAdresse::Geocodeur
2018-10-16 09:33:16 +02:00
gregoirenovel
145880555e
ApiAdresse::PointAdapter#point → #geocode
2018-10-16 09:33:16 +02:00
gregoirenovel
af716fa3c6
ApiAdresse::PointRetriever → ApiAdresse::PointAdapter
2018-10-16 09:33:16 +02:00
gregoirenovel
7af41b35a2
ApiAdresse::AddressAdapter#list → #get_suggestions
2018-10-16 09:33:16 +02:00
gregoirenovel
517c0ad3fc
ApiAdresse::AddressRetriever → ApiAdresse::AddressAdapter
2018-10-16 09:33:16 +02:00
gregoirenovel
76cf9ab746
ApiGeo::Driver → ApiGeo::API
2018-10-15 23:31:23 +02:00
gregoirenovel
8b4ba42f15
Simplify ApiAdresse
2018-10-15 23:31:23 +02:00
gregoirenovel
a841a517df
ApiAdresse::Driver → ApiAdresse::API
2018-10-15 23:31:23 +02:00
gregoirenovel
5db4de6c53
QuartiersPrioritaires::Adapter → QuartiersPrioritairesAdapter
2018-10-15 23:31:23 +02:00
gregoirenovel
918a91a985
ApiCarto::Cadastre::Adapter → ApiCarto::CadastreAdapter
2018-10-15 23:31:23 +02:00