Lisa Durand
93a85ca4b0
add limit of 500 dossiers
2023-02-03 15:13:06 +01:00
mfo
48503e0743
Merge pull request #8533 from colinux/feat-dolist-send-mail-api
...
Email: API Dolist pour envoyer des emails transactionnels
2023-02-03 14:36:53 +01:00
Eric Leroy-Terquem
ff5fecef25
fix(dossiers_transfers): can destroy dossiers_transfers
2023-02-03 13:48:39 +01:00
Damien Le Thiec
63e7c17fda
First tests for prefill repetition
2023-02-03 12:14:18 +01:00
Colin Darie
380a4232c6
fix(mailer): preview for DossierMailer#notify_new_draft
2023-02-02 15:58:53 +01:00
Colin Darie
b0b7114c3b
feat: jsv support for primitives
2023-02-02 14:55:46 +01:00
Sébastien Carceles
8fee658eba
migration: normalize regions ( #8521 )
2023-02-02 10:19:33 +00:00
Sébastien Carceles
6800bb8cec
migrate(champs): normalize departements ( #8505 )
...
* migration: normalize departements
* rename update_all methods to avoid collusions
* simplify scopes
2023-02-02 10:00:56 +00:00
Paul Chavard
2971100081
fix(dossier): do not try to rebase if procedure is not published
2023-02-02 10:11:46 +01:00
Paul Chavard
fc31ef6da3
chore(dossier): move concern spec to concern folder
2023-02-02 10:11:29 +01:00
Lisa Durand
120fbb0ef7
Overload the finished_at
2023-02-01 17:06:04 +01:00
Lisa Durand
d0a131dc55
change the way we set the finished_at on batch operation job to fix alert display bug
2023-02-01 17:06:04 +01:00
Damien Le Thiec
e7c78321d9
Fix new failing tests
2023-02-01 13:35:32 +01:00
Damien Le Thiec
a4645855d3
Fix tests prefillable repetition
2023-02-01 12:02:09 +01:00
Colin Darie
fa0f72aaba
feat(procedure): hide estimated fill duration when super admin disabled it
...
Closes #8466
2023-02-01 11:02:55 +01:00
Colin Darie
eb9cd90ee8
chore(schema): +procedure#estimated_duration_visible
2023-02-01 11:02:55 +01:00
Paul Chavard
9c83939431
fix(dossier): fix adding repetition in a new revision
2023-02-01 10:36:46 +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
Martin
4f4791a864
bug(liens-invitation): ne devrait pas pointer sur l'avis ayant le même id que l'invitation
2023-01-31 16:33:31 +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
5cddb1c74e
fix(procedure_presentation): options groupe_instructeur for that procedure only
2023-01-31 13:55:06 +01:00
Paul Chavard
dcbe16603a
fix(dossier): fix parser with dashes
2023-01-31 10:40:48 +01:00
Paul Chavard
ca05fb753b
fix(only_present_on_draft?): broken when type_de_champ is removed from later revisions
2023-01-31 09:26:50 +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
Martin
dbe64cf0c8
correctif(date_champ): renforce la validation avec le parsing de la date plutot qu'une approche par regexp
2023-01-30 13:01:24 +01:00
Martin
78f9910fd0
bug(date): la validation est trop lache
2023-01-30 13:01:24 +01:00
Colin Darie
3265fff30e
fix(dropdown): wait "other" input to be disabled before autosave
...
Fix le workflow suivant pour un champ drop down avec option "autre" :
- on choisit la valeur "autre" avec une valeur => ça autosave la bonne valeur
- on choisit finalement une autre valeur proposée => l'autosave envoyait
la nouvelle valeur, et toujours la valeur "other" car l'input n'était pas encore
`disabled`. Par conséquent la valeur other overridait la valeur choisie
et ça provoquait des erreurs en cascade, notamment dans le conditionnel.
2023-01-30 12:16:25 +01:00
Paul Chavard
2f4e85f163
fix(dossier): set rebased_at only on changed champs
2023-01-30 12:01:11 +01:00
Paul Chavard
298721f90d
fix(dossier): fix clone with data
2023-01-30 10:58:26 +01:00
Colin Darie
923ee59e92
refactor(instructeurs/perf): don't load anymore geo areas for each champ because of header
...
Economise 1 requête par champ sur chaque page instructeur d'un dossier
à cause du header juste pour savoir s'il faut afficher
le bouton d'export GeoJSON.
2023-01-26 14:57:45 +01:00
Martin
9a12b97424
amelioration(expert/avis/header): passe d'un dropdown avec un element pour telecharger le dossier au composant dsfr de telechargement de fichier
2023-01-26 11:13:23 +01:00
Martin
2be0f5aa99
amelioration(menu): extraction des menu dans un composant ruby pour ne pas dupliquer les changements aria partout ds la codebase
2023-01-26 11:13:23 +01:00
Colin Darie
51c1736d00
refactor(conditional): extract in a ChampConditionalConcern with tests
2023-01-26 09:06:30 +01:00
Colin Darie
81f00774af
feat(logic): operators sources
2023-01-26 09:06:30 +01:00
Paul Chavard
5b9e534b3f
chore(turbo): morph all the things
2023-01-25 13:45:26 +01:00
Sébastien Carceles
49ce255e29
feat(dossier): prefill region champ ( #8442 )
...
* make regions champ prefillable
* add possible and example value
* add external_id and value validation
2023-01-24 11:25:17 +00:00
Martin
4990c448b1
amelioration(mail.prioritaire): en plus des mails de device, ajoute la gestion du routage des autres mails critique
2023-01-24 11:49:53 +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
Sébastien Carceles
92c769de4f
fix(prefill): code pays display ( #8477 )
...
* show translated text AND possible values
* show less possible values
* show countries possible values
2023-01-23 14:08:20 +00: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
a4cbbe721e
feat(types de champ): add EPCI champ
2023-01-20 11:32:36 +01:00
Paul Chavard
8f1ae99413
fix(graphql): remove deprecated options from introspection query
2023-01-20 09:54:50 +01:00
Martin
52380d5249
fix(api): on fixe avec avec des tests le prob de token
2023-01-19 17:40:19 +01:00
Martin
7206f1b298
bug(api): token, not checked
2023-01-19 17:33:19 +01:00
simon lehericey
84d08d4d24
fix(expert_export): an expert export excludes annotation and avis
2023-01-19 12:09:16 +01:00
Sébastien Carceles
0046338e6a
fix(prefill): don't mark the dossier as prefilled when it's not ( #8464 )
...
A dossier should not be marked as prefilled when it's not, meaning
when no prefill params are given.
2023-01-19 10:51:56 +00:00
Martin
8528939b75
correctif(champs/repetitions#remove): les row id etant des ulid commence par un int. utiliser l'ulid comme selecteur css n'est pas valide. il faut donc avoir un selecteur CSS 'safe', et envoyer le row_id
2023-01-19 10:48:01 +01:00
Martin
f59354f787
tech(champs/repetitions#remove): ajout d'un test pour s'assurer que l'action de suppression d'un bloc repetable fonctionne
2023-01-19 10:38:30 +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
063059d6f0
tests
2023-01-18 18:46:42 +01:00
Paul Chavard
b5dc71e975
fix(graphql): demarche with pj should return schema
2023-01-18 18:06:10 +01:00
Paul Chavard
cdb3ce65cb
feat(graphql): expose more information on demarche descriptor
2023-01-18 13:46:40 +01:00
Damien Le Thiec
3a8a50a216
Allow prefill pays type de champs ( #8344 )
...
* Allow prefill pays type de champs
* Avoid conditional prefil params for pays champ
* Clean pays data with batch update
* Fix bug and add test batch update pays value
* Improve performance batch_update_pays
* Fix associated country code problem
* Fix after party task name
* Format country name if needed in batch update
2023-01-18 12:52:38 +01:00
Colin Darie
784b0458fe
feat(dolist): consolidate dispatched events with delivered emails
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
Colin Darie
ce7e674159
feat(mailer): make errors interceptable by jobs so they will retry
...
Comme on intercepte chaque `StandardError` pour le monitoring des mails
en erreur, l'erreur n'était plus visible par le job, et les emails
étaient perdus.
A la place on re-raise une autre erreur pour que le job échoue afin de
retry plus tard. Pour ne pas être "avalée" par le rescue_from,
cette erreur doit héritée d'`Exception` plutôt que `StandardError`.
NB: il faudrait parvenir à écrire un test pour vérifier ce comportement.
Pour être vérifié en dev, il faut activer `raise_delivery_errors`
comme en production.
2023-01-17 14:26:11 +01:00
Paul Chavard
44488c7014
feat(dossier): use select in filters bygroupe instructeur
2023-01-16 14:00:08 +01:00
Martin
0aba708b34
correctif(spec): associe le dossier suivis a l'instructeur du batch operation. sinon c'est un autre instructeur qui est crée
2023-01-16 11:14:29 +01:00
Lisa Durand
8fbb866aba
fix component spec
2023-01-16 11:14:29 +01:00
Lisa Durand
db3085fa33
design : make filter buttons tertiary and dropdown secondary
2023-01-16 11:14:29 +01:00
Lisa Durand
06c6a4ab0c
add action 'unfollow' to page 'suivis'
2023-01-16 11:14:29 +01:00
Lisa Durand
2f666b487e
add action 'repasser en construction' to page 'suivis'
2023-01-16 11:14:29 +01:00
Damien Le Thiec
5e26acb0e1
Make date and datetime prefillable ( #8304 )
...
* Make date and datetime prefillable
* Format in ISO8601 format
2023-01-12 17:42:02 +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
b663939674
feat(graphql): add demarcheCloner mutation
2023-01-11 23:38:12 +01:00
Martin
d535735155
amelioration(devise_mailer): oriente les mails de devise vers un fournisseur quand cela est configuré
2023-01-11 17:13:05 +01:00
Martin
733ba01695
amelioration(balancer_delivery_method): implemente le fait de forcer la methode de delivery au niveau de notre balancer de fournisseur demail
2023-01-11 17:13:05 +01:00
Lisa Durand
8ba13cb685
humanize raison sociale from api_entreprise in adapter
2023-01-11 14:42:38 +01:00
simon lehericey
528b2c2b88
fix(procedure): valid juridique on create and publication
2023-01-11 14:05:17 +01:00
simon lehericey
9043bed3a0
refactor(procedure_presentation): add required tags
2023-01-11 14:05:17 +01:00
Colin Darie
820cb4bd27
fix(rna): some associations don't have date_publication
...
https://sentry.io/organizations/demarches-simplifiees/issues/3698792231/events/fde901fac5a44129adcafc891d59d086/?project=1429550
2023-01-11 12:30:02 +01:00
François Vantomme
fe518fed8c
refactor(links): move FAQ from footer to common scope
2023-01-11 11:28:03 +01:00
François Vantomme
faa5dda761
refactor(links): use FAQ URL locale everywhere
2023-01-11 11:28:03 +01:00
Colin Darie
05b517a847
fix(mailer): observers on balancer and balanced delivery methods
...
- Les observers doivent être déclarés *avant*
le chargement de nos delivery methods (Sendinblue & Dolist),
sinon ils seront ignorés par ces derniers
- dans le balancer, on ne peut pas appeler `.deliver` une seconde fois,
sinon les observers (et interceptors) sont invoqués deux fois.
2023-01-11 00:57:16 +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
Lisa Durand
7abf51ca81
split filter in 2 partials too display filters tags on its own div to have more spaces
2023-01-10 18:05:23 +01:00
François Vantomme
0e3fe055e4
fix(archive): typo on flash notice
2023-01-10 17:23:48 +01:00
Colin Darie
d58e6a2f9c
refactor(email): remove pseudonymization, it will be done at dump-time
2023-01-10 16:07:35 +01:00
Colin Darie
b9c1799e60
refactor(mailer): shared error concern
2023-01-10 16:07:35 +01:00
Colin Darie
0a22c1d2f0
chore(email): log smtp errors
2023-01-10 16:07:35 +01:00
Colin Darie
6cb2389eef
chore(email): add an observer which log the emails dispatched
2023-01-10 16:07:35 +01:00
Lisa Durand
25a7fa5a34
add bulk action 'follow'
2023-01-09 11:58:51 +01:00
Sébastien Carceles
177dec2bdb
feat(dossier): add dossier id to prefill response ( #8382 )
2023-01-06 13:46:27 +00:00
Paul Chavard
5a4cefc5c5
fix(dossier): fix rebase with drop down options
2023-01-06 14:15:46 +01:00
Sébastien Carceles
06b8a0f734
feat(dossier): prefill boolean champs ( #8381 )
2023-01-06 14:01:59 +01:00
Paul Chavard
940f8c0474
fix(graphql): fix departements with alphanumeric codes
2023-01-05 17:33:03 +01:00
Lisa Durand
080747f60b
reorganise multiple buttons on top of table from instructeur procedure view
2023-01-05 17:22:53 +01: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
Martin
018a94f43b
correctif(batch_operation): empeche de changer l'etat d'un dossier en cas d'erreur. et s'assure de delinker le dossier en cas de dossier invalid
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
Lisa Durand
d7ebb67889
implement first step - accepte without motivation and PJ
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
Sébastien Carceles
1de969915a
rename file to match controller name ( #8371 )
2023-01-05 14:38:56 +01:00
Paul Chavard
26e02c7173
fix(template): trix will transform double spaces in
2023-01-05 13:23:24 +01:00
Sébastien Carceles
fa6fc077b4
normalize boolean values ( #8320 )
...
* extract parent for yes no and checkbox champs
* checkbox stores true / false instead of on / off
* normalize blank value to nil
* normalize invalid value to false
* after party task: normalize checkbox values
* after party task: normalize yes_no values
2023-01-05 11:18:27 +00:00
Colin Darie
a91fc3bbe1
chore(usager/wording): Dossiers => Mes dossiers in main tab
2023-01-04 13:15:10 +01:00
Colin Darie
b89fc16999
style(instructeurs/expiration): convert banner to DSFR
2023-01-04 13:15:10 +01:00
Colin Darie
0b033a7025
refactor(email): improve wording of automatic deletion to user
...
Closes #7688
2023-01-04 13:15:10 +01:00
Colin Darie
7d16ae83e8
refactor(email): improve wording of near deletion to user
...
Closes #7688
2023-01-04 13:15:10 +01:00
Paul Chavard
c4a30084fe
refactor(virus_scan): remove lock
2023-01-04 12:12:11 +01:00
Paul Chavard
6e18090fb3
refactor(virus_scan_result): use column instead of metadata on blob
2023-01-04 12:12:11 +01:00
Paul Chavard
d469bca0ae
refactor(watermark): use column instead of metadata on blob
2023-01-04 12:07:08 +01:00
Sébastien Carceles
456be420fa
feat(demarche): describe dossier prefilling with POST ( #8298 )
...
* feat(demarche): describe dossier prefilling with POST
* show response example
2023-01-04 07:31:31 +00:00
Martin
a4d6692bc6
accessibilite(pages-authentification): evolutions des pages de connexion/creation de compte pour respecter le DSFR et supporter une meilleure accessibilite
...
Update app/components/dsfr/input_component/input_component.html.haml
Co-authored-by: Colin Darie <colin@darie.eu>
2023-01-03 16:26:05 +01:00
Martin
76301d4c32
correctif(api_entreprise_token): les nouveaux tokens stockent les roles dans sous la clé scopes et non plus roles
2023-01-03 15:32:50 +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
mfo
31735e16d8
Merge pull request #8339 from mfo/US/fix-departement-champs
...
Us/fix departement champs
2022-12-27 16:01:35 +01:00
Martin
186d4e6539
correctif(ChampDepartement): gere les departement a 3 codes
2022-12-27 14:55:57 +01:00
Paul Chavard
9b3fa4dd3c
refactor(revision): changes should be domain objects
2022-12-27 10:58:53 +00:00
Martin
48c80e9387
correctif(api/v1): ajoute la methode manquante for_api sur le type de champs departement
2022-12-27 11:45:43 +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
0b10c73bcf
feat(prefill): allow to prefill private annotations
2022-12-26 22:14:17 +00:00
Paul Chavard
4a4ce67ef6
fix(dossier): explicitly send draft notification email
2022-12-26 22:02:33 +00:00
mfo
99a652c297
Merge pull request #8267 from mfo/a11y/use-alert-for-dossier-state
...
accessibilite(page#dossiers): utiliser les role=alert sur le status des dossiers
2022-12-26 17:44:59 +01: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
Damien Le Thiec
9e083ea3f7
Merge branch 'main' into feature/prefill_civility
2022-12-26 11:31:52 +01:00
Paul Chavard
4c516a6991
feat(dossier): allow to rebase champs with value made mandatory
2022-12-22 13:08:04 +01:00
Paul Chavard
00218fded2
fix(dossier): update spec
2022-12-21 14:03:02 +01:00
Paul Chavard
bd9fe7eb7c
feat(export): add pays, region and departement codes
2022-12-21 14:03:02 +01:00
Paul Chavard
3f0f5e381f
refactor(regions): champ regions to use simple select
2022-12-21 14:03:02 +01:00
Paul Chavard
e0b0a42bc3
refactor(departements): champ departements to use simple select
2022-12-21 14:03:02 +01:00
Paul Chavard
f7c1dff22a
refactor(pays): champ pays to use simple select
2022-12-21 14:03:02 +01:00
Paul Chavard
4d4c378724
feat(api_geo): add api_geo service
2022-12-21 14:03:02 +01:00
Christophe Robillard
00536b949a
fix system specs by adding zone for new procedure
2022-12-21 09:02:16 +01:00
Christophe Robillard
f4977f358b
fix spec procedure_cloning
...
add zone to new procedure
2022-12-21 09:02:16 +01:00
Christophe Robillard
11a18516b2
remove feature flag zonage
2022-12-21 09:02:16 +01:00
Colin Darie
c673950e56
fix(instructeurs): behavior of sort by notifications checkbox (updated_at desc)
2022-12-20 15:51:47 +01:00
Damien Le Thiec
c4e427642f
Allow prefill civility
2022-12-20 14:38:05 +01:00
Sébastien Carceles
e4a7a4c391
hide values and examples for unprefillable champs ( #8309 )
...
* hide values and examples for unprefillable champs
* put prefillable champs first
2022-12-20 13:37:25 +00:00
Christophe Robillard
a0da04e83c
use config.ds_opendata_enabled
...
don't use anymore opendata feature flag
2022-12-20 12:52:56 +01:00
Christophe Robillard
edffd0a7a8
extract ds_opendata_enabled
2022-12-20 12:52:56 +01:00
Christophe Robillard
daa4411abe
Revert "unschedule export demarches opendata"
...
This reverts commit da0738c661
.
`ExportAndPublishDemarchesPubliqjesJob` is now schedulable
2022-12-20 12:52:56 +01:00
Sébastien Carceles
dd0a05c1d8
feat(prefill): add possible values ( #8299 )
...
* update layout in order to show possible values
* filter out non fillable types de champ
2022-12-20 11:04:42 +01:00
Martin
4e201a245b
accessibilite(page#dossiers): utiliser les role=alert sur le status des dossiers
2022-12-19 15:16:57 +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
dd74834689
amelioration(attestation.et.mail): desactive les tags sur les champs conditionnés et informe l'usager que ca arrivera
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
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
Eric Leroy-Terquem
2645ac85f7
update wording and order in types de champ select
2022-12-16 09:30:36 +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
Lisa Durand
2fff6faed6
fix checkbox rendering in all pages
2022-12-15 14:46:05 +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
39a9660df6
remove redundant and failing test
2022-12-15 10:04:25 +01:00
Lisa Durand
eea42aad6b
fix linter
2022-12-15 10:04:25 +01:00
Lisa Durand
89730b485b
add bulk action feature for 'passer_en_instruction'
2022-12-15 10:04:25 +01:00
Colin Darie
7ff04c1a05
style(instructeurs): human/i18n value for state filter
2022-12-15 09:34:10 +01:00
Colin Darie
7ff6455440
style(instructeurs): convert filters to DSFR tags
2022-12-15 09:34:10 +01:00
Paul Chavard
243a8301bb
fix(dossier): authorize passage en instruction if auto archive is on and is in the past
2022-12-14 22:16:13 +01:00
Paul Chavard
59bdd4bd92
fix(tags): relax parser roules
2022-12-14 17:53:36 +01:00
Paul Chavard
9149e0fcd7
feat(revision): allow more dossiers to rebase
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
sebastiencarceles
4e1dff0dce
fix schema about prefilled default
2022-12-14 15:44:27 +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
013a05f24a
feat(piece_justificative): replace with multiple attachments for dossier en_construction
2022-12-14 09:58:15 +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
Colin Darie
7c5d27d8e9
feat(attachment): allow user to "view" a file without the complete download UI
2022-12-08 20:36:15 +01:00
Colin Darie
7719ce1865
chore(attachment): increase poll antivirus timeout and make it clear it's not blocker
2022-12-08 20:36:15 +01:00
Paul Chavard
7929b7d0d7
clean(api_token): remove administrateur token support
2022-12-08 17:35:21 +01:00
sebastiencarceles
bfdba0c513
review: system spec
2022-12-08 15:27:39 +01:00
sebastiencarceles
69d61913f5
review: unauthorize complex champs
2022-12-08 15:27:39 +01:00
sebastiencarceles
cdd790e3d3
review: document prefilling with json or array injection
2022-12-08 15:27:39 +01:00
sebastiencarceles
bf03e3b35a
review: prefix typed ids with 'champ_'
2022-12-08 15:27:39 +01:00
sebastiencarceles
373e8aeadb
review: validate prefilled champs only
2022-12-08 15:27:39 +01:00
sebastiencarceles
1e21a3d3e1
review: query the db only once
2022-12-08 15:27:39 +01:00
sebastiencarceles
ab30af5fe5
review: move Prefillable to concern directory
2022-12-08 15:27:39 +01:00
sebastiencarceles
79ef48cafb
make the dossier prefillable
2022-12-08 15:27:39 +01:00
sebastiencarceles
f4e1a09e73
prepare prefilled values from ctrl params
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
16a48c02aa
feat(cond): add tests
2022-12-08 09:38:12 +01:00
simon lehericey
fe8bd15939
feat(timestamp): ensure signature is openssl compatible
2022-12-07 19:28:01 +01:00
simon lehericey
c085c7820f
fix(spec): update spec with new timestamp
2022-12-07 19:28:01 +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
ebbada752f
feat(api_token): add APIToken model
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
Paul Chavard
73ff739c52
refactor(graphql): extract stored queries spec in a separate file
2022-12-07 12:06:55 +01:00
Colin Darie
8cf8c2c88a
test(attachment): maybe fix flaky test
2022-12-06 16:37:11 +01:00
Colin Darie
f4d403a81c
fix(apiv1): piece_justificative continue to returns a single attachment
2022-12-06 15:47:06 +01:00
Martin
2eaa06b22b
correctif(export.pjs): sur l'export, les champs de type piece justificative renvoyent un tableau de la meme dimension quelque soit le nombre de pj joint
2022-12-06 15:22:53 +01:00
Martin
d96fba1341
bug(export.pjs): sur l'export, les champs de type piece justificative devraient renvoyer un tableau de la meme dimension quelque soit le nombre de pj joint
2022-12-06 15:04:50 +01:00
Paul Chavard
b8a9b7223c
refactor(groupe_instructeur): improuve controller
2022-12-06 12:01:54 +01:00
Colin Darie
4ba76e6844
fix(api-v1): dossier -> avis -> piece_justificative_file_attachment relation name
2022-12-06 11:48:42 +01:00
Paul Chavard
ed4d5cb36a
refactor(demarche): make declarative demarche processing syncroneous
2022-12-06 11:41:25 +01:00
Martin
7c65af3be0
poc(batch_operation_alert): simplier wording
2022-12-06 11:28:48 +01:00
Lisa Durand
3d2f0ebb88
add icon on submit button and simplify i18n
2022-12-06 11:28:48 +01:00
Martin
ea8bd13bcf
poc(batch_operation.purge): nettoie les batch terminé ou inutiles
2022-12-06 11:28:48 +01:00
Martin
6556fda218
clean(spec): rubocopify / fix specs
2022-12-06 11:28:48 +01:00
Martin
b0ae2e8a0f
clean(spec): rubocopify / fix specs
2022-12-06 11:28:48 +01:00
Martin
5875f9b572
spec(batch_operation): system spec batch operation poc
2022-12-06 11:28:48 +01:00
Lisa Durand
7b3cbcb8f6
display batch operation alerts
2022-12-06 11:28:48 +01:00
Lisa Durand
2615da1e28
setup seen_at to hide alert when batch is finished and alert has been seen
2022-12-06 11:28:48 +01:00
Lisa Durand
6859882a58
display batch operation alert to instructeur groups not only instructeur
2022-12-06 11:28:48 +01:00
Lisa Durand
c52443f221
change flash alert wording and display message in show if dossier is in batch
2022-12-06 11:28:48 +01:00
Lisa Durand
1beb219fdd
display batch operation alerts
2022-12-06 11:28:48 +01:00
Martin
e5944eed34
poc(batch_operation): habtm groupe instructeurs, permettra de visualiser plus facilement les batch en cours pour les instructeurs du meme groupe
2022-12-06 11:28:48 +01:00
Martin
eaf72162da
poc(batch_operation): some rewrite to avoid various conflict (when an instructeur try to create a job with an incompatible dossier regarding the current task). also soome cleanup to isole spec in least involved model
2022-12-06 11:28:48 +01:00
Martin
4266ab93c5
poc(batch_operation): track dossier processed safely
2022-12-06 11:28:48 +01:00
Martin
7a51ecec5d
poc(batch_operation): quand un dossier est dans un batch, impossible de faire les actions : archive, unarchive, follow, unfollow, passer_en_instruction, repasser_en_construction, repasser_en_instruction, terminer, restore, destroy, extend_conservation
2022-12-06 11:28:48 +01:00
Martin
beb39027d0
poc(batch_operation.ui): implement simple ui to trigger a batch of current page
2022-12-06 11:28:48 +01:00
Martin
7df86c50fb
poc(batch_operations_controller): implement simple [not yet with procedure_presentation] action to create a batch operation
2022-12-06 11:28:48 +01:00
Martin
b11dbafc59
poc(batch_operation_job): implement archive dossiers with async behaviour, lock, run_at, finished_at, failed_dossier_ids, success_dossier_ids
2022-12-06 11:28:48 +01:00
Martin
61f4cded75
poc(batch_operation): just the model and some specs and a poc for archive them without async
2022-12-06 11:28:48 +01:00
simon lehericey
8771205679
clean(flipper): remove unused expert_not_allowed_to_invite
2022-12-05 12:22:29 +01:00
Colin Darie
b9d6397a9b
fix(pj_template): private proxy template url so their links are non expirable
...
Closes #7920
2022-12-05 11:30:00 +01:00
Colin Darie
53d4395cbd
test(attachments): system test for multiple attachments upload
2022-12-05 10:47:10 +01:00
Colin Darie
c98021e58a
chore(attachment): input name attribute follows form object name for nested attributes
2022-12-05 10:47:10 +01:00
Colin Darie
cb2afc74b0
style(attachments): better UX when we can try to upload without network
2022-12-05 10:47:10 +01:00
Colin Darie
42363e0b0d
refactor(attachment): extract PendingPoll component
2022-12-05 10:47:10 +01:00
Colin Darie
b110e58f2f
refactor(attachment): extract i18n
2022-12-05 10:47:10 +01:00
Colin Darie
6ac0114992
test(attachments): more components tests & improvements
2022-12-05 10:47:10 +01:00
Colin Darie
fefc326e6b
refactor(attachment): extract shared Attachment::ProgressComponent
2022-12-05 10:47:10 +01:00
Colin Darie
7cbe6bbaa4
fix(attachment): clone piece justificatives with multiple attachments
2022-12-05 10:47:10 +01:00
Colin Darie
b609c3dae4
refactor(attachment): bring batch user_can_destroy, update tests
2022-12-05 10:47:10 +01:00
Colin Darie
0a114270af
refactor(attachment): update Attachment::EditComponent everywhere
2022-12-05 10:47:10 +01:00
Colin Darie
b13c5e56f6
refactor(piece_justificative): UX follows mockups
2022-12-05 10:47:10 +01:00
Colin Darie
e1270d5ffe
test(api): add a test to cover single (flat) attachment extension
2022-12-05 10:47:10 +01:00
Colin Darie
1138604748
feat(api): PieceJustificativeChamp: deprecate file
in favor of files
2022-12-05 10:47:10 +01:00
Colin Darie
6a0379086d
chore(piece_justificative): continue attachments refactor
2022-12-05 10:47:10 +01:00
Colin Darie
7ae6efe776
refactor(attachment): remove replace feature
2022-12-05 10:47:10 +01:00
Colin Darie
b8296c6d4d
feat(piece_justificative): supports multiple files
...
Closes #7924
2022-12-05 10:47:10 +01:00
Colin Darie
52b6502cbd
test(a11y): ensure we don't mix aria-label and title on main pages
...
Actuellement, on fait le choix de ne pas avoir d'éléments porteurs à la
fois d'aria-label et title.
Bien qu'en principe l'aria-label quand elle est gérée par un navigateur,
prenne précédence sur le title, en pratique un bug dans NVDA cumule les 2
et rend la navigation difficile.
On prend donc le parti (provisoire?) de n'avoir que l'un ou l'autre.
Nous gardons le title si l'info qu'il contient est également pertinente
pour les navigateurs graphiques qui l'affichent en guise de tooltip ;
autrement on bascule sur l'aria-label qui est plus largement supporté
par les navigateurs a11y.
2022-12-05 10:38:16 +01:00
Kara Diaby
92b4c31293
tests
2022-12-02 11:30:49 +01:00
Paul Chavard
00556715d6
fix(typography): fix quotes
2022-12-01 17:59:11 +01:00
Martin
235da8b04a
amelioration(sanitize): assainie aussi les balises <img>
2022-12-01 17:42:24 +01:00
Paul Chavard
886a409abf
fix(dossier): fix links to empty pdf templates
2022-12-01 17:35:01 +01:00
Paul Chavard
c5901fbb95
clean(type_de_champ): remove magic factory
2022-12-01 16:36:59 +01:00
Colin Darie
acdd0b2350
test(a11y): verify on basic pages external link say it will open a new tab
2022-11-30 09:27:46 +01:00
Paul Chavard
20007824c9
spec(graphql): add tests to ensure that stable ids are stable
2022-11-29 19:55:40 +01:00
Paul Chavard
1fb051c3cc
refactor(attestation_template): remove unused code
2022-11-29 19:36:56 +01:00
Paul Chavard
06f43f99d0
fix(dossier): excluded deleted dossiers from demarche overview
2022-11-29 16:41:31 +01:00
simon lehericey
801d594efd
fix(avis_controller): revoked_acl on telecharger_pjs
2022-11-29 16:21:06 +01:00
simon lehericey
a84269e66e
fix(avis_controller): revoked acl on bilans_pdf
2022-11-29 16:21:06 +01:00
simon lehericey
d764959659
fix(avis_controller): revoked acl on create_commentaire
2022-11-29 16:21:06 +01:00
simon lehericey
20fcfdeb5e
clean(avis_controller_spec): procedure_id: procedure.id -> procedure_id:
2022-11-29 16:21:06 +01:00
simon lehericey
8929af2767
fix(avis_controller): revoked acl on messagerie
2022-11-29 16:21:06 +01:00
simon lehericey
71dd0b99ab
fix(avis_controller): revoked acl on update_expert
2022-11-29 16:21:06 +01:00
simon lehericey
531cbf2612
fix(avis_controller): revoked acl on update
2022-11-29 16:21:06 +01:00
simon lehericey
3be17da70e
fix(avis_controller): revoked acl on update
2022-11-29 16:21:06 +01:00
simon lehericey
cb2e1db52e
clean(avis_controller_spec): update
2022-11-29 16:21:06 +01:00
simon lehericey
6aa2ccacd4
fix(avis_controller): fix revoked acl on create_avis
2022-11-29 16:21:06 +01:00
simon lehericey
3c477691c3
clean(avis_controller_spec)
2022-11-29 16:21:06 +01:00
simon lehericey
c17bc50def
fix(avis_controller): acl on instruction
2022-11-29 16:21:06 +01:00
simon lehericey
f500cb8dc7
fix(avis_controller): procedure do not show revoked avis
2022-11-29 16:21:06 +01:00
simon lehericey
dcae06ae84
fix(avis_controller): index do not linked to revoked avis
2022-11-29 16:21:06 +01:00
simon lehericey
6ad048955b
clean(avis_controller_spec)
2022-11-29 16:21:06 +01:00
simon lehericey
644b88ea0e
clean(avis_controller_spec)
2022-11-29 16:21:06 +01:00
simon lehericey
d0c0d6c491
fix(spec): speed up *5
2022-11-29 16:21:06 +01:00
simon lehericey
f96a7f432c
clean(dossier): useless method
2022-11-29 15:33:10 +01:00
Paul Chavard
ee30a95847
fix(graphql): check if tokens are revoked
2022-11-25 16:27:11 +01:00
Colin Darie
f625d99934
chore(dossier_transfer): extract i18n
2022-11-25 13:34:12 +01:00
sebastiencarceles
c294ce70ca
fix: escape characters when showing page title
2022-11-25 09:30:20 +01:00
Paul Chavard
5a9ce7a331
feat(graphql): make demarche schema public
2022-11-24 18:21:33 +01:00
Christophe Robillard
3539b00652
search admins by email
2022-11-24 15:05:46 +01:00
Paul Chavard
234975b806
feat(graphql): expose groupe_instructeur state and update mutation
2022-11-24 14:33:29 +01:00
Martin
bb993d552e
amelioration(avis): sur une page listant les avis en attente sur une procedure, on remonte le dernier avis demandé en premier
2022-11-24 14:23:06 +01:00
Paul Chavard
e395ab5c87
fix(invite): do not render menu when invite not found
2022-11-24 09:43:19 +01:00
Paul Chavard
405d2a695f
refactor(attestation_template): remove from revisions
2022-11-23 12:26:26 +01:00
Paul Chavard
cafda4f6f0
refactor(attestation_template): move to procedure
2022-11-23 12:26:26 +01:00
Paul Chavard
55c5de2c2c
feat(attestation_template): assign attestations templates to procedures
2022-11-23 12:26:26 +01:00
Paul Chavard
ff470ada48
fix(dossier): fix dossier brouillon spec
2022-11-23 11:56:35 +01:00
Paul Chavard
c0fd080d0e
refactor(operation_log): store data in jsonb instead of files
2022-11-22 18:06:05 +01:00
Paul Chavard
d306583a7b
refactor(active_storage): PiecesJustificativesService::FakeAttachment -> ActiveStorage::FakeAttachment
2022-11-22 18:05:26 +01:00
Christophe Robillard
8e95c6a2ba
search procedures by libelle
2022-11-22 17:08:17 +01:00
simon lehericey
f532eee9f6
fix(spec): remove strange click
2022-11-22 16:41:20 +01:00
simon lehericey
4babee2591
fix(admin): ignore active column
...
the attribut should be retrieve from the user model as the administrateur is no more a devise model
2022-11-22 16:41:20 +01:00
simon lehericey
30b53ec927
feat(procedure_admins): allow self remove from procedure
2022-11-22 16:41:20 +01:00
Lisa Durand
e7c3181fc9
add spec for api
2022-11-18 11:15:16 +01:00
Lisa Durand
3953470c78
remove change on api V1 and update graphql for sensitive data
2022-11-18 11:15:16 +01:00
Lisa Durand
f34c890278
add a label for api and export for sensitive data as titre_identite_champ
2022-11-18 11:15:16 +01:00
Paul Chavard
0c0618aa79
feat(export): add GeoJSON export
2022-11-18 10:04:35 +01:00
Paul Chavard
29bdd82b59
refactor(procedure): types_de_champ -> active_revision.types_de_champ_public
2022-11-17 13:54:14 +01:00
simon lehericey
6a7621b731
feat(support): add task to remove ex team member
2022-11-16 17:52:48 +01:00
simon lehericey
fcfe09f05a
refactor(user): rename delete_and_keep_track_dossiers
2022-11-16 17:52:47 +01:00
Colin Darie
54699d35a8
test(manager): fix test after administrate upgrade
2022-11-15 17:28:04 +01:00
Colin Darie
7b9ff5ebe8
test(manager): add basic test on dossiers index & show
2022-11-15 16:30:18 +01:00
Lisa Durand
c2de73c09d
simplify and improve perf by making the feature works only for id search
2022-11-15 10:51:36 +01:00
Lisa Durand
d245e12559
remove render_views in spec and correct the way to retrieve dossiers
2022-11-15 10:51:36 +01:00
Lisa Durand
ba0799b684
it displays a message if instructor is looking for a dossier that is not in his instructor group
2022-11-15 10:51:36 +01:00
Martin
18b7f4e4fa
remaniement(dossier.clone): simplifications, pas de callback/after, pas d'heritage, mm interface pour cloner les champs public/prive, clonage des PJs avec le nouveau service de clone, ajoute une cle etrangere sur la colonne parent_dossier_id
2022-11-14 09:53:19 +01:00
Martin
90f7d265c6
amelioration(clone.piece_justificative): gestion du clonage des piece justificative dans une tache asynchrone
2022-11-14 09:13:54 +01:00
Martin
05dcf5e7cf
amelioration(usager.liste_des_dossier): ajout du bouton pour cloner un dossier
2022-11-14 09:13:54 +01:00
Martin
844004818a
amelioration(dossier.clone): dossier.clone, permet de cloner un dossier
2022-11-14 09:13:52 +01:00
Paul Chavard
e6288c39f2
refactor(dossier): champs -> champs_public
2022-11-10 22:44:39 +00:00
Christophe Robillard
cc35788d26
extract computation to controller
2022-11-10 18:02:20 +01:00
Christophe Robillard
c96781cfad
list all admins
2022-11-10 18:02:20 +01:00