Commit graph

3164 commits

Author SHA1 Message Date
Colin Darie
35674838d1
Merge pull request #8720 from demarches-simplifiees/feat/8549
ETQ administrateur, je souhaite filtrer avec plusieurs tags
2023-03-06 10:19:22 +00:00
Colin Darie
8722ee028d
Merge pull request #8729 from colinux/fix-groupe-instructeur-wrongly-invalid
fix(groupe-instructeur): un groupe instructeur inactif est valide tant qu'il reste un groupe actif
2023-03-06 10:13:16 +00:00
Kara Diaby
cb0417aad4 Possibilité de selectionner plusieurs tags dans la page toutes les demarches 2023-03-03 11:50:47 +01:00
Colin Darie
20d4a8153d
fix(groupe-instructeur): a closed groupe with an active groupe is a valid record 2023-03-02 16:34:18 +01:00
Christophe Robillard
6af01077b6 disable 2FA according to config
2FA is disabled for superadmin unless `SUPER_ADMIN_OTP_ENABLED` is equal
to `enabled` (default value)
2023-03-02 13:47:48 +01:00
sebastiencarceles
00fa8dc895 transform value to also populate external id 2023-03-01 14:03:54 +01:00
sebastiencarceles
a7b21fcd7c let address champ be prefillable 2023-03-01 14:03:54 +01:00
Paul Chavard
d3ef0fcf79 fix(datetime): improuve datetime field on old browsers 2023-03-01 12:30:25 +01:00
krichtof
5840c8c7f9
Merge pull request #8711 from demarches-simplifiees/8708-demarches-publiques
Ne pas publier le descriptif de toutes les procedures sur datagouv
2023-03-01 10:09:47 +00:00
Christophe Robillard
9ff88db48c publish only some opendata procedures for datagouv
- only published or closed procedures
- only procedures with flag opendata
- only procedures with 4 or more dossiers
- only procedures without word "mail" in lien_site_web
- only procedures without word "intra" in lien_site_web
2023-02-28 17:02:08 +01:00
sebastiencarceles
f52554b5a3 review: update value with async fetch
1 - spec cover the job which fetches external data

2 - refactor the job with guard clauses

3 - delegate update operation to the champ itself

4 - annuaire education: override the update operation
to let the value be populated by the fetched data

5 - prefilling: don't fetch data synchronously
2023-02-28 14:53:08 +01:00
sebastiencarceles
d7bfb9dc18 enrich value from education api 2023-02-28 14:23:38 +01:00
sebastiencarceles
71f1e785ab let annuaire education champ be prefillable 2023-02-28 13:26:35 +01:00
sebastiencarceles
a08bb1bddc fix epci: all possible values 2023-02-28 08:37:52 +01:00
sebastiencarceles
2ae2d99e93 fix communes: all possible values 2023-02-28 08:36:43 +01:00
Colin Darie
ae93d3927e refactor(dossier): extract sections logic in a concern 2023-02-27 17:29:22 +01:00
Colin Darie
1981bfc88e feat(tdc): strip libelle so header section titles always start with something 2023-02-27 17:29:22 +01:00
Colin Darie
d7880f7e58 feat(dossier/pdf): header sections numbering 2023-02-27 17:29:22 +01:00
Colin Darie
3de089d6c7 fix(conditional): dynamic title counters using css
Closes #8086
2023-02-27 17:29:22 +01:00
sebastiencarceles
35f4874b69 allow integers only 2023-02-27 15:16:40 +01:00
sebastiencarceles
13229158bd let dossier link champ be prefillable 2023-02-27 15:14:39 +01:00
sebastiencarceles
39545671f3 refacto: better error management 2023-02-27 14:35:11 +01:00
sebastiencarceles
33fa40eda2 don't clean the rna champ value
Cleaning the value is useless, when fetching the association,
as the value will be re-written by the dossier update, when the user
fills in the dossier.

