Commit graph

313 commits

Author SHA1 Message Date
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
gregoirenovel
dc28e79ab4 Group API Entreprise mock responses in a folder 2018-10-15 23:31:23 +02:00
gregoirenovel
7ae5e8ce52 Group API Adresse mock responses in a folder 2018-10-15 23:31:23 +02:00
gregoirenovel
bfa2d5748d Properly name a support files folder 2018-10-15 23:31:23 +02:00
gregoirenovel
5e9e913dce Carto::Geocodeur → ApiAdresse::Geocodeur 2018-10-15 20:55:46 +02:00
gregoirenovel
d726fbf698 CARTO::SGMAP → ApiCarto 2018-10-15 20:55:46 +02:00
gregoirenovel
bf63e7d6ab Use HTTPS for the API Adresse URL 2018-10-15 20:55:46 +02:00
gregoirenovel
dac2019675 Carto::Bano → ApiAdresse 2018-10-15 20:55:46 +02:00
gregoirenovel
4903a6b189 Carto::GeoAPI → ApiGeo 2018-10-15 20:55:46 +02:00
gregoirenovel
34ac68b27f 2018-10-15 17:12:34 +02:00
gregoirenovel
b162c68844 Use Hash#slice 2018-10-15 17:12:34 +02:00
gregoirenovel
22beb41240 Unify #generate_qp with #generate_cadastre 2018-10-15 16:45:30 +02:00
gregoirenovel
2ed4c1da1c Use round brackets 2018-10-15 16:45:30 +02:00
Pierre de La Morinerie
47af56cf8b spec: move /spec/lib/rake to /spec/lib/tasks
This reflects the structure of the `/lib/tasks` directory.
2018-10-15 11:51:49 +02:00
gregoirenovel
a171186dd8 Enable Style/TrailingCommaInHashLiteral 2018-10-03 12:03:21 +02:00
Frederic Merizen
9beaa293cd [#1421] Use delegation rather than STI for TypeDeChamp 2018-09-25 08:26:56 +02:00
gregoirenovel
0c9628c180 Fix some files according the the .editorconfig rules 2018-09-20 16:23:09 +02:00
Frederic Merizen
580c6145d0 Migrate nutriscore dossiers from old procedure to new procedure 2018-08-29 19:40:02 +02:00
Paul Chavard
6453b53a41 Add helpscout API adapter 2018-08-29 10:43:00 +01:00
Pierre de La Morinerie
d1301762d4 pipedrive: fix deals when no deals are returned 2018-07-02 17:07:24 +02:00
Paul Chavard
d0a6957862 Remove old cerfa code 2018-06-28 15:16:20 +02:00
Pierre de La Morinerie
9f502c536b spec: only load tasks once
When a task is loaded several times, a single call of `task.invoke`
will run the task several times too.

This made `add_annotion_privee_to_procedure_spec` fail when it wasn't
the first task being tested.
2018-06-20 11:35:20 +02:00
Frederic Merizen
695f5b2705 Fix class methods on BizDev module
and add missing tests
2018-06-06 16:07:29 +02:00
gregoirenovel
5d188c191d Move transform_keys calls directly to #process_params methods 2018-05-24 17:54:51 +02:00
gregoirenovel
a246181afd Add API_GEO_URL 2018-05-22 19:01:46 +02:00
simon lehericey
3cfffc2615 [fix #1922] add one annotation to a procedure 2018-05-18 11:48:19 +02:00
Mathieu Magnin
3e176d4e08 Remove use of staging.apientreprise 2018-05-09 13:56:29 +02:00
Frederic Merizen
b0037d50c8 Allow downloads with a HTTP range header 2018-04-24 16:07:19 +02:00
Frederic Merizen
47e06812b1 Cosmetic: nicer indentations for multiline strings 2018-04-24 16:07:19 +02:00
Paul Chavard
9cc6d494a4 Spec STI loading champ/type de champ 2018-03-29 17:45:19 +02:00
Mathieu Magnin
20fd7e52e6 [Fix #1729] Clean mail templates with <code> tags 2018-03-29 17:23:30 +02:00