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
a7fb7bf1ef
Add geo json validation
2021-03-11 15:51:09 +01:00
Paul Chavard
d24ee27cac
Try to reduce the number of external data fetches
...
Only fetch external data if the external_id is the current one and data is not yet fetched
2021-03-11 14:56:37 +01:00
kara Diaby
6383e6b9e7
Revert "Revert "Claimant type to avis table""
...
This reverts commit f4fd220d43
.
2021-03-10 08:48:55 +01:00
Paul Chavard
70500e3d56
Groupe instructeur selector default blank
2021-03-09 14:47:23 +01:00
Paul Chavard
9c3e72c84a
Use revision instead of groupe instructeur as dossier procedure link
2021-03-09 14:47:23 +01:00
Kara Diaby
f4fd220d43
Revert "Claimant type to avis table"
2021-03-09 13:40:10 +01:00
kara Diaby
af4a27f4e0
add claimant type on avis table
2021-03-07 22:47:24 +01:00
Christophe Robillard
6169399a6b
fix limit date for notice validation
2021-03-05 08:34:39 +01:00
Pierre de La Morinerie
b0735aafe0
config: fix DynamicSmtpSettingsInterceptor warning again
...
This warning re-appeared when running mailer tests:
```
DISABLE_SPRING=1 bin/rspec spec/mailers/administration_mailer_spec.rb
```
It is now fixed properly, in a way recommanded by the documentation.
2021-03-04 22:52:19 +01:00
Christophe Robillard
7f496c43e5
no validation for old procedures
2021-03-04 16:13:19 +01:00
Pierre de La Morinerie
2f948f7e46
active_storage: fix blob update hooks
...
For some reason on Rails 6.1 the `after_update_commit` hook is properly
registered – but disappears from the record later, and in the end is
never run.
Fix it by using the general `after_commit` hook instead.
2021-03-04 14:30:38 +01:00
Paul Chavard
f31096b33e
When procedure is reset delete only draft revision dossiers
2021-03-04 13:10:58 +01:00
Paul Chavard
600f49a0ff
Hide groupe instructeur selector when routage is done via API
2021-03-04 11:06:04 +01:00
Paul Chavard
1c811083c0
Cleanup feature flags usage
2021-03-04 11:06:04 +01:00
Pierre de La Morinerie
9537342c06
procedure: fix query for finding champs without stable_id
...
It would break on ActiveRecord 6.1.
2021-03-04 09:54:22 +00:00
Paul Chavard
5d4f025be0
Rename for consistency with defaut_groupe_instructeur
2021-03-04 10:45:02 +01:00
Paul Chavard
89ec3923f2
Defaut groupe instructeur ordered by label
2021-03-04 10:35:44 +01:00
Paul Chavard
96a832bc19
Add SerializerService
2021-03-02 12:42:22 +01:00
Paul Chavard
bb072ba9e9
Add id argument to most collections on dossier
2021-03-02 12:42:22 +01:00
Pierre de La Morinerie
9f676c76e1
config: fix zeitwerk warning about DynamicSmtpSettingsInterceptor
...
Fix a warning when running tests:
> DEPRECATION WARNING: Initialization autoloaded the constant DynamicSmtpSettingsInterceptor.
>
> Being able to do this is deprecated. Autoloading during initialization is going
to be an error condition in future versions of Rails.
>
> Reloading does not reboot the application, and therefore code executed during
> initialization does not run again. So, if you reload DynamicSmtpSettingsInterceptor, for example,
> the expected changes won't be reflected in that stale Class object.
>
> This autoloaded constant has been unloaded.
>
> Please, check the "Autoloading and Reloading Constants" guide for solutions.
However if we fix as recommanded, the interceptor will get added
each time the classes are reloaded. And as the actual class instance
changed after the reloading, they won't be de-duplicated – *and*
there's no way to remove the old interceptor without having a reference
to the (now-deleted) class.
Instead we load the interceptor once, and add a message about the class
not being auto-reloaded.
2021-02-24 19:00:29 +01:00
Paul Chavard
92158cecb6
fix constant
2021-02-19 11:29:08 +01:00
Paul Chavard
75392272fb
Add champ address model
2021-02-17 19:10:16 +01:00
Paul Chavard
7eee14feef
Add ChampFetchExternalDataJob
2021-02-17 19:10:16 +01:00
Christophe Robillard
d55f156aec
admin: durée de conservation des données hors ds n'est plus demandée
...
La colonne est tout de même gardée en base
2021-02-17 16:41:57 +01:00
kara Diaby
7b4ec486ec
change active record request to get expert list
2021-02-16 09:46:18 +00:00
Paul Chavard
9ce07be1ee
[GraphQL] modifier annotation
2021-02-11 17:45:14 +01:00
Pierre de La Morinerie
819325c761
zeitwerk: move our Array extension to initializers/core_ext
2021-02-11 12:30:43 +01:00
Christophe Robillard
966ee33529
ignore when FranceConnect calls callback 2 times
2021-02-10 18:13:47 +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
4ad9adc510
models: fix Ruby 2.7 arguments passing
...
Arguments to an ActiveRecord scope will always been passed as a
Dictionnary. Thus
`Dossier.with_notifiable_procedure(notify_on_closed: true)` will trigger
a Ruby 2.7 warning:
> /ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
Fix the issue by always expecting a Dictionary (rather than keyword
arguments).
2021-02-09 09:20:46 +01:00
Paul Chavard
a591d5528e
Add job exception log methods to champ and dossier
2021-02-05 18:56:27 +01:00
Paul Chavard
78a07ef021
Add job exception logs to dossier and champ
2021-02-04 19:27:27 +01:00
Judith
6d89a83d14
unused locales clean-up
2021-02-04 12:15:13 +01:00
Paul Chavard
41c3a98d7d
Update Raven references to use Sentry
2021-01-28 19:46:36 +01:00
Paul Chavard
a26537c77d
Make some api entreprise fields optional
2021-01-27 11:53:00 +01:00
Paul Chavard
03ddd17884
Ignore entreprise_id on etablissements
2021-01-27 11:53:00 +01:00
kara Diaby
9b8d2f6fd3
instead of call Avis table, we now call Experts Procedure table to see the experts list
2021-01-26 13:59:10 +01:00
kara Diaby
85242e118b
add an email method to expert model
2021-01-26 13:59:09 +01:00
Paul Chavard
4452b2cf45
fix order of types de champ on procedure
2021-01-26 10:45:34 +01:00
kara Diaby
b683c2023b
add expert to avis table
2021-01-22 14:31:02 +01:00
kara Diaby
da067597ab
Add create expert method
2021-01-20 18:03:05 +01:00
simon lehericey
d409a9a6c5
Procedure and expert link
2021-01-20 18:03:05 +01:00
simon lehericey
29e9f2dd32
Ajout du model expert
...
Co-authored-by: Kara Diaby <kdiaby.pro@gmail.com>
2021-01-20 18:03:05 +01:00
simon lehericey
685534e827
Add content validation for avis and messages
2021-01-18 17:23:08 +01:00
simon lehericey
d72f0c6dd2
Add authorized content type for pj
2021-01-18 17:23:08 +01:00
simon lehericey
da71031801
add skip_content_type_pj_validation attr to pj
2021-01-18 15:12:17 +01:00
Paul Chavard
97ce8f312b
Use external_id to fetch annuaire_education data
2021-01-15 11:50:02 +01:00
Paul Chavard
09a3cacd88
Add external_id to champs
2021-01-15 11:50:02 +01:00
Paul Chavard
54f2084aef
Add annuaire_education champ
2021-01-14 17:57:48 +01:00
Paul Chavard
a1643dad84
Add data column to champ
2021-01-14 17:31:37 +01:00
Paul Chavard
082b4830f3
Fix a crash when champ carte has no options
2021-01-12 14:47:20 +01:00
Paul Chavard
f33544f067
Fix type_de_champ repetition revision after clone
...
fix #5769
2021-01-12 10:57:34 +01:00
simon lehericey
d43c7364fc
add image to notice and deliberation valid content type
2021-01-04 15:13:26 +01:00
kara Diaby
2b06ee95e1
Add a method to retrieve all invited experts for all procedure dossiers
2020-12-21 14:55:51 +01:00
Paul Chavard
09128cb85e
Add titre identite champ to GraphQL
2020-12-17 17:23:34 +01:00
Paul Chavard
a9a4f6e2a8
Add migration task to use stable_id in filters
2020-12-17 10:51:09 +01:00
simon lehericey
024cc70667
human_value use stable_id ?
2020-12-17 10:51:09 +01:00
simon lehericey
4960eda5cb
use stable id
2020-12-17 10:51:09 +01:00
simon lehericey
f07b395d95
sort : remove superfluous return
2020-12-17 10:51:08 +01:00
simon lehericey
f37c27a243
nicer find_field
2020-12-17 10:51:08 +01:00
simon lehericey
e5da1d7111
move remove_filter
2020-12-17 10:51:08 +01:00
simon lehericey
4241ea05f3
move add_filter
2020-12-17 10:51:08 +01:00
simon lehericey
e3ee756da4
move update_sort
2020-12-17 10:51:08 +01:00
simon lehericey
b7a43f3f44
move update_displayed_fields to procedure_presentation
2020-12-17 10:51:08 +01:00
simon lehericey
cbccdea8e0
move displayed_fields for select to procedure_controller
2020-12-17 10:51:08 +01:00
simon lehericey
55998b1284
remove unused dossier_field service
2020-12-17 10:51:08 +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
00b5ad7a10
EQT instructeur, je peux supprimer un dossier terminé
2020-12-16 15:00:26 +01:00
Christophe Robillard
3428c58b9e
extract password complexity validator
...
for user and superadmin
2020-12-15 16:26:09 +01:00
Christophe Robillard
15a395fbc7
superadmin: check complexity password server side
2020-12-15 16:26:09 +01:00
simon lehericey
a941626d45
factorize read_attachment
2020-12-14 14:09:15 +01:00
simon lehericey
38a5847ca4
rewind io before reading to allow multiple read
2020-12-14 14:09:15 +01:00
Fabrice Gangler
064ea776c7
allow default logo of a procedure to be configured in .env file
...
Refs: #5795
2020-12-14 13:41:10 +01:00
simon lehericey
5a9cd71783
fix bill signature
2020-12-11 15:49:05 +01:00
Paul Chavard
3c6e30a326
Show titre identite link only once watermark is added
2020-12-10 16:50:03 +01:00
Paul Chavard
48e7822e34
Remove titres identite after a dossier is processed
2020-12-10 15:21:25 +01:00
Paul Chavard
eaa9b1c071
Expose all optional layers in TypeDeChamp editor
2020-12-10 11:26:16 +01:00
Paul Chavard
cad8ee31d8
Remove legacy geo sources
2020-12-10 11:26:16 +01:00
Christophe Robillard
23ae528c6b
affiche Madame ou Monsieur
...
mais continue à enregistrer en base Mme ou M.
2020-12-08 21:30:54 +01:00
Christophe Robillard
2066e3db87
rend plus compréhensible la civilité
2020-12-08 18:31:38 +01:00
Christophe Robillard
a8ed9ef172
remove dead code
2020-12-08 13:09:08 +00:00
Paul Chavard
b48e7813d2
Put watermark code behind a feature flag
2020-11-25 16:19:06 +01:00
Paul Chavard
371179dc5b
Watermark titres identite
2020-11-25 16:19:06 +01:00
kara Diaby
d9dea779ea
Remove foreign key dossier on dossier operations logs
2020-11-17 16:02:53 +01:00
kara Diaby
06f6cf7771
add new columns to deleted dossiers
2020-11-12 12:18:59 +01:00
kara Diaby
c033ef0910
Ajoute a l'information de connexion France Connect dans les informations du dossier ainsi que sur la demande usager
2020-11-05 19:30:13 +01:00
Christophe Robillard
5562e65bf3
refacto: rename administration to super_admin
2020-11-05 16:03:55 +01:00
Christophe Robillard
a88172eb01
configure otp_secret_key secret
2020-11-05 16:03:55 +01:00
Christophe Robillard
2a0ebd062a
enable 2FA for manager
...
when trying to access manager, if superadmin did'nt enable otp, he/she is redirected to a page to enable 2FA. When superadmin is enabling 2FA, he has to to scan a qrcode with the 2FA application client. And afterwards, the superadmin has to log in with email, password and OTP code.
2020-11-05 16:03:55 +01:00
Christophe Robillard
305ccdc0cd
add recoverable and two_factor stragegy for administration
2020-11-05 16:03:55 +01:00
Christophe Robillard
6c2eb22960
remove github authentication for manager
2020-11-05 16:03:55 +01:00
clemkeirua
30dfe7fbd0
fix a_suivre
2020-11-04 11:07:53 +01:00
clemkeirua
89316c0689
fix counter for dossiers suivis/à suivre when unfollow
2020-10-28 13:51:35 +00:00
clemkeirua
b4910c557d
ajout de procedure.dossiers_count_for_instructeur
2020-10-28 13:51:35 +00:00
clemkeirua
47181ca80b
remove assert_matching_procedure
2020-10-28 13:51:35 +00:00
Paul Chavard
7c58f06c60
always validate geometries returned from api
2020-10-08 16:03:28 +02:00
Paul Chavard
0aa06d0197
[GraphQL] expose dossier pdf, geojson and attestation
2020-10-06 21:54:43 +02:00