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
Pierre de La Morinerie
2e3ddd6190
gems: upgrade to Sprockets 4
2021-02-24 17:09:51 +01:00
Pierre de La Morinerie
e51948ab5c
stylesheets: merge print rules with the application stylesheet
...
- Having a separate stylesheet for print rules is not a best practice
(it makes an extra network request)
- It makes migrating to Sprockets 4 easier
2021-02-24 17:09:51 +01:00
Paul Chavard
2c2b392d6c
Fix multiselect labels
...
only add values to new values if it is a new value
2021-02-19 12:08:54 +01:00
Paul Chavard
92158cecb6
fix constant
2021-02-19 11:29:08 +01:00
Paul Chavard
24f71ccc1a
Improuve multi select
...
In multi select with acceptNewValues option alway keep the new value as the first item in the list to make it easier to add it
2021-02-19 10:53:16 +01:00
Paul Chavard
a0b53d7d80
Expose structured address on the API
...
fix #4290
2021-02-17 19:10:16 +01:00
Paul Chavard
75392272fb
Add champ address model
2021-02-17 19:10:16 +01:00
Paul Chavard
228a83f8a5
Add api address external data fetch
2021-02-17 19:10:16 +01:00
Paul Chavard
7eee14feef
Add ChampFetchExternalDataJob
2021-02-17 19:10:16 +01:00
Christophe Robillard
ac56581ccf
fix indent
2021-02-17 16:41:57 +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
Christophe Robillard
2be4bcf22d
admin: peut modifier durée de conservation d'une procédure publiée
2021-02-17 16:41:57 +01:00
Paul Chavard
6756db1013
Update react-query
2021-02-16 18:14:11 +01:00
Paul Chavard
bb49f6e151
replace react-use with use-debounce
...
this is a much lighter dependencie
2021-02-16 18:14:10 +01:00
Paul Chavard
3dae5b5c04
update react
2021-02-16 18:14:10 +01:00
Paul Chavard
df80f5681d
remove react-scroll-to-component
2021-02-16 18:14:10 +01:00
Paul Chavard
1c164c4376
Use jsx extension
2021-02-16 18:14:10 +01:00
Pierre de La Morinerie
98be7e2076
Fix new Rubocop warnings
2021-02-16 16:31:30 +00:00
Pierre de La Morinerie
aae452cc67
gems: update chunky_png
...
And pass it a proper IO object, to avoid "Undefined method
`set_encoding`" errors.
2021-02-16 16:31:30 +00:00
Pierre de La Morinerie
b04afed20e
gems: update graphql
2021-02-16 16:31:30 +00:00
Paul Chavard
881820888a
Use stable cache key for useMemo
2021-02-16 16:47:15 +01:00
Christophe Robillard
8b55f67964
accepte nouvelles valeurs pour ComboMultipleDropdownList
2021-02-16 16:47:15 +01:00
Paul Chavard
06e282b839
supprime select2
...
select2 n'est plus utilisé. Il est remplacé par
ComboMultipleDropdownList
2021-02-16 16:47:15 +01:00
Christophe Robillard
f9ad9444a9
add style for ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
7565a25b51
rend accessible l'affectation d'un instructeur
...
en remplaçant select2 par ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
3fc7b57b8c
rend accessible la personnalisation des filtres instructeurs
...
en remplaçant select2 par ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
c855d13994
rend accessible l'envoi de dossier par un instructeur
...
en remplaçant select2 par ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
b8097e782a
rend accessible la selection multiple usager
...
en remplaçant select2 par ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
e048f48241
create ComboMultipleDropdownList component
2021-02-16 16:47:14 +01:00
kara Diaby
3817210649
layout
2021-02-16 09:46:18 +00:00
kara Diaby
9492b09f85
make and expert notifiable (controller and routes)
2021-02-16 09:46:18 +00: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
Paul Chavard
e0f7f1f20c
Do not hide graphql controller errors in test env
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
Pierre de La Morinerie
12cd996af9
super_admin: fix OTP generation
2021-02-11 11:14:14 +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
Paul Chavard
434e99bf4f
fix print css
2021-02-10 17:10:58 +01:00
simon lehericey
f7ae974f29
Add throttling for api entreprise
2021-02-10 12:40:14 +01:00
Pierre de La Morinerie
7d1c79bf4b
zeitwerk: Url -> URL
2021-02-09 13:07:30 +01:00
Pierre de La Morinerie
150ddab660
zeitwerk: Api -> API
2021-02-09 13:07:30 +01:00
Pierre de La Morinerie
29ded36e86
stylesheets: fix the dossiers number wrapping on two lines
2021-02-09 11:01:52 +01:00
Fabrice Gangler
229f495753
allow email footer logo to be configured in .env file
...
Refs: #5873
2021-02-09 09:39:02 +01:00