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