Furthermore we need the value to persist when prefilling the champ.
2023-02-27 14:35:11 +01:00
Sébastien Carceles
7e55aca107 allow rna prefill 2023-02-27 14:35:11 +01:00
sebastiencarceles
7d65a34bc6 rna champ can fetch it's own association 2023-02-27 14:31:58 +01:00
Sébastien Carceles
e16f2bc39d
Merge branch 'main' into prefill/siret 2023-02-27 14:13:03 +01:00
Paul Chavard
2a6065ea31
Merge pull request #8694 from tchak/fix-filter-options
fix(filter): fix find type de champ by stable_id
2023-02-27 12:48:25 +00:00
sebastiencarceles
30eef3e128 review: detailled error message 2023-02-27 13:45:16 +01:00
Sébastien Carceles
2ad4e4c01f refacto: better error management 2023-02-27 13:45:16 +01:00
Sébastien Carceles
df2eaa9542 don't clean the siret champ value
Cleaning the value is useless, when fetching the etablissement,
as the value will be re-written by the dossier update, when the user
fills in the dossier.
2023-02-27 13:45:16 +01:00
Sébastien Carceles
3eb76d8a43 allow siret prefilling 2023-02-27 13:45:16 +01:00
Sébastien Carceles
5876dab096 siret champ can fetch it's own etablissement 2023-02-27 13:39:31 +01:00
sebastiencarceles
da6ce0f528 add example 2023-02-27 12:20:11 +01:00
sebastiencarceles
76c9d1ada5 add possible values 2023-02-27 11:53:25 +01:00
sebastiencarceles
40b7ea3af2 transform the input value to assignable attributes 2023-02-27 11:51:24 +01:00
sebastiencarceles
46091cb6b4 let communes champ be prefillable 2023-02-27 11:50:25 +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
Paul Chavard
531c5ec056 fix(filter): fix find type de champ by stable_id 2023-02-24 13:32:46 +01:00
Martin
fc1bb68a3a correctif(filtres): les filtres par colonne se font par stable_id, non pas par id 2023-02-24 09:39:16 +01:00
Paul Chavard
21f47dcb01 feat(procedure): include deleted dossiers in stats 2023-02-23 17:14:25 +01:00
Paul Chavard
eb3039aeca fix(demarche): exclude preview and deleted dossiers from stats 2023-02-23 16:38:40 +01:00
Damien Le Thiec
17f8475b07 Refacto comparaison typed id 2023-02-23 11:00:09 +01:00
Damien Le Thiec
61d2edc42e Cache champ attributes 2023-02-22 20:05:36 +01:00
Damien Le Thiec
731cd56594 Merge branch 'main' into feature/prefill_repetible 2023-02-22 19:49:06 +01:00
Damien Le Thiec
ca29079c27 Fix rubocop 2023-02-22 19:40:52 +01:00
Damien Le Thiec
fbe4fe251a Fix format prefill repetition 2023-02-22 19:32:25 +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
Damien Le Thiec
2052bc7840 Remove dependency type_de_champ -> procedure 2023-02-21 16:00:58 +01:00
Christophe Robillard
c5acd82e6e update dossiers count when passing to construction 2023-02-21 10:06:07 +01:00
Christophe Robillard
bd92291f8a cache dossiers count 2023-02-21 10:06:07 +01:00
Martin
a89f5d373f amelioration(procedures#filtres): filtre par regions avec un enum sur la collection des regions normalisés 2023-02-20 11:47:14 +01:00
Martin
68de0c6566 correctif(procedures#filtres): le filtre par departement ne fonctionnait plus. utilise un enum sur la collection des departements possible normalisés 2023-02-20 11:47:14 +01:00
Damien Le Thiec
d2452980fe Fix merge conflict spec 2023-02-16 20:17:05 +01:00
Damien Le Thiec
dce4c84f9a Merge branch 'main' into feature/prefill_repetible 2023-02-16 17:08:30 +01:00
Damien Le Thiec
6231c75e07 Fix tests conflicts 2023-02-16 16:58:55 +01:00
Paul Chavard
c0ad7853cb fix(administrateur): procedure page n+1 2023-02-16 11:29:21 +01:00
Sébastien Carceles
8c67df7130 review: use selected options
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2023-02-16 10:49:15 +01:00
sebastiencarceles
e344b97d51 review: readability 2023-02-16 10:49:15 +01:00
sebastiencarceles
d5ffd61ab6 validate values inclusion 2023-02-16 10:49:15 +01:00
sebastiencarceles
d648ac31c2 add prefill decorator for multiple drop down list 2023-02-16 10:49:15 +01:00
sebastiencarceles
cbe2dc9c2d let the multiple drop down list be prefillable 2023-02-16 10:49:15 +01:00
Damien Le Thiec
96b9ec3f42 First fix tests 2023-02-15 18:13:16 +01:00
Damien Le Thiec
539b9e4f10 Merge branch 'main' into feature/prefill_repetible 2023-02-15 17:53:06 +01:00
Damien Le Thiec
4876d583b6 Merge branch 'main' into feature/prefill_repetible 2023-02-15 17:39:19 +01:00
Damien Le Thiec
5a89a2dbe4 Use Stable ID for repetitions prefill 2023-02-15 12:15:34 +01:00
sebastiencarceles
07b5a3b4b5 manage types de champ with multiple example values 2023-02-15 12:14:11 +01:00
sebastiencarceles
edf90a77f3 validate epci to reject incorrect prefill values 2023-02-15 12:14:11 +01:00
sebastiencarceles
5ac80f968a add possible and example values 2023-02-15 12:14:11 +01:00
sebastiencarceles
f836f57e98 transform the input value to assignable attributes
Use the prefill decorator to transform the input value (for example
['01', '200042935']) into assignables attributes (for example
{ code_departement: '01', value: '200042935' }), in order to let the
champ be prefilled successfully.
2023-02-15 12:14:11 +01:00
sebastiencarceles
0f483668cf let epci champ be prefillable 2023-02-15 12:14:11 +01:00
Paul Chavard
8b74a6f39b fix(geometry): implement our own bbox to replace rgeo 2023-02-15 11:58:59 +01:00
Damien Le Thiec
2533ca50d4 Merge branch 'main' into feature/prefill_repetible 2023-02-15 11:07:56 +01:00
sebastiencarceles
6f65a4c2fe 🚨 line length 2023-02-14 13:49:41 +01:00
sebastiencarceles
681e1cf518 ♻️ refactor possible_values impl for clarity 2023-02-14 13:45:30 +01:00
sebastiencarceles
a07446da6c ♻️ rename method for clarity 2023-02-14 11:45:39 +01:00
sebastiencarceles
0159a10969 🐛 make possible_values_list method public 2023-02-14 11:41:35 +01:00
sebastiencarceles
a77a0e2c7f ⚰️ dead code is dead 2023-02-14 11:35:35 +01:00
sebastiencarceles
67ef3a16fa review: put example values in translation yamls 2023-02-14 09:23:52 +01:00
Sébastien Carceles
12abf9045b add external_id and value validation 2023-02-14 09:23:11 +01:00
Sébastien Carceles
a235829ddd add possible and example values 2023-02-14 09:19:55 +01:00
Sébastien Carceles
cd3a72ddce make departements champ prefillable 2023-02-14 09:19:19 +01:00
mfo
76ef4ae96e
Merge pull request #8613 from colinux/email-template-subject-length
Email: limite le sujet généré à 100 caractères et utilise le sujet par défaut si le modèle est vide
2023-02-13 17:31:04 +01:00
Damien Le Thiec
899c8a6589 Add documentation json parse rescue repetition 2023-02-13 14:17:53 +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
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
4a6841c009 Fix linter 2023-02-11 22:51:37 +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
Colin Darie
aeb602a63d fix(mail): default subject fallback when subject template is empty
Closes #8448
2023-02-09 17:49:43 +01:00
Damien Le Thiec
4b0e6ea382
Convert datetime field to datetime_local (#8572)
* Convert datetime field to datetime_local

* Fix tests

* Add value formatting view datetime component

* Add helper datetime component value
2023-02-09 15:18:38 +01:00
Colin Darie
e626eb69ce feat(admin): import groupe instructeurs csv when procedure is closed 2023-02-09 11:17:13 +01:00
Colin Darie
a4329b6699 chore(export/job): set procedure_id for sentry 2023-02-09 11:06:54 +01:00
Damien Le Thiec
c5f1f80d25 Add prefill params tests repetition 2023-02-08 17:38:51 +01:00
Paul Chavard
1693e46acb fix(dossier): prevent crash when updating champs in rebase 2023-02-08 14:56:26 +01:00
Colin Darie
0958053c72 chore(dossier): can destroy dossier having dossier_batch_operations
Ça peut arriver lors des démarches en test, avec des dossiers tests
en cours d'instruction.
2023-02-08 14:42:14 +01:00
Paul Chavard
dc9a455d22 fix(dossier): prevent crash in rebase 2023-02-08 11:11:14 +01:00
Kara Diaby
984ef67827 Prend en compte uniquement les procédures publiées dans les propositions de tags 2023-02-06 17:03:51 +01:00
Paul Chavard
6924b8e46d feat(dossier): optional repetition champ should not add first row 2023-02-06 11:53:32 +01:00
Martin
f4cc8078b4 amelioration(EmailEvent): purge les email_events vieux de plus de un mois
Update app/models/email_event.rb

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/jobs/cron/purge_old_email_event_job.rb

Co-authored-by: Colin Darie <colin@darie.eu>
2023-02-06 10:35:57 +01:00
Martin
6a25120f80 amelioration(dolist_api): echoue avec un fail pour remonter dans notre gestion des retry 2023-02-03 17:19:36 +01:00
Martin
2de9026c13 amelioration(dolist_api): forward le message_id afin de faciliter les investigations 2023-02-03 17:19:36 +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
Lisa Durand
3a82558c3f use super instead of run_at 2023-02-01 17:06:04 +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
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
Damien Le Thiec
5a7b740f58 Clean rubocop alerts 2023-01-31 17:06:00 +01:00
Damien Le Thiec
4a07fd6223 Merge branch 'main' into feature/prefill_repetible 2023-01-31 16:49:40 +01:00
Damien Le Thiec
e1748a2666 Fix "see more" link for prefillable fields 2023-01-31 16:48:38 +01:00
Damien Le Thiec
d7b01255fe Merge branch 'main' into feature/prefill_repetible 2023-01-31 16:39:00 +01:00
Martin
2edfcdd652 correctif(liens.invitations): utilise le mapping rails as: :target_model, sinon on requete uniquement par l'id du model, qui peut etre problématique en cas de relation polymorphiques avec des ensembles d'id se superposant 2023-01-31 16:33:31 +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
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
Paul Chavard
6cacfbdf32 refactor(dossier): refactor rebase 2023-01-30 12:01:11 +01:00
Paul Chavard
2f4e85f163 fix(dossier): set rebased_at only on changed champs 2023-01-30 12:01:11 +01:00
Paul Chavard
626b28ca16 perf(tags parser): improuve parser perf 2023-01-30 11:52:35 +01:00
Eric Leroy-Terquem
1b67f93c66 feat(avis): add reminded_at field to avis 2023-01-30 11:13:23 +01:00
Paul Chavard
298721f90d fix(dossier): fix clone with data 2023-01-30 10:58:26 +01:00
Damien Le Thiec
81df033282 First draft repeatable 2023-01-26 17:57:57 +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
Paul Chavard
508cdec33f fix(morph): ids should not start with numbers 2023-01-26 10:42:22 +01:00
Colin Darie
51c1736d00 refactor(conditional): extract in a ChampConditionalConcern with tests 2023-01-26 09:06:30 +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
Colin Darie
81f00774af feat(logic): operators sources 2023-01-26 09:06:30 +01:00
Kara Diaby
b18d76dff6 Ne prend pas en compte les tags sur les démarches en brouillon 2023-01-24 14:53:27 +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
Paul Chavard
a4cbbe721e feat(types de champ): add EPCI champ 2023-01-20 11:32:36 +01:00
Paul Chavard
f38ee8f03f feat(dossier): implement refresh_after_update on champs 2023-01-20 11:05:25 +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
Kara Diaby
eac5a42a32 model 2023-01-18 18:46:42 +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
Colin Darie
ef3546e9f1 fix(email-event): apparently mail subject could be null 2023-01-17 16:46:54 +01:00
Colin Darie
13479fc88e
fix(admin): display of procedure admins count 2023-01-17 16:02:08 +01:00
Paul Chavard
dad393355b chore(db): remove unused columns 2023-01-17 12:49:22 +01:00
Paul Chavard
44488c7014 feat(dossier): use select in filters bygroupe instructeur 2023-01-16 14:00:08 +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
Paul Chavard
5641c2b078 fix(groupe_instructeur): only show to administrators the number of visible files 2023-01-11 21:49:08 +01:00
Martin
822eda7c42 correctif(safe_mailer): fix bug sur de la synthax 2023-01-11 20:29:51 +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
Martin
2f43ffc940 data(safe_mailer): ajout d'un object permetant d'orienter les mails vers un unique fournisseur au cas ou l'autre soit down 2023-01-11 17:13:05 +01:00
simon lehericey
528b2c2b88 fix(procedure): valid juridique on create and publication 2023-01-11 14:05:17 +01:00
simon lehericey
bd3fbbce49 add schema and annotation 2023-01-11 11:19: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
Colin Darie
d58e6a2f9c refactor(email): remove pseudonymization, it will be done at dump-time 2023-01-10 16:07:35 +01:00
Colin Darie
5ae5de0d9c refactor(email): log event when error occurs before recipients was set 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
Colin Darie
07167cead9 chore(schema): create email_events 2023-01-10 16:07:35 +01:00
Colin Darie
0a890acc33 fix(conditional): huge perf improvement by caching champ visibility
Hyper nécessaire lorsqu'il y a des champs qui dépendent d'autres champs
en cascade.

Co-authored-by: simon lehericey <mail@simon.lehericey.net>
Co-authored-by: mfo <martin@sharypic.com>
2023-01-10 11:41:08 +01:00
Paul Chavard
5128b9a086 refactor(demarches): use turbo_stream template 2023-01-10 09:48:32 +01:00
Lisa Durand
67c104c8eb affiner le scope 2023-01-09 11:58:51 +01:00
Lisa Durand
25a7fa5a34 add bulk action 'follow' 2023-01-09 11:58:51 +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
dfe65136be refactor(repetition): add row_id to champs 2023-01-05 18:04:54 +01:00
Paul Chavard
940f8c0474 fix(graphql): fix departements with alphanumeric codes 2023-01-05 17:33:03 +01:00
Lisa Durand
4afb873afc feedbacks from Martin 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
Paul Chavard
26e02c7173 fix(template): trix will transform double spaces in &nbsp; 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
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
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
1f5db1faf2
Merge pull request #8340 from mfo/US/fix-champs-pays
sentry(3830513995): champs pays peut avoir un external_id a '', test la presence d'external_id sinon on peut renvoyer du nil via Champs::PaysChamp.name
2022-12-28 09:51:18 +01:00
Martin
a2d3ec7a21 sentry(3830513995): champs pays peut avoir un external_id a '', test la presence d'external_id sinon on peut renvoyer du nil via Champs::PaysChamp.name 2022-12-27 16:28:34 +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
Martin
3732c079a7 correctif(champ.normalize): enleve les null chars uniquement si il y en a. sinon on rappel value=() avec nos champs surchargeant ce setter 2022-12-27 11:43:34 +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
Damien Le Thiec
9e083ea3f7
Merge branch 'main' into feature/prefill_civility 2022-12-26 11:31:52 +01:00
mfo
62813f3d74
Merge pull request #8323 from tchak/fix-graphql-champs
feat(graphql): add pays champ to API
2022-12-22 13:51:02 +01:00
mfo
e3bf0d8fec
Merge pull request #8327 from tchak/feat-rebase-after-repasser-en-instruction
feat(dossier): rebase after repasser en instruction
2022-12-22 13:50:43 +01:00
Paul Chavard
f4f38982b4 feat(dossier): rebase after repasser en instruction 2022-12-22 13:44:03 +01:00
Paul Chavard
6363206c44 fix(dossier): when rebase creates a champ always push in to champs 2022-12-22 13:44:03 +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
072156d38e feat(graphql): add pays champ to API 2022-12-22 11:56:45 +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
François Vantomme
993c1b8676 fix(batch operation): ensure to append bigint to SQL array 2022-12-21 11:59:55 +01:00
Christophe Robillard
11a18516b2 remove feature flag zonage 2022-12-21 09:02:16 +01:00
Paul Chavard
227296682b fix(dossier): clone should include more attachments 2022-12-20 21:30:32 +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
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
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
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
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
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
Colin Darie
7ff04c1a05
style(instructeurs): human/i18n value for state filter 2022-12-15 09:34:10 +01:00
mfo
74cd385b35
Merge pull request #8274 from tchak/fix-parent-dossiers
fix(dossier): parent_dossiers is really cloned_dossiers
2022-12-15 09:20: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
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
Paul Chavard
ece70efbea refactor(dossier): improuve dossiers_safe_scope on batch operation 2022-12-14 09:45:53 +01:00
Paul Chavard
9510142cd8 fix(dossier): parent_dossiers is really cloned_dossiers 2022-12-14 09:44:19 +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
11fed2c934 review: champs exist because stable ids exist 2022-12-08 15:27:39 +01:00
sebastiencarceles
a5c1c68a91 review: style 2022-12-08 15:27:39 +01:00
Sébastien Carceles
9dfb498806 review: prefer if to unless
Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-12-08 15:27:39 +01:00
Damien Le Thiec
006a1257b5 Refacto prefill_params construction (remove merge) 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
3939644030 validate prefilled champs when editing brouillon 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
52a32051c4 feat(dossier): add dossier.champs_public_all 2022-12-08 09:38:12 +01:00
Paul Chavard
6ce7064ffd feat(dossier): add repetition champs to champs_for_condition 2022-12-08 09:38:12 +01:00
simon lehericey
86cda6a0b9 fix(timestamp spec): rewind io after before_save check 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
4fe081e4be fix(dossier): send notifications on declarative dossiers 2022-12-07 13:14:59 +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
b8a9b7223c refactor(groupe_instructeur): improuve controller 2022-12-06 12:01:54 +01:00
Paul Chavard
9fe93ded7f refactor(groupe_instructeur): add instructeur.find_or_invite 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
91ef618a42 clean(code): stick to usage of present?/empty? instead of count zero etc 2022-12-06 11:28:48 +01:00
Martin
b5f69c8961 review(dossier.reload): evite de recharger le batch qui peut etre confusant 2022-12-06 11:28:48 +01:00
Martin
7c65af3be0 poc(batch_operation_alert): simplier wording 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
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
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
Colin Darie
b13c5e56f6 refactor(piece_justificative): UX follows mockups 2022-12-05 10:47:10 +01:00
Colin Darie
0014ce4b91 chore(schema): +procedures#piece_justificative_multiple 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
91f4971df2 feat(champ): has_one_attached => has_many_attached piece_justificative_file 2022-12-05 10:47:10 +01:00
Paul Chavard
ece68076a7 feat(dossier): add some metadata to archive and remove operation log 2022-11-30 16:20:13 +01:00
Paul Chavard
a90dada104 fix(patron): dossier should have a procedure and champ should delegate to dossier 2022-11-30 10:54:03 +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
dcae06ae84 fix(avis_controller): index do not linked to revoked avis 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
53eb3e6ad0 chore(dossier): cleanup champs nested attributes 2022-11-29 11:10:59 +01:00
Paul Chavard
a760e0a698 feat(demarche): enable revisions for all 2022-11-24 17:35:33 +01:00
Paul Chavard
7a35a253a0 chore(dossier): cleanup clone champ 2022-11-24 16:25:27 +01:00
Christophe Robillard
1003a24711 remove useless spaces 2022-11-24 15:05:46 +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
Paul Chavard
405d2a695f refactor(attestation_template): remove from revisions 2022-11-23 12:26:26 +01:00
Paul Chavard
c73b650f85 feat(attestation): validate attestation tags 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
Paul Chavard
e4bf1bd2db feat(dossier): add data to DossierOperationLog 2022-11-22 18:06:05 +01:00
Christophe Robillard
8e95c6a2ba search procedures by libelle 2022-11-22 17:08:17 +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
fe35a8a6e7 fix(cni): only allow jpg and png because of buggy pdf watermarking 2022-11-21 17:53:29 +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
simon lehericey
66e9b74121 feat(manager): select team_user base on attribute 2022-11-17 16:29:08 +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
9ed42b316f refactor(user): administration -> super_admin
delete_and_keep_track_dossier_also_delete_user is only called by super admin
2022-11-16 17:52:48 +01:00
simon lehericey
99871b6ba6 refactor(user): introduce method to only delete dossier 2022-11-16 17:52:47 +01:00
simon lehericey
fcfe09f05a refactor(user): rename delete_and_keep_track_dossiers 2022-11-16 17:52:47 +01:00
Paul Chavard
6f6b3896de refactor(export): reduce repetition in export code hopefully making it more readable 2022-11-16 08:49:37 +01:00
Paul Chavard
c1ae9d03be feat(export): show refresh button sooner 2022-11-16 08:49:37 +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
Christophe Robillard
cc35788d26 extract computation to controller 2022-11-10 18:02:20 +01:00
Christophe Robillard
5f5b6bf7c7 use specific route for all admins 2022-11-10 18:02:20 +01:00
Christophe Robillard
c96781cfad list all admins 2022-11-10 18:02:20 +01:00
Paul Chavard
95f65900d3 refactor(active_storage): no download on clone 2022-11-10 12:25:55 +00:00
Paul Chavard
5e87539d6d fix(groupe_instructeur): add explicit order to groupe_instructeurs 2022-11-09 10:56:40 +00:00
Christophe Robillard
87832f6eb2 fix pagination bug 2022-11-09 10:41:06 +01:00
Christophe Robillard
a5fa21ca1b add from_publication_date filter 2022-11-09 10:41:06 +01: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
Martin
df54dc04a4 amelioration(champ.explication): ajout du support pour avoir un menu depliant avec plus d'information sur un champs explication
amelioration(champ.explication): ajout du support pour avoir un menu depliant avec plus d'information sur un champs explication
2022-11-08 17:49:24 +01:00
Martin
fe0411203f amelioration(types_de_champ/editor): en mode edition d'un champ de type explication, permet de choisir d'afficher ou pas cette explication derriere un collapse 2022-11-08 17:49:24 +01:00
Martin
0d675d4ee5 amelioration(Champ.titre-d-identite): ajout du support pour les .pdf 2022-11-08 16:27:06 +01:00
Christophe Robillard
c0231dffa2 extract ProceduresFilter class 2022-11-08 12:14:26 +01:00
Martin
bd28c29856 amelioration(manager): ajout de la visualisation des comptes marqués comme membre de l'equipe 2022-11-08 09:55:21 +01:00
Martin
c9292e7ba8 amelioration(bdd): mise en place d'un flag pour identifier les anciens comptes d'admin de DS 2022-11-08 09:55:21 +01:00
simon lehericey
1760ccbc01 fix(merge): transfers hidden procedures 2022-11-07 14:11:05 +01:00
Paul Chavard
1e8a440166 feat(graphql): expose deleted dossiers on groupe instructeur 2022-11-04 11:49:27 +00:00
Eric Leroy-Terquem
aca2775874 remove routee? method 2022-11-04 12:03:44 +01:00
Eric Leroy-Terquem
b51770c151 toggle routing after groupe instructeur update 2022-11-04 12:03:44 +01:00
Eric Leroy-Terquem
5578115acf update routee? method 2022-11-04 12:03:43 +01:00
Eric Leroy-Terquem
110953e450 constraint logic to active groups 2022-11-04 12:03:43 +01:00
Eric Leroy-Terquem
63ae328bee update wording and cards order 2022-11-04 12:03:43 +01:00
Eric Leroy-Terquem
b419c48262 toggle routing when adding or deleting groupe_instructeurs 2022-11-04 12:03:43 +01: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
91a662fdb9 fix(graphql): make sure dossiers are always loaded with appropriate scope 2022-11-02 11:25:26 +01:00
Kara Diaby
661e5f78ac model 2022-11-02 10:19:43 +01:00
Martin
ef2064a603 nettoyage(Traitement): supprime une methode morte 2022-11-01 12:43:49 +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
Martin
cb1726366f correctif(administrateur/procedure/archives#index): ne pas utiliser la table des traitement pour la comptabilisation du nombre de dossier dans une archive car si le dossier a ete accepte [mois n-1], repasse en instruction[mois-n1], accepte[mois-narchive], on se retrouve avec le dossier dans plusieurs archives et des compteurs confusant 2022-11-01 12:43:49 +01:00
simon lehericey
52b7886961 fix(clone): on procedure clone, discard integrity error 2022-11-01 10:17:24 +01:00
Paul Chavard
8cf9aec0f7 refactor(procedure): expose procedure tags on model 2022-10-31 19:50:25 +01:00
Christophe Robillard
9abf1c4af3 list all demarches, filtered by zones 2022-10-31 16:12:02 +01:00
Christophe Robillard
f9f31b721a get zones of an admin 2022-10-31 16:12:02 +01:00
Martin
60dc6a3912 correctif(export.global): Export.find_for_groupe_instructeurs remonte les exports globaux même lorsqu'il y a une procedure presentation 2022-10-31 14:32:17 +01:00
Colin Darie
3a06e7e0b3 refactor(tdc): convert fill duration in Duration objects 2022-10-31 12:17:16 +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
50c43f4819 correct(export): la creation d'archive pour un groupe d'instructeur, avec des filtres differents et identique doit etre consistante 2022-10-31 09:29:27 +01:00
Colin Darie
9f2fa5ee1c fix(invitation): don't fail when dossier is hidden & user signed on another account
Suite de 45994ff567
Cf https://sentry.io/organizations/demarches-simplifiees/issues/3422144920/events/e1c83ea74dbc410ea22aa17ef29fb329/?project=1429550
2022-10-28 08:56:03 +02:00
simon lehericey
4c98b8f01c fix(merge): ensure service transfert always works 2022-10-27 12:44:02 +02:00
simon lehericey
44aff1a293 fix(silent_error_in_merge): raise if merge update fail 2022-10-26 23:27:53 +02:00
simon lehericey
6af4fe624a refactor(service): explicit call to service job to avoid test side effect 2022-10-25 14:44:43 +02:00
Kara Diaby
492c7f377f migration 2022-10-21 19:13:12 +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
Colin Darie
45994ff567 fix(invitation): when dossier is not visible anymore
https://sentry.io/organizations/demarches-simplifiees/issues/3422144920/
2022-10-20 09:08:36 +02:00
Martin
576aa2c1e0 amelioration(export): augment la duree de conservation des exports en cours de generation passant de 12 a 16h. augment la duree de conservation des exports generés passant de 16 à 32h 2022-10-20 06:32:41 +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
Paul Chavard
5be8810da4 fix(dossier): nullify instructeur and expert id on messages when they are deleted
we keep email on the message so it will be used when instructeur or expert are not available
2022-10-19 11:53:10 +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
7114623285 fix(champ): rewire champ.mandatory? to type_de_champ.mandatory?
it fixes behaviour in drop_down_list_component which add option if not mandatory (!= not required)
2022-10-18 11:13:41 +02:00
simon lehericey
528b7ec3f8 refactor(champ): add required?
used for the `required` html attribute. It check visibility to avoid hidden required input which prevent the form from being sent.
2022-10-18 11:13:41 +02:00
Paul Chavard
c075a4e415 fix(dossier): we should never detroy user’s dossiers in cascade 2022-10-14 14:14:51 +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
simon lehericey
f8ee6386b9 perf(champ): check condition.present? without json deserializationl, -6ms 2022-10-13 22:36:56 +02:00
simon lehericey
73b4ee64e6 perf(champ_value): use champ_type instead of tdc.type_champ, -22ms 2022-10-13 22:36:56 +02:00
Eric Leroy-Terquem
c6082ded09 no select for usager if only one groupe_instructeur 2022-10-13 19:49:32 +02:00
Martin
d09c47f5ce correctif(usager.fusion): leve une erreur quand on essaie de fusionner un compte sur lui même 2022-10-13 17:00:20 +02:00
Paul Chavard
1fd1878370 feat(jobs): add request_id to jobs payload 2022-10-12 14:32:23 +02:00
Paul Chavard
7f1dd49bdc chore(flipper): always use feature_enabled? helper 2022-10-12 14:14:30 +02:00
Damien Le Thiec
29a97fac43
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-11 18:59:45 +02:00
Damien Le Thiec
0e995c8bcc
Update app/models/champs/rna_champ.rb
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2022-10-11 16:34:00 +02:00
simon lehericey
7672ad3fe9 fix(editor champ): do not raise on destroy replay 2022-10-11 16:27:49 +02:00
Damien Le Thiec
73f6063c87
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-11 15:36:46 +02:00
Damien Le Thiec
2e8c0512a5 Remove skip_cleanup option 2022-10-11 15:11:51 +02:00
Damien Le Thiec
bcdc9c18ae Remove skip_fetch_data mechanism 2022-10-11 11:52:59 +02:00
Paul Chavard
a19bf050ef fix(iban): format iban after validation 2022-10-11 10:43:32 +02:00
simon lehericey
157c3778df refactor(dossier_preloader): add option to laod pj_template 2022-10-10 12:31:40 +02:00
simon lehericey
7e03f0c825 refactor(dossier_preloader): add load_one api 2022-10-10 12:31:40 +02:00
simon lehericey
5920168077 refactor(dossier_preloader): preload piece_justificative_template 2022-10-10 12:31:40 +02:00
simon lehericey
1f95f68fcc refactor(dossier_preloader): assign champ.parent 2022-10-10 12:31:40 +02:00
simon lehericey
5df76d9fec refactor(dossier_preloader): remove weird set_inverse_instance 2022-10-10 12:31:40 +02:00
Martin
c921e6e1ee fix(ProcedureExportService): downloadable_sorted_batch is scoped by export, no need to re-filter them via downloadablable_sorted_batch otherwise export for supprimes_recemment does not includes dossier.supprimes_recemment 2022-10-10 11:11:21 +02:00
Eric Leroy-Terquem
1177d861f4 add validation on routing_criteria_name 2022-10-10 09:48:11 +02:00
Martin
6752da40a9 test(procedure.direction): can we drop this column ? 2022-10-07 18:39:17 +02:00
simon lehericey
ceaf8ebbe7 fix: orphan tdc due to reset_draft 2022-10-07 17:44:30 +02:00
krichtof
44018a86de a procedure without zone is finally valid 2022-10-07 16:59:12 +02:00
Christophe Robillard
272c8cae09 cannot publish a procedure if no zones 2022-10-07 10:48:35 +02:00
Christophe Robillard
bdcb451d3c procedure publiee must have one zone at least 2022-10-07 10:48:35 +02:00
Christophe Robillard
94ca93e130 can choose multiple zones 2022-10-07 10:48:35 +02:00
Christophe Robillard
bffd9d61a9 add habtm between procedures and zones 2022-10-07 10:48:34 +02:00
simon lehericey
0e75f9960b fix: send_dossier_decision preview 2022-10-06 17:43:09 +02:00
Martin
a256dfbaa0 fix(spec): missed a failed spec previously. sorry 2022-10-06 15:34:29 +02:00
mfo
8a3550cda4
Merge pull request #7860 from mfo/US/procedure-duree-up-to-manager
feat(procedure.max_duree_conservation_dossiers_dans_ds): make it more flexible
2022-10-06 11:36:50 +02:00
mfo
e76b97fcb5
Merge pull request #7862 from mfo/US/cleanup-other-col
clean(procedure.columns): :durees_conservation_required, :cerfa_flag, :test_started_at
2022-10-06 11:36:00 +02:00
Martin
883ba8717f clean(procedure.columns): :durees_conservation_required, :cerfa_flag, :test_started_at 2022-10-05 18:03:49 +02:00
Martin
405a885160 feat(procedure.max_duree_conservation_dossiers_dans_ds): make it more flexible 2022-10-05 17:27:09 +02:00
Damien Le Thiec
abbbef1461 Fix tests 2022-10-05 13:07:39 +02:00
Damien Le Thiec
0131a41266
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-05 12:38:24 +02:00
Paul Chavard
432c4690b5 feat(tags): replace regexp based parser with a parser combinator 2022-10-05 11:25:37 +02:00
Eric Leroy-Terquem
acd874ccdf reorder inside categories 2022-10-05 09:21:08 +02:00
Eric Leroy-Terquem
6925ca66e6 add grouped options for select 2022-10-05 09:21:08 +02:00
Damien Le Thiec
0d9f02c88d First draft autofetch data for RNA 2022-10-04 22:11:01 +02:00
Damien Le Thiec
e694ff1f60 Fix update external id after validation 2022-10-04 17:19:16 +02:00
Martin
7125e8538a clean(engagement): remove last pieces of engagement champs 2022-10-04 07:17:47 +02:00
simon lehericey
6a5a82ce06 fix(instructeur dashboard): dossiers filtered on multiple states 2022-10-03 15:18:46 +02:00
Martin
aceb8996c1 feat(instructeur/procedure#show): enhance sort by notifications as planned by UX
Update app/javascript/controllers/checkbox_controller.ts

Co-authored-by: Paul Chavard <github@paul.chavard.net>
2022-09-30 10:29:51 +02:00
Paul Chavard
462cc41caa refactor(block): use block? instead of repetition? 2022-09-29 17:49:14 +02:00
Paul Chavard
df47f4a7ab feat(graphql): new tokens should carry administrateur_id 2022-09-29 11:58:58 +02:00
Martin
d7cce3c982 fix(instructeur/procedures#show): Procedure presentation filterable state field is in conflict with projected state field. quick fix, maybe will refactor both to align them 2022-09-28 15:28:51 +02:00
Kara Diaby
e1999d5729 fix checkbox mandatory champ 2022-09-28 10:53:24 +02:00
simon lehericey
8efd305256 add upper_tdcs to condition_form 2022-09-28 10:06:31 +02:00
simon lehericey
7e1963865e compatibility from left 2022-09-28 10:06:31 +02:00
simon lehericey
43f926a1de to_s 2022-09-28 10:06:31 +02:00
simon lehericey
f98d1463a6 compatible_type 2022-09-28 10:06:31 +02:00
simon lehericey
cd2b08e39b options 2022-09-28 10:06:31 +02:00
simon lehericey
12b6a0d6d6 errors 2022-09-28 10:06:31 +02:00
simon lehericey
70022450cf type 2022-09-28 10:06:31 +02:00
Martin
17ed80b18a clean(Champs::Engagement): migrate to Champs::Checkbox, some for TypeDeChamp 2022-09-27 19:09:28 +02:00
Martin
ba6c5b4db7 feat(instructeur/procedure#index): enhance filter to support processed_at and state [plus en_instruction_at/since]
feat(filter): enable filter on dossiers.state, dossiers.processed_at(since), dossiers.en_instruction_at(since)
2022-09-27 17:19:54 +02:00
Colin Darie
e18dbb976f fix(graphql/serializer): PersonneMorale#date_creation may be null
Ça fix le passage du dossier dans un dossier "terminé" pour un dossier
dont un champ avec SIRET correspond à un établissement sans date de creation
connue.
2022-09-26 18:05:04 +02:00
Christophe Robillard
ddd5f6ece2 make label method name more explict 2022-09-26 16:58:53 +02:00
Christophe Robillard
f452e1014a make label_at more concise 2022-09-26 16:58:53 +02:00
Christophe Robillard
240f1b249f makes the NA label for zone more explicit 2022-09-26 16:58:53 +02:00
Christophe Robillard
9a9330159c choose zone options with correct label
label of the zone is the one available when the procedure has been published (or at the creation if the procedure has not been published)
2022-09-26 16:58:53 +02:00
Christophe Robillard
62f19aba8a get all available zones at specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
9773977496 know if a zone exist at a specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
59cce4203a get zone label at specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
a504e82021 add zone label 2022-09-26 16:58:53 +02:00
simon lehericey
f53e8608ae refactor(conditional): error message system 2022-09-26 10:21:15 +02:00
simon lehericey
ab42b27176 refactor(logic): add comments 2022-09-26 10:21:15 +02:00
simon lehericey
fcb9b55bc4 feat(conditional): add include operator 2022-09-26 10:21:15 +02:00
Damien Le Thiec
542c5b518f Improve and connect RNA Adapter 2022-09-22 17:13:53 +02:00
Colin Darie
6a4a9c8e03 fix(cron/procedure-declarative): don't auto accept a dossier still in degraded mode 2022-09-22 16:26:14 +02:00
Colin Darie
9b929c86ea
Merge pull request #7760 from betagouv/dsfr-dossier-top-form
DSFR: convert dossier top form elements
2022-09-21 16:44:51 +02:00
Colin Darie
e7de19b24d fix(dossier): avoir final state if etablissement is still in degraded mode
Maintenant qu'on autorise un dossier pour entreprise a être créé en mode "dégradé",
(avec établissement incomplet suite à API Entreprise/INSEE down…),
on empêche de l'accepter/refuser/classer sans suite tant qu'on a pas
vérifié son SIRET.

Fix https://sentry.io/organizations/demarches-simplifiees/issues/2839832517/?project=1429550&query=is%3Aunresolved
2022-09-21 16:00:59 +02:00
Colin Darie
a5e1d8865b style(france_connect_account): convert notice about FC user to DSFR 2022-09-21 15:47:35 +02:00
Paul Chavard
16bba911ba Revert "Merge pull request #7637 from tchak/chore-add-missing-foreign-keys"
This reverts commit b21ee46dc2, reversing
changes made to dd85b5c35c.
2022-09-21 15:20:42 +02:00
Damien Le Thiec
d8afe81034 Setup RNA champ 2022-09-21 15:18:08 +02:00
Damien Le Thiec
606ac48964 Add new RNA Type de champ 2022-09-21 15:17:23 +02:00
Paul Chavard
84b9644bcd fix(db): add missing foreign keys 2022-09-20 15:16:52 +02:00
Martin
eae05b0a6f feat(export.xslx): add code commune to geo_area.label 2022-09-17 08:59:06 +02:00
Colin Darie
95a4e8a907
feat(api_entreprise): create etablissement with fallback when API is down
On créé l'établissement uniquement avec le SIRET, sans que ce soit bloquant
pour compléter le dossier. On demande à l'utilisateur de vérifier
lui-même la concordance du SIRET avec son entreprise.

Cf #7766
2022-09-16 10:43:59 +02:00
simon lehericey
c43bf2e5c9 fix(conditional): only parse user input as int if compared with a number 2022-09-09 11:28:32 +02:00
Paul Chavard
d35ceb7214 fix(champs): finish EditableChampComponent refactor 2022-09-08 11:26:29 +02:00