Christophe Robillard
0e3e6eb62a
add schedulable? class method to cron jobs
2022-07-21 21:54:15 +02:00
Christophe Robillard
bed6167010
use specific namespace for datagouv cron jobs
2022-07-21 21:54:15 +02:00
Christophe Robillard
b6c96301ef
export and publish opendata demarches
2022-07-21 21:54:15 +02:00
Martin
7fb85c97cb
feat(Administrateur::ArchivesControllers): add archives #index and #create for admin
2022-07-04 14:18:46 +02:00
Martin
ab04369c06
bug(DeclarativeProceduresJob.perform_now): fail all next procedure on one dossier failure
2022-06-10 14:59:36 +02:00
Christophe Robillard
f14cd7b022
remove warning mail for dubious procedures
2022-05-25 14:44:53 +02:00
Paul Chavard
cf8c084a59
refactor: extract download_and_zip in to a shared service
2022-04-12 14:54:54 +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
Paul Chavard
51d7fd6190
test(dossier): update spec to use visible_by_administration
2022-03-10 14:29:40 +01:00
Paul Chavard
e269077c40
refactor(attestation_template): cleanup relationships
2022-02-11 08:45:32 +01:00
Kara Diaby
24ff41d2c0
tests
2022-02-09 14:43:36 +01:00
Paul Chavard
0268511264
fix(manager): remove admins added for a day
...
fix #6855
2022-02-08 11:18:44 +01:00
Pierre de La Morinerie
8d89ae366b
specs: minor cleanups
2021-11-23 08:07:07 +01:00
kara Diaby
1b27ab5aff
tests
2021-11-05 13:32:21 +01:00
Paul Chavard
1888f74b10
Prevent double processing of declarative dossiers
2021-06-04 17:55:40 +02:00
François Vantomme
99ce5195bc
Fix (API Entreprise): test fails randomly
...
Don't assume array order, just check that all values are present
2021-05-07 17:42:15 +02:00
Pierre de La Morinerie
fbfe5c3817
jobs: also retry native ActiveStorage's jobs on transient errors
2021-04-29 14:08:12 +02:00
Pierre de La Morinerie
684af77e35
jobs: extract an RetryOnTranscientErrors
concern
2021-04-29 14:08:12 +02:00
simon lehericey
d552e364fc
retry 5 times on integrity error and then block processing
2021-04-06 18:03:39 +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
Paul Chavard
96a832bc19
Add SerializerService
2021-03-02 12:42:22 +01:00
Pierre de La Morinerie
150ddab660
zeitwerk: Api -> API
2021-02-09 13:07:30 +01:00
Paul Chavard
a591d5528e
Add job exception log methods to champ and dossier
2021-02-05 18:56:27 +01:00
Paul Chavard
41c3a98d7d
Update Raven references to use Sentry
2021-01-28 19:46:36 +01:00
simon lehericey
650a598698
ensure a buggy procedure does not block the others from being closed
2021-01-19 10:42:16 +01:00
simon lehericey
5bc4fab0c4
exhaustive test of discarded_dossier_deletion_job
2020-12-16 15:00:26 +01:00
kara Diaby
c7643154d1
final optims after sim review
2020-12-16 15:00:26 +01:00
kara Diaby
f3c4040d2d
add grace period to deleted dossiers
2020-12-16 15:00:26 +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
simon lehericey
05e9130634
refator test
2020-12-03 11:52:01 +01:00
simon lehericey
f56235c7ee
retry exponentially on api entreprise timeout
2020-12-03 11:52:01 +01:00
simon lehericey
9eab310565
[ #5675 ] for all api entreprise job, retry on 502, 503
2020-12-02 18:25:31 +01:00
simon lehericey
c563956a9f
retry each day during 5 days to fetch attestation social
2020-10-28 15:53:58 +00:00
clemkeirua
245e9e59c7
do not run ApiEntreprise jobs on missing etablissements
2020-09-28 17:36:38 +02:00
simon lehericey
86b04d4275
Add a missing test on job retry to the excon err
2020-09-09 09:08:48 +00:00
Paul Chavard
d1e0b65658
update jobs specs to use revisions
2020-09-02 11:26:26 +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
Paul Chavard
bb5a90da76
fix active_revision_id -> active_revision.id
2020-07-23 15:07:25 +02:00
Pierre de La Morinerie
7a67f1a802
jobs: ignore missing blob during virus scan
...
We currently have many failed VirusScannerJob enqueued, because the
underlying blob is missing.
This PR fixes the issue by discarding the job in those cases (because if
the blob is gone, the job is never going to succeed).
The implementation is based on a similar issue encoutered by the
ActiveStorage::AnalyzeJob. See 06f8baf73c
2020-07-13 14:35:41 +02:00
Pierre de La Morinerie
b82c269cef
specs: test de-serialization of job arguments
...
When the job is invoked directly, the serialization and de-serialization
of the job arguments is not actually tested.
Using `perform_later` inside a `perform_enqueued_jobs` allows to
exercise the serialization.
2020-07-13 14:31:28 +02:00
Christophe Robillard
954d41ce4e
fetch effectifs mensuels for may month
2020-06-24 10:23:00 +02:00
Christophe Robillard
8df9ae3a8d
ask only effectifs for april
2020-06-10 17:41:13 +02:00
Christophe Robillard
f4ebb5d107
create api_entreprise jobs
2020-05-20 11:09:54 +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
742cc15209
Use base CronJob
2020-03-31 12:25:46 +02:00
Paul Chavard
33bf2fe109
remove deprecated AutoReceiveDossiersForProcedureJob
2020-03-31 12:25:46 +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
1ce1c1e6d0
use discard
2020-02-13 12:31:59 +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
14bc2b99b9
auto-archive badly occurs in UTC time and not in local time (1 hour too late in France, 10 hours before in Tahiti ;-)
2019-11-25 14:39:42 +01:00
simon lehericey
8ae592fe25
[ fix #4361 ] administrateur active
2019-10-24 18:32:48 +02:00
simon lehericey
e3e6bc7689
! NEED JOB REBOOT Move remind activation logic to user
2019-08-14 16:34:50 +02:00
simon lehericey
3fde2a6f70
Rename gestionnaire in code to instructeur
2019-08-12 13:47:01 +02:00
Paul Chavard
6cfad01d12
Stop using Flipflop as switch for weekly_overview
2019-07-31 15:15:09 +02:00
Paul Chavard
46c1bbbc6f
Official support for declarative demarches
2019-07-02 14:12:26 +02:00
Paul Chavard
dba8d65137
Track dossier operations with author and subject
2019-05-14 14:31:03 +02:00
Paul Chavard
f113d108c9
Save virus scan status to blob metadata
2019-05-02 15:58:09 +02:00
simon lehericey
99bfd19b41
[ fix #3268 ] Jobs: use automatic_operation
2019-01-16 17:20:12 +01:00
Paul Chavard
98d388b64d
Use state change methods on dossier in dossier auto archive job
2018-11-27 12:49:40 +01:00
Paul Chavard
b5b6832be8
Use state change methods on dossier in dossier auto recieve job
2018-11-27 12:49:40 +01:00
simon lehericey
e684cec516
DateTime.new => Time.zone.local
2018-10-26 10:10:20 +00:00
Frederic Merizen
7631bde16a
[ #2550 ] Generate attestation on auto-accepted dossier
2018-09-25 15:53:57 +02:00
Frederic Merizen
5e16b5d80e
[ #1946 ] Set en_instruction_at for factorybot-created dossiers
2018-09-20 17:44:31 +02:00
Frederic Merizen
e00aa4a250
[ #1946 ] Make assertions independent
2018-09-20 17:43:06 +02:00
gregoirenovel
4b071ecf06
Use enum to the fullest with Dossier.states
2018-08-29 17:31:08 +02:00
gregoirenovel
606b56033a
Use enum to the fullest with VirusScan.statuses
2018-08-29 17:31:08 +02:00
Pierre de La Morinerie
56e3a56bad
specs: fix application_job_spec
2018-07-30 11:03:16 +02:00
Mathieu Magnin
cd4615b10d
When a new PJ is uploaded enqueue a anti virus scan job
2018-06-12 15:12:39 +02:00
simon lehericey
c00f56d454
DubiousProcedure: improve spec
2018-05-30 14:21:41 +02:00
simon lehericey
9f06308dbd
DubiousProcedure: ensure that hidden procedure are not detected
2018-05-30 14:21:41 +02:00
Frederic Merizen
07b1c147d9
[ Fix #1972 ] Always send mails asynchronously
2018-05-28 12:02:13 +02:00
Paul Chavard
7070b0aba0
Fix tests to rely on aasm states
2018-05-23 16:31:27 +02:00
Frederic Merizen
f8273ca8ae
Make match order-insensitive
...
to avoid spurious test failures
2018-05-10 12:10:47 +01:00
Mathieu Magnin
7f4e6eae6b
No dubious proc. email == Everything is ok || Something went wrong. We should always send dubious procedure email.
2018-05-07 12:24:05 +02:00
Mathieu Magnin
a2bbf1b4d6
[ Fix #1907 ] A new token should be regenerated, because the one in db is encrypted
2018-05-04 14:23:05 +02:00
Paul Chavard
45019ce75c
Use Flipflop instead of Feature
2018-04-18 16:51:21 +02:00
Mathieu Magnin
f6d53be873
[ Fix #1799 ] Send automatic emails to improve administrateur activation
2018-04-09 11:08:13 +02:00
simon lehericey
32913aae55
DubiousProcedureSpec: fix test (build 8212)
2018-03-27 16:06:52 +02:00
gregoirenovel
b5b73c8639
Enable all the Security cops
2018-03-06 17:18:44 +01:00
simon lehericey
c94d57db79
AutoReceivedDossiersForProcedure: fix job by changing symbole to string
2018-02-23 15:18:32 +01:00
Mathieu Magnin
0c6aa42f55
[ Fix #1454 ] Send weekly overview emails async, overview param is not correctly serialized by activejob so it is computed again when email is send
2018-02-21 18:22:56 +01:00
Paul Chavard
49bb4f0b54
Set processed_at
on auto received dossiers
...
Closes #1089
2018-02-21 16:38:25 +01:00
Paul Chavard
0c1d529b61
Unify :type_de_champ public/private factories
2018-02-14 11:49:06 +01:00
gregoirenovel
a38d96b2f8
Disable a failing test
2018-01-30 16:56:51 +01:00
gregoirenovel
d30ea70c08
Enable the Layout/SpaceInsideParens cop
2018-01-18 10:53:35 +01:00
gregoirenovel
897a30da0c
Enable the Layout/SpaceInsideBlockBraces cop
2018-01-18 10:53:34 +01:00
gregoirenovel
08ed400ec2
Enable the Layout/FirstArrayElementLineBreak cop
2018-01-15 22:14:38 +01:00
simon lehericey
2bc61f9f3f
[ fix #1097 ] Accent insensitive search
2018-01-09 10:29:54 +01:00
simon lehericey
6a2b575027
[ fix #1097 ] Add whitelist mechanisme to procedure
2018-01-09 10:29:54 +01:00
simon lehericey
f1b7a03b63
[ fix #1097 ] Add job to monitor procedures
2018-01-09 10:29:54 +01:00
Simon Lehericey
c83552f423
[ fix #504 ] Dossier: without_continuation -> sans_suite
2017-12-15 12:10:54 +01:00
Simon Lehericey
2be9b8d2ba
[ fix #504 ] Dossier: refused -> refuse
2017-12-15 12:10:54 +01:00
Simon Lehericey
a13256f73d
[ fix #504 ] Dossier: closed -> accepte
2017-12-15 12:10:54 +01:00
LeSim
3dda27b281
[ fix #504 ] Dossier: received -> en_instruction
2017-12-15 12:10:54 +01:00
Simon Lehericey
72bae2c374
[ fix #504 ] Dossier: draft -> brouillon
2017-12-15 11:52:09 +01:00
LeSim
56545933a9
[ fix #504 ] Dossier: initiated -> en_construction
...
The change must not impact the api
2017-12-15 11:52:09 +01:00
Simon Lehericey
77907b66d7
[ fix #1053 ] An Administrateur can choose the final dossier states
...
! before going to production :
- stopping the current AutoReceiveJob
- relaunch the jobs with previous id and state = 'received'
2017-12-11 16:34:00 +01:00
Simon Lehericey
d90e22e332
Tests: add (or group) Timecop.return to resume time in specs
2017-11-29 16:07:39 +01:00
Mathieu Magnin
c5487657db
Create a Job that receive automatically each new dossier from a specific procedure
2017-10-06 17:49:31 +02:00
gregoirenovel
0006d42874
Move the jobs logging handling in ApplicationJob
2017-10-05 15:42:48 +02:00
gregoirenovel
51f57d983e
Use ActiveJob
2017-10-05 15:42:48 +02:00