Commit graph

2671 commits

Author SHA1 Message Date
simon lehericey
8b5d493f12 clean: log current_user in api v2, when not using token_v3 2023-03-16 10:06:23 +01:00
simon lehericey
7a6658700e clean: log current_user in api v1 2023-03-16 10:06:23 +01:00
simon lehericey
c0ca9f156e clean: remove unused Current.instructeur 2023-03-15 21:51:02 +01:00
simon lehericey
a984c21f64 clean: remove unused Current.administrateur 2023-03-15 21:51:02 +01:00
Paul Chavard
42e74dfc76 feat(api_token): enable fin graned access rights on tokens 2023-03-15 19:09:49 +01:00
Paul Chavard
8ee13f1719 feat(api_token): add allowed_procedure_ids and write_access 2023-03-15 19:09:49 +01:00
Colin Darie
e2ec46a5ba
chore(sentry): set dossier scope for instructeurs as well 2023-03-15 18:59:44 +01:00
Paul Chavard
53e6ad135f Update app/controllers/concerns/turbo_champs_concern.rb
Co-authored-by: Colin Darie <colin@darie.eu>
2023-03-14 15:22:13 +01:00
Paul Chavard
cbaa77fca7 feat(annotations): activate autosave 2023-03-14 15:22:13 +01:00
Lisa Durand
6ba47b731b refacto destroy action and add spec for unauthorized user 2023-03-09 14:58:47 +01:00
Lisa Durand
3d5bf40c0f allow transfer sender to revoke a transfer 2023-03-09 14:57:59 +01:00
Eric Leroy-Terquem
9e0753a710 fix(groupe instructeur mailer): do not notify if no added instructeurs 2023-03-08 11:03:33 +01:00
Eric Leroy-Terquem
9f0f5b0dc5 feat(groupe instructeur): allow import of many groups when procedure is not routed yet 2023-03-08 10:48:02 +01:00
Kara Diaby
cb0417aad4 Possibilité de selectionner plusieurs tags dans la page toutes les demarches 2023-03-03 11:50:47 +01:00
Damien Le Thiec
687c05e6d1
Merge pull request #8622 from demarches-simplifiees/fix/stored_query_issue
Dossier prefill get without stored queries
2023-03-02 14:01:04 +00:00
Lisa Durand
54f17ad3c7
Merge pull request #8630 from demarches-simplifiees/harmonize-actions-for-instructeurs
[instructeurs] Uniformiser les actions pour les instructeurs sur la page tableau et dossier
2023-03-02 13:28:23 +00:00
Eric Leroy-Terquem
f6c4986e86 feat(groupe instructeur mailer): do not notify group when instructeurs removed 2023-03-02 09:46:58 +01:00
Damien Le Thiec
8a7cb3f1fe
Merge branch 'main' into fix/stored_query_issue 2023-03-01 10:22:40 +01:00
Damien Le Thiec
a6db8a6556 Remove prefill token expire at 2023-02-28 16:54:52 +01:00
Paul Chavard
294a5135ce feat(public/api): add dossier state api 2023-02-28 16:35:25 +01:00
krichtof
dee499d386
Merge pull request #8706 from demarches-simplifiees/all_demarches_even_without_zones
liste toutes les démarches, même celles non associées à des zones
2023-02-28 10:58:07 +00:00
Colin Darie
4d1a5f230c feat(a11y/i18n): inject user locale to chat / crisp 2023-02-27 17:23:43 +01:00
sebastiencarceles
0e3126cf83 review: readability 2023-02-27 14:35:11 +01:00
sebastiencarceles
39545671f3 refacto: better error management 2023-02-27 14:35:11 +01:00
sebastiencarceles
396ebbcf2b refactor rna controller to use that new ability 2023-02-27 14:31:58 +01:00
Sébastien Carceles
2ad4e4c01f refacto: better error management 2023-02-27 13:45:16 +01:00
Sébastien Carceles
88136daf14 refactor siret controller to use that new ability 2023-02-27 13:39:31 +01:00
Damien Le Thiec
67bbacbb05
Merge pull request #8513 from demarches-simplifiees/feature/prefill_repetible
Prefill repeatable
2023-02-27 09:58:53 +00:00
Damien Le Thiec
d7592afdd1 Draft session management Prefill get 2023-02-27 10:48:59 +01:00
Lisa Durand
6487e2c27e implement turbostream back for state change in dossier view 2023-02-24 17:54:53 +01:00
Christophe Robillard
1d6c2fd7eb display procedures without zones 2023-02-24 17:27:28 +01:00
Eric Leroy-Terquem
4ea1d7d33b feat(groupe instructeurs import): notify added instructeurs 2023-02-23 10:56:55 +01:00
Eric Leroy-Terquem
a6e01d98ea feat(instructeurs import): notify added instructeurs 2023-02-23 10:56:55 +01:00
Damien Le Thiec
731cd56594 Merge branch 'main' into feature/prefill_repetible 2023-02-22 19:49:06 +01:00
Paul Chavard
3c3629d151 refactor(instructeurs): add_instructeurs should add 2023-02-22 09:49:26 +01:00
Paul Chavard
fcd0f7c609 bring back find_or_create_instructeurs 2023-02-22 09:49:26 +01:00
Eric Leroy-Terquem
d0c432d939 refactor(groupe instructeur): move method to Instructeur model 2023-02-22 09:49:26 +01:00
Eric Leroy-Terquem
d45efa99bc refactor(groupe_instructeurs): extract method for flash message at import 2023-02-22 09:49:26 +01:00
Eric Leroy-Terquem
25df48f255 feat(groupe_instructeurs): import instructeurs in unrouted procedure with a proper CSV 2023-02-22 09:49:26 +01:00
Damien Le Thiec
2052bc7840 Remove dependency type_de_champ -> procedure 2023-02-21 16:00:58 +01:00
Christophe Robillard
9bab4f9d76 display dossiers count for each procedure 2023-02-21 10:06:07 +01:00
Eric Leroy-Terquem
343cb5fce6 feat(groupe instructeur mailer): add emailing to added instructeurs 2023-02-20 15:41:19 +01:00
Damien Le Thiec
deb51e3880 Manage GET prefill by creating a dossier 2023-02-20 15:35:14 +01:00
Damien Le Thiec
dce4c84f9a Merge branch 'main' into feature/prefill_repetible 2023-02-16 17:08:30 +01:00
Paul Chavard
c0ad7853cb fix(administrateur): procedure page n+1 2023-02-16 11:29:21 +01:00
Eric Leroy-Terquem
a46faf8cdf feat(groupe instructeur mailer): make two kind of notifications for removed instructeur 2023-02-16 10:37:04 +01:00
Eric Leroy-Terquem
5be58c8223 refactor(groupe instructeur mailer): rename mailer methods 2023-02-16 10:37:04 +01:00
Eric Leroy-Terquem
cbf072961c feat(groupe instructeur mailer): add emailing to removed instructeurs 2023-02-16 10:37:04 +01:00
Paul Chavard
ade9811d10 Revert "Merge pull request #8635 from tchak/graphql-with-traces"
This reverts commit 76520ec77d, reversing
changes made to 2c729ff396.
2023-02-16 10:07:07 +01:00
Paul Chavard
74c6d45b74 feat(graphql): add tracing support for managers 2023-02-15 18:18:45 +01:00
Damien Le Thiec
2533ca50d4 Merge branch 'main' into feature/prefill_repetible 2023-02-15 11:07:56 +01:00
Lisa Durand
b7a5f8bf7f extract actions and info from dropdown 2023-02-14 17:57:50 +01:00
Damien Le Thiec
802a23057b Microtest dossier prefill get without stored queries 2023-02-13 18:15:24 +01:00
Sébastien Carceles
1a72b80f8f
fix: "remove" a champ to prefill (#8612)
* fix: "remove" a champ to prefill

Removing a champ to prefill on /preremplir used to fail, because of a
collusion (having the same form multiple times on un page looks like a
bad idea, when it comes to multiple input fields).

* fix specs
2023-02-13 08:17:22 +00:00
Damien Le Thiec
dbb92e7fd3 Merge branch 'main' into feature/prefill_repetible 2023-02-11 22:40:56 +01:00
sebastiencarceles
6c5b82ebbf filter out locale from stored query params
As 'locale' isn't a param we want to prefill a dossier, we ignore it
and remove it from the stored query params.
2023-02-09 13:51:52 +01:00
sebastiencarceles
e212055ef8 tell when query params have been stored 2023-02-09 13:51:52 +01:00
Colin Darie
e626eb69ce feat(admin): import groupe instructeurs csv when procedure is closed 2023-02-09 11:17:13 +01:00
Paul Chavard
f22cc8812b secu(graphql): log full queries and variables 2023-02-08 15:10:27 +01:00
Colin Darie
786c3d06d6 chore(sentry): set procedure tag to administrateur controller 2023-02-08 14:42:14 +01:00
Eric Leroy-Terquem
6cbc514d56 feat(groupe instructeurs): remove mailing when add instructeurs 2023-02-08 10:36:42 +01:00
Martin
1ee67d511d amelioration(mails): permet a nos mails d'inclure des balises <a> pour faciliter l'usage des mail envoyés 2023-02-06 11:01:28 +01:00
Lisa Durand
f80fe9680f corrections from Sim review 2023-02-03 15:13:06 +01:00
Lisa Durand
93a85ca4b0 add limit of 500 dossiers 2023-02-03 15:13:06 +01:00
Lisa Durand
5802f3f7cf injected dossier_ids in front 2023-02-03 15:13:06 +01:00
Eric Leroy-Terquem
ff5fecef25 fix(dossiers_transfers): can destroy dossiers_transfers 2023-02-03 13:48:39 +01:00
Colin Darie
a221c57fbc feat(manager): resend reset password instructions 2023-02-02 22:15:10 +01:00
simon lehericey
7461d84018 feat(log): log ip and correlation id 2023-02-02 11:20:05 +01:00
Eric Leroy-Terquem
b306dea5cf refactor(avis): rename revive by remind 2023-02-01 09:55:46 +01:00
Eric Leroy-Terquem
004bf5be38 feat(avis): add remind_by! method 2023-02-01 09:55:46 +01:00
Damien Le Thiec
d7b01255fe Merge branch 'main' into feature/prefill_repetible 2023-01-31 16:39:00 +01:00
Damien Le Thiec
f91cc05d95 Small fix link to prefill type de champ 2023-01-31 16:24:32 +01:00
Damien Le Thiec
20ba96ba3c POST working with prefill query example for repeating fields 2023-01-31 14:54:23 +01:00
Martin
88553eec9b correctif(dossier_transfer): le transfer de dossier vers un email contenant des majuscule ne fonctionnait pas 2023-01-31 14:52:57 +01:00
Colin Darie
36d5569114 fix(instructeurs): pdf in exports include info administration 2023-01-30 18:38:54 +01:00
Colin Darie
ef864021f7 refactor(pj_service): explicit options with_{bills,champs_private} because expert & instructeurs does not need the same 2023-01-30 18:04:09 +01:00
Paul Chavard
d82620d1ff fix(attestation template): validate on edit form load 2023-01-30 11:52:35 +01:00
Colin Darie
7c13449b4f feat(conditional): show loader during autosave when other champs are dependent of it 2023-01-26 09:06:30 +01:00
mfo
84a667b8bd
Merge pull request #8454 from tchak/feat-epci
feat(types de champ): add EPCI champ
2023-01-23 16:56:18 +01:00
mfo
1926aa283d
Merge pull request #8425 from adullact/fix/procedure-custom-retention
Fix du support d'une durée personnalisée de conservation des dossiers
2023-01-23 12:11:29 +01:00
Damien Le Thiec
962016e32e
Schema graph_ql (#8406)
* First draft schema graph_ql

* Add tests for json schema procedures
2023-01-23 11:31:06 +01:00
Sébastien Carceles
68ddae7382
feat(demarche): prefilling stats (#8436)
* force json content type for POST / PATCH / PUT

* add specs about stats dossiers funnel

* new endpoint to render stats about a procedure
2023-01-20 13:28:02 +00:00
Paul Chavard
f38ee8f03f feat(dossier): implement refresh_after_update on champs 2023-01-20 11:05:25 +01:00
Martin
ffd6a10618 clean(api/v2/base_controller): remove potential confusion 2023-01-19 18:09:38 +01:00
Martin
3dc26efc61 infra(monitoring): ajoute le webhook pour les notifier des incidents cote sib 2023-01-19 09:50:25 +01:00
Colin Darie
428dd9bf1a fix(dossier): we can't terminer any dossier having etablissements in degraded mode
Closes #8449
2023-01-18 19:23:25 +01:00
Kara Diaby
04b86e9c55 controller 2023-01-18 18:46:42 +01:00
SebastienGt
bd42e93bc6 Correction pour flash.now 2023-01-18 10:03:55 +01:00
SebastienGt
1fd26fad54 Correction 2023-01-18 10:03:55 +01:00
SebastienGt
05d0870cce Correction 2023-01-18 10:03:55 +01:00
SebastienGt
981ae0625f Correction 2023-01-18 10:03:55 +01:00
SebastienGt
b14167837c Decalage notice 2023-01-18 10:03:55 +01:00
SebastienGt
0cb7bd2424 Merging 2023-01-18 10:03:55 +01:00
SebastienGt
0507bb673d Simplification du code en supprimant if 2023-01-18 10:03:55 +01:00
Sebastien
c37ed7a7a1 Adding console output when saving failed 2023-01-18 10:03:55 +01:00
Colin Darie
deb40caae1 feat(manager): schedule a dolist report from manager 2023-01-18 09:56:40 +01:00
Sébastien Carceles
5c7b2ba1f3
feat(dossier): prefill drop down list champ (#8361)
* feat(dossier): prefill drop down list champ

* decorate the types de champ to avoid if / else

In order to avoid doing if this a drop down ? / else at several places,
we decorate the types de champ and let the decorator give the possible
and example values.

* show all possible values when there are too many

* allow to prefill 'other' option

* review: remove duplicate

* review: refactor for readability

* validate that value is in options

* review: exclude disabled options
2023-01-18 09:47:22 +01:00
simon lehericey
8e75b6ff77 fix(send_dossier): avoid leaking instructeur emails 2023-01-17 16:57:56 +01:00
François Vantomme
e794d4f77b
fix(procedure): deal nicely with custom NEW_MAX_DUREE_CONSERVATION 2023-01-12 14:37:54 +01:00
Paul Chavard
289d48f697 refactor(js): use autosubmit controller in filter_component 2023-01-12 11:58:46 +01:00
Paul Chavard
e8b10fd320 fix(procedure): return most recent demarche for a given path 2023-01-12 10:23:12 +01:00
Martin
3e6b82ed9e amelioration(safe_mailer): ajoute au manager la fonction pour configurer le routage des mails sur un fournisseur unique
Update app/mailers/devise_user_mailer.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-01-11 17:32:24 +01:00
Paul Chavard
afc1f12028 feat(graphql): implement add/remove instructeurs via API 2023-01-10 20:33:35 +01:00
Paul Chavard
af33d5d65c refactor(repetition): use row_id instead of row 2023-01-10 19:31:41 +01:00
Martin
0ef46b6f07 amelioration(instructeurs/dossiers#show): supprime le double chargement des champs et annotations privées 2023-01-10 17:36:05 +01:00
François Vantomme
0e3fe055e4
fix(archive): typo on flash notice 2023-01-10 17:23:48 +01:00
Colin Darie
812376cfb2 fix(manager): default resource order 2023-01-10 16:07:35 +01:00
Colin Darie
22e2749357 chore(manager): basic dashboard for EmailEvents 2023-01-10 16:07:35 +01:00
Paul Chavard
5128b9a086 refactor(demarches): use turbo_stream template 2023-01-10 09:48:32 +01:00
Martin
0ce293d2e0 fix(instructeurs/dossier#show): missing preload on dossier 2023-01-09 14:29:47 +01:00
Sébastien Carceles
177dec2bdb
feat(dossier): add dossier id to prefill response (#8382) 2023-01-06 13:46:27 +00:00
Martin
3918757dc9 correctif(test): desormais l'association batch_operations.groupe_instructeurs passe par le dossier. Mise a jour des tests 2023-01-05 16:20:18 +01:00
Lisa Durand
59468fe351 add justificatif_motivation field to batch operation accepter 2023-01-05 16:20:18 +01:00
Lisa Durand
1bc0609543 add motivation field to batch operation accepter 2023-01-05 16:20:18 +01:00
Paul Chavard
378f3c5fb0 use join table instead of arrays 2023-01-05 16:20:18 +01:00
Paul Chavard
c4a30084fe refactor(virus_scan): remove lock 2023-01-04 12:12:11 +01:00
Sébastien Carceles
20136b7ac8
feat(demarche): create and prefill a dossier with POST request (#8233)
* add base controller for public api

* add dossiers controller with basic checks

* create the dossier

* ensure content-type is json

* prefill dossier with given values

* mark a dossier as prefilled

When a dossier is prefilled, it's allowed not to have a user.

Plus, we add a secure token to the dossier, which we will need later to set a
user after sign in / sign up.

* set user as owner of an orphan prefilled dossier

When a visitor comes from the dossier_url answered by the public api,
the dossier is orphan:
- when the user is already authenticated: they become the owner
- when the user is not authenticated: they can sign in / sign up / france_connect
and then they become the owner

So here is the procedure:
- allow to sign in / sign up / france connect when user is unauthenticated
- set dossier ownership when the dossier is orphan
- check dossier ownership when the dossier is not
- redirect to brouillon path when user is signed in and owner

* mark the dossier as prefilled when it's prefilled
(even with a GET request, because it will be useful later on, for
exmample in order to cleanup the unused prefilled dossiers)

* system spec: prefilling dossier with post request
2023-01-03 14:46:10 +01:00
Kara Diaby
f7cb24ce40 Supprime le feature flag pour que tous les administrateurs puissent ajouter des tags sur les démarches 2023-01-02 11:13:31 +01:00
mfo
72791bd5b6
Merge pull request #8337 from mfo/US/instructeur#telecharger_pjs
correctif(instructeurs/dossier#telecharger_pjs): ne pas inclure les bills et horodatage quand on telecharge un dossier unitairement
2022-12-27 09:07:48 +01:00
Paul Chavard
4a4ce67ef6 fix(dossier): explicitly send draft notification email 2022-12-26 22:02:33 +00:00
Martin
69aed18b46 correctif(instructeurs/dossier#telecharger_pjs): ne pas inclure les bills et horodatage quand on telecharge un dossier unitairement 2022-12-26 17:11:10 +01:00
Paul Chavard
4d4c378724 feat(api_geo): add api_geo service 2022-12-21 14:03:02 +01:00
Kara Diaby
7bdc7c2cad manager procedure controller 2022-12-19 15:28:09 +01:00
Sébastien Carceles
0a10a08c21
feat(demarche): describe procedure prefilling (#8187)
* feat(demarche): description

Show the description of an opendata procedure (published or draft),
with help about how to prefill a dossier for this procedure.

Co-authored-by: Damien Le Thiec <damien.lethiec@gmail.com>
2022-12-19 11:32:09 +00:00
Martin
2be4441a70 amelioration(attestion.et.mail): deduplique les message d'erreur, améliore les messages d'erreur, gère la pluralisation des erreurs lorsque plusieurs tags sont concernés 2022-12-19 09:28:46 +01:00
Martin
ef389eab41 amelioration(attestation.et.mail): repositionne les messages d'erreur lié à la substitution des balises a proximité du formulaire pour faciliter la comprehension. passage des champs au DSFR 2022-12-19 09:28:46 +01:00
Christophe Robillard
f1595d1f50 wrap resultset tuples in ProcedureDetail 2022-12-16 15:51:49 +01:00
Christophe Robillard
5de0c8722e i18n for procedure attributes and values 2022-12-16 15:51:49 +01:00
Christophe Robillard
f3f8bc74c7 fetch procedure info on demand
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
Co-authored-by: Colin Darie <colin@darie.eu>
Co-authored-by: Martin <martin@sharypic.com>
2022-12-16 15:51:49 +01:00
Christophe Robillard
3a660349ad export all demarches 2022-12-16 15:51:49 +01:00
Christophe Robillard
cea92c0488 perf: remove n+1 queries to count admin 2022-12-16 15:51:49 +01:00
Christophe Robillard
d167a3ec71 fix: select distinct procedures 2022-12-16 15:51:49 +01:00
Paul Chavard
cb5b60ccda Revert "Revert "Merge pull request #7907 from tchak/feat-cond-repetitions""
This reverts commit 0d10d36cb0.

# Conflicts:
#	app/models/dossier.rb
#	app/models/dossier_preloader.rb
2022-12-15 19:09:25 +01:00
Sébastien Carceles
b8ff0ba4a2
feat(demarche): sign up when prefilling a dossier (#8247)
* store prefill params in session

Instead of using query params on /dossier/new, we assume the user comes
from /commencer/:path, which is the new prefill link.

There, we store the prefill params in session, and use them to prefill
the dossier when creating it, in /dossiers/new.

* spec: cover the case

* review: serialize with json instead of yaml

* review: rename method

* review: store only query params

* review: comment why we dont override already stored params
2022-12-15 10:58:17 +01:00
Lisa Durand
89730b485b add bulk action feature for 'passer_en_instruction' 2022-12-15 10:04:25 +01:00
Paul Chavard
5dfb96383a fix(types_de_champ): ensure we always reset dossier after demarche changes 2022-12-14 17:42:27 +01:00
Paul Chavard
1f54986ab8 clean(admin): remove unused code from old controller 2022-12-14 17:42:27 +01:00
Colin Darie
3a9a71079a
Merge branch 'main' into pj-en-construction-replace 2022-12-14 16:59:48 +01:00
Paul Chavard
1b95809f14 refactor(dossier): flatten champ attributes 2022-12-14 13:03:06 +01:00
Paul Chavard
0d10d36cb0 Revert "Merge pull request #7907 from tchak/feat-cond-repetitions"
This reverts commit 1900f8ff4c, reversing
changes made to febffc2d64.

# Conflicts:
#	app/models/dossier.rb
2022-12-14 11:25:45 +01:00
Colin Darie
4049240c2c
feat(piece_justificative): allow user to replace a PJ for dossier en_construction 2022-12-14 09:58:15 +01:00
Colin Darie
4824363879 refactor(attachment): rename user_can_download -> explicit view_as
- link: shows a simple link to open attachment
- download: shows complete DSFR download UI
2022-12-08 20:36:15 +01:00
sebastiencarceles
3939644030 validate prefilled champs when editing brouillon 2022-12-08 15:27:39 +01:00
sebastiencarceles
24802985a2 feat(dossier): prefill dossier from query params 2022-12-08 15:27:39 +01:00
Paul Chavard
d513c364d8 feat(cond): enable conditional on champs in repetitions 2022-12-08 09:38:12 +01:00
Paul Chavard
52c8fc7e8d feat(api_token): api v2 use new token 2022-12-07 18:19:37 +01:00
Paul Chavard
a47a056ee8 feat(api_token): api v1 use new token 2022-12-07 18:19:37 +01:00
Paul Chavard
3c21090a88 feat(api_token): add profile api token card 2022-12-07 18:19:37 +01:00
Paul Chavard
3d1f57df83 feat(api_token): add api token controller 2022-12-07 18:19:37 +01:00
Paul Chavard
bb47e8d2ab fix(dossier): dossier.repasser_en_construction! should take disable_notification 2022-12-07 13:14:59 +01:00