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
ea126612a1
Refacto to_assignable_attributes for prefill_repetition
2023-02-12 13:02:30 +01:00
Damien Le Thiec
fc94aaaa21
Use "to_assignable_attributes"
2023-02-12 11:55:28 +01:00
Damien Le Thiec
dbb92e7fd3
Merge branch 'main' into feature/prefill_repetible
2023-02-11 22:40:56 +01:00
Damien Le Thiec
2a3ba28343
Fix tests possible value prefill
2023-02-11 22:27:16 +01:00
Damien Le Thiec
a4d707f942
Improve format prefill possible_values (tests missing)
2023-02-09 18:08:51 +01:00
Damien Le Thiec
c5f1f80d25
Add prefill params tests repetition
2023-02-08 17:38:51 +01:00
Paul Chavard
dc9a455d22
fix(dossier): prevent crash in rebase
2023-02-08 11:11:14 +01:00
Damien Le Thiec
a51ed0094b
Fix tests
2023-02-07 00:28:21 +01:00
Damien Le Thiec
b9c2d1251b
Add missing tests repetition prefill
2023-02-06 17:38:59 +01:00
Paul Chavard
6924b8e46d
feat(dossier): optional repetition champ should not add first row
2023-02-06 11:53:32 +01:00
Damien Le Thiec
63e7c17fda
First tests for prefill repetition
2023-02-03 12:14:18 +01: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
Paul Chavard
9c83939431
fix(dossier): fix adding repetition in a new revision
2023-02-01 10:36:46 +01:00
Damien Le Thiec
d7b01255fe
Merge branch 'main' into feature/prefill_repetible
2023-01-31 16:39:00 +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
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
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
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
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
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
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
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
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
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
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
Paul Chavard
44488c7014
feat(dossier): use select in filters bygroupe instructeur
2023-01-16 14:00:08 +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
simon lehericey
528b2c2b88
fix(procedure): valid juridique on create and publication
2023-01-11 14:05:17 +01:00
Paul Chavard
af33d5d65c
refactor(repetition): use row_id instead of row
2023-01-10 19:31:41 +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
6cb2389eef
chore(email): add an observer which log the emails dispatched
2023-01-10 16:07:35 +01: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
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
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
Paul Chavard
6e18090fb3
refactor(virus_scan_result): use column instead of metadata on blob
2023-01-04 12:12:11 +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
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
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
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
Christophe Robillard
11a18516b2
remove feature flag zonage
2022-12-21 09:02:16 +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
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
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
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
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
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
7929b7d0d7
clean(api_token): remove administrateur token support
2022-12-08 17:35:21 +01:00
sebastiencarceles
69d61913f5
review: unauthorize complex champs
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
simon lehericey
c085c7820f
fix(spec): update spec with new timestamp
2022-12-07 19:28:01 +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
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
Paul Chavard
ed4d5cb36a
refactor(demarche): make declarative demarche processing syncroneous
2022-12-06 11:41:25 +01:00
Martin
ea8bd13bcf
poc(batch_operation.purge): nettoie les batch terminé ou inutiles
2022-12-06 11:28:48 +01:00
Martin
b0ae2e8a0f
clean(spec): rubocopify / fix specs
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
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
Colin Darie
7cbe6bbaa4
fix(attachment): clone piece justificatives with multiple attachments
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
Paul Chavard
c5901fbb95
clean(type_de_champ): remove magic factory
2022-12-01 16:36:59 +01:00
Paul Chavard
06f43f99d0
fix(dossier): excluded deleted dossiers from demarche overview
2022-11-29 16:41:31 +01:00
simon lehericey
f96a7f432c
clean(dossier): useless method
2022-11-29 15:33:10 +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
c0fd080d0e
refactor(operation_log): store data in jsonb instead of files
2022-11-22 18:06:05 +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
fcfe09f05a
refactor(user): rename delete_and_keep_track_dossiers
2022-11-16 17:52:47 +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
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
Paul Chavard
95f65900d3
refactor(active_storage): no download on clone
2022-11-10 12:25:55 +00:00
Martin
b3f80dc5f9
amelioration(Procedure.revision_changes): ajout du support pour les texte complementaire affichable au clique des champs de type explication
...
Co-authored-by: Paul Chavard <github@paul.chavard.net>
2022-11-08 17:49:24 +01:00
simon lehericey
1760ccbc01
fix(merge): transfers hidden procedures
2022-11-07 14:11:05 +01:00
Eric Leroy-Terquem
aca2775874
remove routee? method
2022-11-04 12:03:44 +01:00
Eric Leroy-Terquem
5578115acf
update routee? method
2022-11-04 12:03:43 +01:00
Paul Chavard
40d1e2ee44
Fix typos
...
Co-authored-by: mfo <mfo@users.noreply.github.com>
2022-11-04 09:08:41 +00:00
Paul Chavard
33fc8a45ab
feat(emails): show email errors on procedure page
2022-11-04 09:08:41 +00:00
Paul Chavard
dd4c1f2fac
feat(emails): validate tags in notification emails
2022-11-04 09:08:41 +00:00
Paul Chavard
e7766694d3
fix(messages): retry stale blobs
2022-11-02 09:19:51 +01:00
Martin
1b1568b2c2
remaniement(Administrateurs::ArchivesController): ne passe pas par la table des traitement pour compter le nombre de dossier traites par mois. Depuis que nous avons redescendu la colonne processed_at sur la table dossiers, ce n'\est plus necessaire et le code est compliqué a comprendre
2022-11-01 12:43:49 +01:00
Christophe Robillard
f9f31b721a
get zones of an admin
2022-10-31 16:12:02 +01:00
Martin
fb73838bb8
bug(export.global): Export.find_for_groupe_instructeurs devrait remonter les exports globaux
2022-10-31 14:32:17 +01:00
Colin Darie
010c9a0dcb
feat(procedure): includes read duration of explication/non fillable champs
...
Long explications can significantly increase global fill duration,
so we can't ignore them.
Closes #7963
2022-10-31 12:17:16 +01:00
Colin Darie
7731c6ad64
feat(procedure): estimate fill duration takes account of libelle & description read time
...
Sometimes long description on types de champ
significantly increases global fill duration.
140 words per minute is a good estimate of attentive off-voice read time.
(This is independent of characters per word).
Closes #7963
2022-10-31 12:17:16 +01:00
Martin
5ced9fb431
chore(create_procedure_presentation): homogénéise l'interface sur les procédure présentation. pas d'objet 'build', sinon les export/filtres deviennent compliqués
2022-10-31 09:29:27 +01:00
Martin
cf51be85e0
bug(export): la creation d'une archive avec un filtre different devrait etre effective, ce n'est pas le cas
2022-10-31 09:29:27 +01:00
simon lehericey
6af4fe624a
refactor(service): explicit call to service job to avoid test side effect
2022-10-25 14:44:43 +02:00
Paul Chavard
f109220df3
fix(dossier): test for non breaking space replacement in champ label
2022-10-21 16:34:19 +02:00
Paul Chavard
f2e8dba8e4
fix(dossier): tag can contain non breaking space
2022-10-21 16:34:19 +02:00
Paul Chavard
d7c5dcf8bb
fix(dossier): a tag can be preceded by a -
2022-10-21 16:06:32 +02:00
simon lehericey
5fa5d46d8c
fix(admin_merge): a case where 2 admins have the same service
2022-10-19 16:54:34 +02:00
simon lehericey
c6e7db3622
fix(export): bug when combining revision and conditional
2022-10-18 11:53:13 +02:00
simon lehericey
fbf089d60e
refactor(dossier): rename check_mandatory_champs -> check_mandatory_and_visible_champs
2022-10-18 11:13:41 +02:00
simon lehericey
9bba2093be
refactor(champ): mandatory_blank_and_visible? -> mandatory_blank?
...
As the method does not check visibility
2022-10-18 11:13:41 +02:00
simon lehericey
d5d031e15d
fix(export): do not export invisible champ
2022-10-14 10:30:27 +02:00
simon lehericey
40a3fff593
perf(dossiers_controller): do not load pj template in update, -10ms
2022-10-13 22:36:56 +02:00