simon lehericey
e0959cda1e
constantize hot strings
...
- 1131 objects over 4220 (-25%) created in app/
2021-04-16 13:13:22 +02:00
simon lehericey
47f13219ed
Avoid useless TypeDeChamp deserialization
...
- 520 objects overs 4720 (10%) created in app/ (using ?pp=profile-memory&memory_profiler_allow_files=app/)
2021-04-16 13:13:22 +02:00
simon lehericey
e728a3fcb7
include type_de_champ
...
Avoid n+1 when matching champ.stable_id in procedure.presentation.displayed_fields_values
win 2s in the worst 3s scenario
2021-04-16 13:13:22 +02:00
Paul Chavard
ea484b879e
Prevent expert users to be deleted
2021-04-15 16:17:36 +01:00
kara Diaby
663fa50f02
notify expert when a decision is taken on a dossier
2021-04-15 11:29:55 +02:00
Christophe Robillard
db48ea02aa
[manager] list superadmins
2021-04-15 10:12:11 +02:00
Paul Chavard
6d37e1d133
Fix discarded procedures destruction
2021-04-14 12:24:16 +01:00
Paul Chavard
5b56ec425b
Fix discarded dossiers destruction
2021-04-14 12:24:16 +01:00
Pierre de La Morinerie
872f6b0153
lib: add migration helpers for making a column unique
2021-04-13 18:09:59 +02:00
Paul Chavard
f152c51d12
Remove ignored_columns
2021-04-13 17:00:07 +01:00
simon lehericey
fde433a7cf
do not ask for avis if the dossier is absent
2021-04-13 12:04:45 +02:00
Pierre de La Morinerie
16f695031b
manager: add Mailjet emails to the sent emails list
2021-04-13 10:58:30 +02:00
Pierre de La Morinerie
773c18babf
manager: improve clarity of emails page
2021-04-13 10:57:26 +02:00
Pierre de La Morinerie
5e8327ff09
manager: refactor SendInBlue unblock action
2021-04-13 10:57:26 +02:00
Pierre de La Morinerie
76e74003ad
manager: fix SendInBlue emails
2021-04-13 10:57:26 +02:00
simon lehericey
76e261691a
add data column to france_connect_infromations
2021-04-13 09:59:28 +02:00
simon lehericey
cd6cb99c3c
add bypass_email_login_token to instructeur
2021-04-13 09:43:38 +02:00
simon lehericey
594cda3ee3
Remove previous attempt but steal its spec
2021-04-13 09:32:48 +02:00
simon lehericey
376013ef03
simplify ever more
2021-04-13 09:32:48 +02:00
simon lehericey
6055fd1b0b
remove for_procedure
2021-04-13 09:32:48 +02:00
simon lehericey
e7bc53237b
simplify followed_dossiers
2021-04-13 09:32:48 +02:00
simon lehericey
430acb1cb0
Fetch all count at once (- 400ms on pass culture)
2021-04-13 09:32:48 +02:00
simon lehericey
9a5a41d0bb
add assign_tos and groupe_instructeur_ids methods
2021-04-13 09:32:48 +02:00
simon lehericey
46517e997b
extract procedure_id
2021-04-13 09:32:48 +02:00
kara Diaby
6bb61ca64f
add condition regarding experts emails in dossier controller instructeur
2021-04-09 13:09:22 +02:00
simon lehericey
b24faae7e3
remove obsolete procedure_id column in assign_to table
2021-04-09 11:41:13 +02:00
Paul Chavard
5a7312f775
Ensure address to_s never returns nil
2021-04-08 16:43:45 +01:00
Paul Chavard
651a928b7c
Improuve export UI
2021-04-08 14:40:26 +01:00
Paul Chavard
371d612fdb
Remove unused columns
2021-04-08 12:43:29 +01:00
Paul Chavard
3ac4a1b339
Revert "New attemp to fix orange badge hell"
...
This reverts commit e83762c4e3
.
2021-04-07 20:02:53 +01:00
Paul Chavard
e83762c4e3
New attemp to fix orange badge hell
2021-04-07 18:43:09 +01:00
Paul Chavard
3f994a6fc8
Revert "Try to fix orange badge hell"
...
This reverts commit 1fd92565f3
.
2021-04-07 18:43:09 +01:00
Paul Chavard
1fd92565f3
Try to fix orange badge hell
2021-04-07 15:07:05 +01:00
Paul Chavard
5e5122a436
Prevent crash in preview where there is no siblings
2021-04-06 18:15:29 +01:00
simon lehericey
b87a691176
use env for localization to avoid db round trip
2021-04-06 18:23:14 +02:00
simon lehericey
cd4ad6878c
remove insee_api_v3 feature
2021-04-06 18:23:14 +02:00
simon lehericey
06d2eb2d21
remove feature xray
2021-04-06 18:23:14 +02:00
simon lehericey
6f2b2c3c1f
use env for maintenance mode to avoid DB roundtrip
2021-04-06 18:23:14 +02:00
simon lehericey
1715a4899f
remove coronavirus banner
2021-04-06 18:23:14 +02:00
simon lehericey
7567e51a3f
add ui for integrity error
2021-04-06 18:11:26 +02:00
simon lehericey
e636e3a752
add merge_and_update_metadata method
2021-04-06 18:11:26 +02:00
simon lehericey
d552e364fc
retry 5 times on integrity error and then block processing
2021-04-06 18:03:39 +02:00
Christophe Robillard
10cd0fece6
modifie la cible des liens du footer
2021-04-06 17:09:56 +02:00
Christophe Robillard
2f7a7f8c83
indique que l'accessibilité n'est pas conforme
2021-04-06 17:09:56 +02:00
Christophe Robillard
b8d203fbf8
rend accessible les liens avec cible _blank
2021-04-06 17:09:56 +02:00
Pierre de La Morinerie
62051c926a
app: move update_allow_decision_access to ExpertsController
2021-04-06 14:54:18 +02:00
Pierre de La Morinerie
c82c72402d
app: move the experts list to ExpertsProceduresController
2021-04-06 14:29:02 +02:00
Pierre de La Morinerie
7acb4cee83
controllers: use standard action names in ExpertsProceduresController
2021-04-06 13:45:51 +02:00
Pierre de La Morinerie
3f25624a5a
routes: nest ExpertsProcedures routes in a resource
2021-04-06 13:18:51 +02:00
Pierre de La Morinerie
c2ce20d40c
config: form_with now generates local forms by default
...
We can remove the `local: true` parameter, as it is now implied by
default.
2021-04-06 12:12:57 +02:00
Pierre de La Morinerie
95b6fdf86d
controllers: unload failed avis from dossier
...
This avoid the subsequent dossier update to fail because some Avis
may be invalid.
2021-04-06 12:12:57 +02:00
Paul Chavard
2702660d72
Update app/models/champs/header_section_champ.rb
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-04-06 10:45:16 +01:00
Paul Chavard
4feda01b6f
Show section numbers only if none of sections start with numbers
2021-04-06 10:45:16 +01:00
kara Diaby
2a0c40c25f
add experts_procedures controller
2021-04-06 10:39:25 +02:00
kara Diaby
a8b30c0cdc
add react component (expert view) and block it when the flag is activated
2021-04-06 10:39:24 +02:00
kara Diaby
03fd6eaeea
add react component to invite an expert
2021-04-06 10:39:24 +02:00
kara Diaby
f9e4d9c982
add variable to dossier controller
2021-04-06 10:39:24 +02:00
kara Diaby
436f567067
change create avis concern
2021-04-06 10:39:24 +02:00
kara Diaby
60c06b6d8c
add revoked at to experts_procedures
2021-04-06 10:39:22 +02:00
kara Diaby
d6bed42a3e
add css helper
2021-04-06 10:38:46 +02:00
kara Diaby
62b7d752f9
layout
2021-04-06 10:38:46 +02:00
kara Diaby
f4acc83269
change procedures controller
2021-04-06 10:38:46 +02:00
Pierre de La Morinerie
3499f5af9a
models: remove invalid Dossier ↔︎ Champ inverse relationship
...
`Dossier.champs` is not really an inverse of `Champs.dossier`: when a
Champ record is created, it should not always be added to dossier.champs
(for instance if the champ is private).
NB: this breaks the workaround we added in #3907 to fix the parent
dossier not being touched in some cases (the workaround was to add an
inverse relationship, but we now have to remove it).
The new workaround is to watch for `changed_for_autosave?` on champs.
Unlike `changed?`, `changed_for_autosave?` also detects changes to
attachments. This allows us to touch both `last_champ_updated_at` and
`updated_at` in a single pass.
2021-04-06 10:26:17 +02:00
Pierre de La Morinerie
fc4d8362dc
models: fix typo in comments
2021-04-06 10:26:17 +02:00
Paul Chavard
7f3d4a26ad
Make exports#key not-null
2021-04-02 17:42:24 +01:00
Paul Chavard
ac17352693
Improuve generated dossier PDF
2021-04-02 14:22:59 +01:00
Paul Chavard
fd48b86b7f
Simplify export unicity check and use create_or_find_by
2021-04-01 21:14:16 +01:00
Christophe Robillard
dbfc878bf5
supprime la page accessibilité
2021-03-30 15:12:18 +02:00
Christophe Robillard
d89dc785f0
met à jour le lien de bas de page Accessibilité
...
Ce lien pointe désormais vers notre site de documentation
2021-03-30 15:08:20 +02:00
Pierre de La Morinerie
798b4a65cc
models: fix db structure comment in etablissement.rb
...
The column is not removed yet, but it is ignored.
2021-03-30 10:45:31 +02:00
kara Diaby
4fc4e19ee6
Ajoute l'onglet avis sur l'interface instructeur, qui renvoie vers le profil expert
2021-03-27 17:00:19 +01:00
Paul Chavard
23104f15a4
Fix export n+1 queries
2021-03-25 19:22:12 +01:00
Pierre de La Morinerie
3f3d6ae399
controllers: use template:
rather than file:
to render PDFs
...
ActionView now throws an error if a relative path is used with `file:`.
2021-03-25 13:24:53 +01:00
Pierre de La Morinerie
185c74d891
dossier: fix SQL deprecation error
...
ActiveRecord 6.1 disallows passing strings to the `order()` function, to
prevent SQL injections.
Here we know that the order string is safe: `ts_vector` is constant,
and `ts_query` is properly escaped.
Wrap the SQL fragment in Arel.sql to bypass the error.
2021-03-25 13:24:53 +01:00
lydiasan
8dce3e5d2a
i18n: localize users/sign_in page
2021-03-25 11:59:05 +01:00
kara Diaby
fff6725799
modify api and serializer
2021-03-24 17:47:24 +01:00
kara Diaby
d17fdfec77
modify layout
2021-03-24 17:47:24 +01:00
kara Diaby
2930de1015
remove useless code in models
2021-03-24 17:47:24 +01:00
kara Diaby
71973de17c
remove useless columns from the db
2021-03-24 16:20:44 +01:00
Christophe Robillard
83cf0fa903
detect staging env
2021-03-24 15:30:12 +01:00
maatinito
a29fb5cc5b
dossier pdf: display form fields in two columns (instead of 2 lines)
...
Identity fields are displayed on two columns, but until now Dossier
fields were displayed on two lines.
This was because of a bug in format_in_2_columns, where the multiple-
lines fields were not handled properly.
This has been fixed a while back by @maatinito, so we can now enable
two-columns formatting even for Dossier fields.
2021-03-23 17:02:52 +01:00
maatinito
cc19453f68
views: fix warning message about incomplete fields for attestation
...
The labels for the champs and private champs were inverted.
2021-03-23 16:56:02 +01:00
Paul Chavard
0b22788d60
experts_procedure should not be optional
2021-03-23 13:46:33 +01:00
Paul Chavard
84214f4bd4
Do not export non exportable champs on draft procedures
2021-03-23 09:55:37 +01:00
Kara Diaby
38837443aa
Merge branch 'main' into fix-experts-lookup
2021-03-18 20:46:56 +01:00
Pierre de La Morinerie
239169e925
dossier: fix looking-up avis from Expert
...
This line causes an error on Rails 6.1.
And it isn't even necessary: this line is supposed to query avis where
the expert advice has been requested – but this is handled by the
`if expert.dossiers.include?(self)` condition just above.
2021-03-18 17:59:30 +01:00
Paul Chavard
1449fbbe67
Fix multiple_drop_down_list mandatory check
2021-03-18 15:22:28 +01:00
kara Diaby
64b94100f4
fix dossier link helper
2021-03-18 14:36:08 +01:00
kara Diaby
5e88ecc24c
improve request to find an expert
2021-03-18 11:38:53 +01:00
kara Diaby
81f5a5254b
tests
2021-03-18 11:38:52 +01:00
kara Diaby
328c2a8e3c
change email to display for expert
2021-03-18 11:38:52 +01:00
kara Diaby
e7945594cf
eager_load for expert
2021-03-18 11:38:52 +01:00
kara Diaby
38740d1b5b
modify experts avis controllers, concern and serializer
2021-03-18 11:38:52 +01:00
kara Diaby
5519ee8417
Expert Layout
2021-03-18 11:38:52 +01:00
kara Diaby
e79b1204e0
change avis invitation mailer
2021-03-18 11:38:52 +01:00
kara Diaby
c55e4d0d98
remove unused instructeur logic
2021-03-18 11:38:52 +01:00
kara Diaby
e8207535ea
modify instructeur views
2021-03-18 11:27:51 +01:00
kara Diaby
568b1c4e53
remove instructeur unused layout
2021-03-18 11:27:51 +01:00
kara Diaby
54d414b3b7
add expert to export
2021-03-18 11:27:51 +01:00
kara Diaby
a710116371
add expert profile to api
2021-03-18 11:27:51 +01:00
kara Diaby
d47fde3fcb
add polymorphic relation to claimant on avis table
2021-03-18 11:27:51 +01:00
kara Diaby
d2ab2debb6
add expert logic
2021-03-18 11:27:51 +01:00
Paul Chavard
d59867c73b
Exposer plus d’informations dans l’interface pour certains champs
2021-03-17 16:28:05 +01:00
Paul Chavard
e96d2fb083
Return empty strings for incomplete api entreprise adresses
2021-03-17 12:12:21 +01:00
Paul Chavard
a6fe1df201
update graphql schema
2021-03-17 11:53:48 +01:00
Paul Chavard
4efc5ff273
Update app/graphql/schema.graphql
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-03-17 11:53:48 +01:00
Paul Chavard
046b36d386
Update app/graphql/schema.graphql
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-03-17 11:53:48 +01:00
Paul Chavard
866ae256a3
Add revision dossiers filters
2021-03-17 11:53:48 +01:00
Christophe Robillard
f47e2e62cd
add button role to supprimer link
2021-03-17 11:31:51 +01:00
Christophe Robillard
6026793c1d
focus to target after toggle
2021-03-17 11:31:51 +01:00
Christophe Robillard
df3bd3a1d2
handle focus during and after upload
2021-03-17 11:31:51 +01:00
Christophe Robillard
43039d1755
add aria-value min, max and now for progressbar upload
2021-03-17 11:31:51 +01:00
Christophe Robillard
dfed8f32ae
update link to download dossier and all pjs
2021-03-16 15:13:17 +01:00
Christophe Robillard
858bbde2d6
remove dead code
2021-03-16 15:13:17 +01:00
Christophe Robillard
60cc4d3697
add pdf to pjs export
2021-03-16 15:13:17 +01:00
Paul Chavard
76aa7bdfe3
Add default nil value for numero_tva_intracommunautaire
2021-03-16 12:57:10 +01: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
Pierre de La Morinerie
08094e5384
jobs: retry on ActiveStorage::IntegrityError during virus scan
...
This is the same setting than what ActiveStorage::AnalyzeJob uses.
2021-03-16 10:52:12 +01:00
Paul Chavard
6f543d3770
Handle invalid GeoJSON in the editor
2021-03-11 15:51:09 +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
Paul Chavard
21d5da379f
remove unused job
2021-03-11 14:56:37 +01:00
Paul Chavard
bee66d41c4
capital_social and numero_tva_intracommunautaire can be null
2021-03-11 11:13:50 +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
0211d1f105
modify create_avis_concern
2021-03-07 22:47:53 +01:00
kara Diaby
af4a27f4e0
add claimant type on avis table
2021-03-07 22:47:24 +01:00
Paul Chavard
82fca8be0b
Make more association fields nullable
2021-03-05 10:13:22 +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
Paul Chavard
47e232f439
Some associations have no date_creation
2021-03-04 16:28:20 +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
79606e8696
Some addresses have no street_address
2021-03-04 12:52:01 +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
9f8c55969d
Add proper external data API errors handling
2021-03-04 10:16:06 +01:00
Paul Chavard
e7ba380d95
Fix JSON.parse crashing on empty values
2021-03-03 17:31:05 +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
Paul Chavard
0bd8721776
Add a way to authoraize any query through context
2021-03-02 12:35:47 +01:00
Paul Chavard
ac5a860e1b
remove unused print.css reference
2021-02-25 17:20:11 +01:00
Paul Chavard
ff8ccbd088
Try to parse SIB email date when it is a string
2021-02-25 15:20:14 +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