Commit graph

8294 commits

Author SHA1 Message Date
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
simon lehericey
f54407aa1e fix: last_week_overview 2022-10-07 13:56:05 +02:00
simon lehericey
e86375046b fix: label in linked_drop_down 2022-10-07 13:56:05 +02:00
simon lehericey
3dc0ed7695 fix: label in multiple_drop_down_list 2022-10-07 13:56:05 +02:00
simon lehericey
87d0334c1c fix: label in champ component 2022-10-07 13:56:05 +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
2985295a00 use normal font weight for checkbox labels 2022-10-07 10:48:35 +02:00
Christophe Robillard
a6928e7ca2 add ZonesComponent 2022-10-07 10:48:35 +02:00
Christophe Robillard
4d2c37ffdf extract checkboxes zones to dedicated page 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
simon lehericey
9aeaddcb40 perf: remove one query on invite dropdown 2022-10-06 17:17:27 +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
a3468fca27
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-05 12:54:31 +02:00
Damien Le Thiec
0131a41266
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-05 12:38:24 +02:00
krichtof
92807edd03 fix zone labels when building a new procedure 2022-10-05 12:37:08 +02:00
Damien Le Thiec
93e89c8968 Fix small bugs rna controller and add tests 2022-10-05 12:31:34 +02:00
Paul Chavard
432c4690b5 feat(tags): replace regexp based parser with a parser combinator 2022-10-05 11:25:37 +02:00
Damien Le Thiec
776736fe5a Fix rights view RNA champ data 2022-10-05 09:46:15 +02:00
Eric Leroy-Terquem
ff2e9f0816 add feature flag 2022-10-05 09:21:08 +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
ecd54de854 Extend RNA adapter while keeping depreciated version 2022-10-04 19:59:39 +02:00
Damien Le Thiec
e694ff1f60 Fix update external id after validation 2022-10-04 17:19:16 +02:00
Martin
54a47fadae fix(sentry/3422144920): old email using TargetUserLink creates confusing errors 2022-10-04 11:41:32 +02:00
Paul Chavard
78d4abfb3d chore(js): remove CheckConditionsController 2022-10-04 10:59:23 +02:00
Kara Diaby
057c951408 fixe une typo remontée par le support 2022-10-04 12:11:19 +04:00
Martin
7125e8538a clean(engagement): remove last pieces of engagement champs 2022-10-04 07:17:47 +02:00
simon lehericey
77289b7a80 perf(admin_procedure_controller): same with publication page 2022-10-03 20:49:38 +02:00
simon lehericey
7af248b4bf perf(admin_procedure_show): use partial with collection 2022-10-03 20:49:38 +02:00
simon lehericey
e043725d51 refactor(admin_procedure_controller): simplify AR include 2022-10-03 20:49:38 +02:00
simon lehericey
adbb655a4a perf(procedure edition): validate only once to avoid reload tdc with n+1 2022-10-03 20:49:38 +02:00
simon lehericey
122c8107a5 fix(web_graphql): fix graphql web playground authorization 2022-10-03 18:08:03 +02:00
simon lehericey
6a5a82ce06 fix(instructeur dashboard): dossiers filtered on multiple states 2022-10-03 15:18:46 +02:00
Martin
19bac6339c fix(multiple_drop_down_list): iterate over selected options not to_s 2022-09-30 12:24:00 +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
Christophe Robillard
da0738c661 unschedule export demarches opendata 2022-09-30 07:26:48 +02:00
Paul Chavard
462cc41caa refactor(block): use block? instead of repetition? 2022-09-29 17:49:14 +02:00
simon lehericey
7a9c5e8d19 refactor(ujs): turbo use an id for turbo_stream.update id not a class 2022-09-29 17:04:15 +02:00
Paul Chavard
b0aa777315 refactor(ujs): france_connect controller to use turbo 2022-09-29 16:51:54 +02:00
Paul Chavard
921f38833d refactor(ujs): experts_procedures controller to use turbo 2022-09-29 16:51:54 +02:00
Paul Chavard
099eecaa6c refactor(ujs): adapt safari-11-empty-file-workaround to turbo 2022-09-29 16:51:54 +02:00
Paul Chavard
5de74ae322 refactor(ujs): remove dead code 2022-09-29 16:51:53 +02:00
Paul Chavard
582ba7a16e refactor(ujs): remove ujs spinner 2022-09-29 16:51:53 +02:00
Paul Chavard
a5d78fea1a refactor(ujs): remove old ujs helpers 2022-09-29 16:51:53 +02:00
simon lehericey
7d547e5e11 fix(linked_drop_down): in repetiton the second choice is saved
the filter was not applied in repetition block so an additional empty input was send which overrided the real value
2022-09-29 14:50:02 +02:00
Paul Chavard
df47f4a7ab feat(graphql): new tokens should carry administrateur_id 2022-09-29 11:58:58 +02:00
DanteZ5
3826121751 switch from id to class 2022-09-28 17:19:17 +02:00
DanteZ5
a22851cc35 fix linter SingleLinePerSelector 2022-09-28 17:19:17 +02:00
DanteZ5
7e29fe40f6 fix-ux(issue#7774) : indicateur menu email navbar 2022-09-28 17:19:17 +02:00
Colin Darie
da22c29688 feat(procedure): warn administrator that notice links are not shareable
Closes #7681
2022-09-28 17:01:25 +02:00
Colin Darie
6a943ad13f feat(champ_pj): warn administrators about ephemeral template links
Closes #7681
2022-09-28 17:01:25 +02:00
Colin Darie
0f6a611b6f chore(scss): remove obsolete css about old PJ UI 2022-09-28 17:01:25 +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
Paul Chavard
224f045a1a fix(profile): fix css 2022-09-28 12:02:06 +02:00
Kara Diaby
e1999d5729 fix checkbox mandatory champ 2022-09-28 10:53:24 +02:00
Kara Diaby
c35a3d17de fix dsfr footer visitor 2022-09-28 10:36:21 +02:00
simon lehericey
dd7af753fe only display not_available error message 2022-09-28 10:06:32 +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
2e33438131 fix(conditional): add missing locals 2022-09-26 10:21:15 +02:00
simon lehericey
bae60339a7 fix: wording 2022-09-26 10:21:15 +02:00
simon lehericey
726a0f20c9 fix(conditional): update breadcrump when condition change 2022-09-26 10:21:15 +02:00
simon lehericey
b6686828db fix(conditional): update error summary when condition change 2022-09-26 10:21:15 +02:00
simon lehericey
eb71207457 fix(conditional): change number input to text input, to display original text not empty in the error message 2022-09-26 10:21:15 +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
Martin
d9432ccd3b fix(etablissement.as_degraded_mode): backfill missing data via a cron 2022-09-23 15:12:25 +02:00
Kara Diaby
83efa7eab3 fix title order 2022-09-23 08:41:25 +02:00
Kara Diaby
611cc23920 layout 2022-09-23 08:41:25 +02:00
mfo
7bd288e04a
Merge pull request #7796 from betagouv/fix-cron-declarative-procedure-incomplete-etablissement
fix(cron/procedure-declarative): don't auto accept a dossier still in degraded mode
2022-09-22 18:26:36 +02:00
Martin
daeab50321 fix(data): backfill etablissement as degraded mode 2022-09-22 18:02:47 +02:00
Damien Le Thiec
00ccca88ac Update graphQL Schema 2022-09-22 17:30:51 +02:00
Damien Le Thiec
bd0df2b60b Clean rna champ_row 2022-09-22 17:14:05 +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
39322e6dff feat(instructeurs): warn about acceptation/reject unavailable due to incomplete etablissement 2022-09-21 16:00:59 +02:00
Colin Darie
fe2b3ec936 feat(instructeurs/dossier): explicit error about impossible transition due to incomplete etablissement 2022-09-21 16:00:59 +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
53cd041060 refactor(dsfr): components import order accordingly to their README 2022-09-21 15:47:35 +02:00
Colin Darie
55fd4307a1 refactor(header/notice): convert JS to stimulus 2022-09-21 15:47:35 +02:00
Colin Darie
4d5f03b99c style(header): remove fr-header__with-notice-info when notice is closed 2022-09-21 15:47:35 +02:00
Colin Darie
7e6624753a refactor(dossier/pdf): use new france_connect_informations helper 2022-09-21 15:47:35 +02:00
Colin Darie
fcb478eb53 refactor(fc_info): use Dsfr::Notice for france connect informations 2022-09-21 15:47:35 +02:00
Colin Darie
ab82128585 feat(dsfr): new NoticeComponent 2022-09-21 15:47:35 +02:00
Colin Darie
a5e1d8865b style(france_connect_account): convert notice about FC user to DSFR 2022-09-21 15:47:35 +02:00
Colin Darie
80daf3ede1 style(dsfr): dossier form header + notice link 2022-09-21 15:47:35 +02:00
Colin Darie
13beb2bfa5 fix: AgentConnect button visibility 2022-09-21 15:34:31 +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
2141dd501e Create RNA component 2022-09-21 15:18:23 +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
Colin Darie
7e1c542807 fix: FranceConnect button was not visible anymore, convert to DSFR 2022-09-21 09:28:54 +02:00
Colin Darie
cffa8d0b69 style(dsfr/link): doc for explicitly disabling href underlined enabled by dsfr 2022-09-21 09:28:54 +02:00
Paul Chavard
84b9644bcd fix(db): add missing foreign keys 2022-09-20 15:16:52 +02:00
Kara Diaby
ba58558146 fix accessibiliy problems 2022-09-19 13:34:43 +02:00
Kara Diaby
2c4a8e81ba footer layout 2022-09-19 13:34:43 +02:00
Kara Diaby
f3549a7a4d Modify CSS overide and import footer from DSFR 2022-09-19 13:34:43 +02:00
simon lehericey
9d2d19800d feat(champ siret): save etablissement in degraded mode if api down and allow submission 2022-09-19 12:12:05 +02:00
simon lehericey
c7d54fc750 feat(champ siret): display an acknowledgment if siret exist 2022-09-19 11:50:33 +02:00
Martin
eae05b0a6f feat(export.xslx): add code commune to geo_area.label 2022-09-17 08:59:06 +02:00
simon lehericey
0f318a1f7f feat(api_entreprise): display partial information when degraded_mode 2022-09-16 14:43:18 +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
Colin Darie
3cd02ceae3
fix(etablissement): improve annuaire_link, with SIRET & as search
Dans certaines circonstances le SIREN pouvait être vide alors qu'on a
toujours le SIRET. Aussi, on se base sur la recherhce qui redirige vers
le bon namespace car il n'y a pas forcément que des entreprises : certaines
sont listées sous "etablissement".
2022-09-16 10:43:59 +02:00
Colin Darie
2bacd175df
feat(dsfr): import icons sets 2022-09-16 10:43:59 +02:00
Colin Darie
46b69da396
style(dsfr/callout): more theming for callout component 2022-09-16 10:43:59 +02:00
Colin Darie
c4f6305b3a fix(dossiers/api_down): specific error when API Entreprise is globally down. 2022-09-15 18:53:41 +02:00
Colin Darie
d1c06aa92e feat(api_entreprise): add service api_up?, connected to their status page 2022-09-15 18:46:53 +02:00
sebastiencarceles
90d795d1e0 fix: remove instructeur when admin is removed 2022-09-13 09:44:49 +02:00
sebastiencarceles
9aaef79a3d review: use salt to generate key 2022-09-13 07:47:30 +02:00
sebastiencarceles
f154bb56e6 confirm adding a new admin to a procedure
For clarity and a better understanding, use a dedicated controller
to allow the current admin to confirm adding an administrateur
to a procedure.
2022-09-13 07:45:07 +02:00
sebastiencarceles
4123709e72 build and render secured URL to invite admin
For clarity and a better understanding, use a dedicated controller to
build and render the confirmation URL to share in order to add a new
administrateur.
2022-09-13 07:45:07 +02:00
Martin
f47f74fac7 fix(typo): views/administrateurs/_groups_header.haml 2022-09-12 10:26:20 +02:00
mfo
cdf9fe6099
Merge pull request #7752 from mfo/helpcout/1988749
fix(upload.custom-types): army has a custom format for crypted zip. not recognized as an application/octet-stream by the browser. html5[accept] attributes allows to use extensions. So we allow this extension
2022-09-12 10:23:37 +02:00
Martin
67856c2f13 fix(upload.custom-types): army has a custom format for crypted zip. not recognized as an application/octet-stream by the browser. html5[accpet] attributes allows to use extensions. So we allow this extension 2022-09-09 15:54:13 +02:00
Martin
f08d4e9dc0 fix(breadcrumb): extends breadcrumb libelle truncation from 4 to 10 words 2022-09-09 13:08:24 +02:00
mfo
062477dede
Merge pull request #7750 from betagouv/fix_cursor_on_textarea
fix(style): applique un cursor text au textarea
2022-09-09 12:17:35 +02:00
simon lehericey
7449551d3f fix(style): set cursor text on textarea 2022-09-09 12:09:31 +02:00
Martin
93e3f5877e fix(champ_label_component): add missing helpers 2022-09-09 12:02:04 +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
simon lehericey
478a7e68ab refactor(logic): reuse compatible_type 2022-09-09 10:55:42 +02:00
mfo
44f366d7f4
Merge branch 'main' into helpscout/1987597382 2022-09-08 12:03:01 +02:00
Paul Chavard
d6f5be622c feat(dossier): autosave en construction 2022-09-08 11:26:29 +02:00
Paul Chavard
d35ceb7214 fix(champs): finish EditableChampComponent refactor 2022-09-08 11:26:29 +02:00
Martin
cbe77dd2f6 bug(instructeurs/dossiers#telecharger_pjs): zipline does not play well with not available active storage attachments 2022-09-08 11:05:24 +02:00
Colin Darie
e744c9d575
fix(home): signin button should not open on new window (regression) 2022-09-07 19:14:55 +02:00
Colin Darie
b8885140a4
fix(dsfr): checkbox/radio visibility on old firefox
Firefox < 80 ne supporte pas `appearance: auto` injecté par le DSFR,
ce qui rend les checkbox & radio transparentes (invisibles).
2022-09-07 19:14:55 +02:00
simon lehericey
4cd0261099 remove new header baseline 2022-09-07 18:04:25 +02:00
Colin Darie
c927f2c250 refactor(dsfr/card): rename CardComponent => CardVerticalComponent 2022-09-07 17:56:19 +02:00
Colin Darie
e0a15e9821 chore(patron): add Dsfr::CardComponent, but still media query issue 2022-09-07 17:56:19 +02:00
Colin Darie
5f08df7561 refactor(dsfr/button): remove useless & verbose Dsfr::ButtonComponent, in favor of good link_to / f.submit 2022-09-07 17:56:19 +02:00
Colin Darie
5f760585ad refactor(dsfr): CardComponent with footer_buttons slot 2022-09-07 17:56:19 +02:00
Colin Darie
b769def337 refactor(landings): with DSFR button & card components 2022-09-07 17:56:19 +02:00
Colin Darie
0e28a3870a refactor(dsfr/button_component): more modular & signature more like link_to 2022-09-07 17:56:19 +02:00
Colin Darie
abcfc4a64a fix(home/administration): button hover visibility since dsfr + bottom cards 2022-09-07 17:56:19 +02:00
Colin Darie
b4fc46ba32 fix(home): buttons hover visibility since dsfr 2022-09-07 17:56:19 +02:00
Martin
f674f6981b feat(DSFR.ie11): enable legacy mode with our own packaging system 2022-09-07 17:41:56 +02:00
simon lehericey
ac0ac171ad perf(dossier): remove unused row validation
Gain, one request per champ not child
2022-09-07 15:00:40 +02:00
Paul Chavard
c05bc61c99 fix(revisions): improuve changes information display 2022-09-07 13:52:44 +02:00
sebastiencarceles
c203a7a3fd remove the confusing help ('nom@site.com')
closes #7727
2022-09-07 08:04:26 +02:00
sebastiencarceles
b643660017 'Choix parmi une liste' becomes 'Choix unique'
closes #7374
2022-09-06 11:26:30 +02:00
Martin
abbef510c6 fix(breadcrumb): update turbo usage with new breadcrumb "api" 2022-09-06 10:09:12 +02:00
Martin
ecbe51f928 feat(a11y): avoid wrong heading level 2022-09-06 10:09:12 +02:00
Martin
795f6ab29b fix(header): add missing i18n 2022-09-06 10:09:12 +02:00
Martin
fb0e863efd feat(header): migrate help button to dsfr 2022-09-06 10:09:12 +02:00
Martin
df3ef23f7e fix(spec): 1. visit new_user_session_path instead of navigating to it. 2. change way to submit search according to dsfr html. 3. avoid nav without aria label. 4. various lint fixes 2022-09-06 10:09:12 +02:00
Martin
a48a8b6081 feat(title): avoid title issues 2022-09-06 10:09:12 +02:00
Martin
af00936aac ui(header): refine to fit with olivier design 2022-09-06 10:09:12 +02:00
Martin
73f94b9635 feat(header): switch to DSFR translate component and dropdown component 2022-09-06 10:09:12 +02:00
Martin
96cdae0dd5 feat(DSFR.header): switch to DSFR header 2022-09-06 10:09:12 +02:00
Martin
549eda6fe3 feat(DSFR.breadcrumb): switch to DSFR breadcrumb style since it is part of new service UI 2022-09-06 10:09:12 +02:00
Colin Darie
3cb25e8393 fix(geopoint_field): no geoportail link without coordinates 2022-09-06 09:23:52 +02:00
Colin Darie
3c9b41e233 fix(manager/services): d'ont search in etablissement_adresse (this is not a schema field) 2022-09-06 09:23:52 +02:00
Colin Darie
3cda6b7d62 chore(graphql): expose service#siret 2022-09-06 09:23:52 +02:00
Colin Darie
91c735a219 chore(service): SIRET is required 2022-09-06 09:23:52 +02:00
Colin Darie
9d59a50cd4 chore(manager/services): show etablissement adresse & geopoint 2022-09-06 09:23:52 +02:00
Colin Darie
67cbc61e1e chore(services): update etablissement adresse & geocode when siret changes 2022-09-06 09:23:52 +02:00
Colin Darie
8762acc0b5 chore(services): fetch etablissement adresse from API Entreprise 2022-09-06 09:23:52 +02:00
Colin Darie
7d39cc6b3e chore(schema): +services#etablissement_{infos,geopoint}
- `etablissement_infos` est une représentation partielle en jsonb
de ce qui est renvoyé par l'API Entreprise.
(On ne conserve que l'adresse pour le moment, utilisée pour le geocodage)
- `etablissement_geopoint` est le point (x,y) issu du géocodage de
l'établissement
2022-09-06 09:23:52 +02:00
Colin Darie
b75cff2fc3 refactor: API Entreprise instancified, more flexible for various input params
En fonction des resources, l'API est appelée :

- dans le contexte d'une Procedure ou non
- avec ou sans token injecté
- avec ou sans siret/siren
- avec ou sans user
2022-09-06 09:23:52 +02:00
Colin Darie
c02f68083c feat(manager/service): show SIRET number 2022-09-06 09:23:52 +02:00
Colin Darie
fd18f8b5f8 feat(services): serializer with siret 2022-09-06 09:23:52 +02:00
Colin Darie
ad52710c3c fix(siret): don't add twice invalid format errors 2022-09-06 09:23:52 +02:00
Colin Darie
64ce2719ed feat(services): accept an optional SIRET
Closes #7359
2022-09-06 09:23:52 +02:00
Colin Darie
a4d9a45280 chore(schema): +services#siret 2022-09-06 09:23:52 +02:00
Colin Darie
a9aab27589 fix(contact-admin): add missing invisible captcha 2022-09-05 17:41:17 +02:00
Colin Darie
be965e4fdd fix(api_entreprise): don't fail with entreprise without date_creation 2022-09-05 15:52:06 +02:00
Colin Darie
4e3b063b87
feat(carte/export): list geo labels 2022-09-05 11:02:51 +02:00
simon lehericey
d612c39438 fix(admin procedure preview): redirect is procedure invalid 2022-09-05 10:18:33 +02:00
simon lehericey
e9677c37a1 fix(admin procedure preview): remove preview and continue buttons where procedure invalid 2022-09-05 10:17:05 +02:00
Martin
6114d1ea2f fix(helpscout#1994272872): pdf export contains ? with telecharger_psj. 2022-09-05 09:54:22 +02:00
Paul Chavard
ab3404714a fix(css): rename css file to fix legacy browsers 2022-09-02 19:07:10 +02:00
simon lehericey
8c884b4869 fix(migration): fix avis email notification migration 2022-09-02 17:23:04 +02:00
Kara Diaby
f7039bbb0a layout 2022-09-02 16:23:27 +02:00
Kara Diaby
f8d4644f73 models 2022-09-02 16:23:27 +02:00
Kara Diaby
98f4250214 controller 2022-09-02 16:23:27 +02:00
Martin
4537d2149d fix(service#index): caption absolute positionning does works well with long captions 2022-09-02 10:29:00 +02:00
Martin
ae1e8caf31 fix(dsfr): removed image on link 2022-09-02 09:36:58 +02:00
Martin
7a3dddf9de fix(dsfr): side effect 2022-09-01 17:12:22 +02:00
simon lehericey
bad058891b feat(conditional): block actions and hide revision details if procedure invalid 2022-09-01 15:07:18 +02:00
simon lehericey
f4b465a03f add errors_summary component 2022-09-01 15:07:18 +02:00
Martin
17c7ae1904 fix(a11y): input issue 2022-09-01 14:54:38 +02:00
Paul Chavard
afefa2bfb4 fix(dossier): fix user form component migration errors 2022-09-01 12:43:24 +02:00
simon lehericey
994d73b426 move trad 2022-09-01 09:48:27 +02:00
simon lehericey
a3e8c09e71 component all the champ 2022-09-01 09:48:27 +02:00
Paul Chavard
ebfed21fa8 chore(npm): update dependencies 2022-09-01 09:32:50 +02:00
Colin Darie
b4f791b1f1 fix(rgaa): missing title on signin (8.6) 2022-08-31 17:46:04 +02:00
Colin Darie
ba70cae75a fix(a11y/html): email input with autocomplete=email 2022-08-31 17:46:04 +02:00
Colin Darie
4535810ed4 fix(a11y/html): add role=main on main content 2022-08-31 17:46:04 +02:00
Colin Darie
f4c76ca677 fix(a11y/flash): add role=alert or status to flash messages 2022-08-31 17:46:04 +02:00
Colin Darie
3148266b49 refactor(rgaa/contact): inject invisible_captcha styles into head instead of div 2022-08-31 17:46:04 +02:00
Colin Darie
aab3e3a4be fix(rgaa/layout): invalid button > label 2022-08-31 17:46:04 +02:00
Colin Darie
69fe333aad refactor(rgaa/contact): question type as radio buttons for better rgaa compliance
On suit les recommandations de l'audit RGAA 2021, mais il y aurait encore
peut-être à redire…
2022-08-31 17:46:04 +02:00
Colin Darie
4f8391bc7c fix(rgaa/html): locale dropdown with valid html 2022-08-31 17:46:04 +02:00
Colin Darie
baf88f97e3 fix(rgaa/contact): replace misuse of dl/dd with ul/li
(Critère 9.3)
2022-08-31 17:46:04 +02:00
Colin Darie
cc93beb89e chore(rgaa/images): empty alt / aria hidden for non informative image 2022-08-31 17:46:04 +02:00
Colin Darie
88ceae8b7e chore(views): remove obsolete partial 2022-08-31 17:46:04 +02:00
Colin Darie
b1e9dffbc6 chore(rubocop): enable on .prawn files 2022-08-31 16:52:00 +02:00
Colin Darie
d30f51af79 fix(dossier/attestation_pdf): don't overlap DS name over logo
Le logo contient déjà le nom "demarches-simplifiees.fr", donc inutile
de le redupliquer en texte.
A la place on reprend le layout utilisé sur d'autres PDF.

Closes #7698
2022-08-31 16:52:00 +02:00
Martin
cc2b9b95bf clean(import): dsfr 2022-08-31 15:18:21 +02:00
Martin
14625c29d1 fix(lint): fixlint 2022-08-31 14:56:01 +02:00
Martin
f3ad8e2ead clean(service.edit.html.haml): extract other services 2022-08-31 14:56:01 +02:00
Martin
39b328a984 ui(Administrateur::Procedure::Service): use ds-fr table and some ui refinements 2022-08-31 14:56:01 +02:00
Martin
2649cc477f feat(Administrateur::Procedure::Service.form): resize inputs 2022-08-31 14:56:01 +02:00
Martin
edbff1ceb2 feat(Administrateur::Procedure::Service.form): add back link 2022-08-31 14:56:01 +02:00
Martin
d2b42dda2e feat(Administrateur::Procedure::Service.form): enhance wording and styl 2022-08-31 14:56:00 +02:00
Martin
f086302455 feat(Administrateurs::Procedure::Service#form): wrap explanation within DSFR::CallOut 2022-08-31 14:56:00 +02:00
Martin
289b8f78b8 feat(Administrateur::Services#index): rework list of services 2022-08-31 14:56:00 +02:00
Martin
a2311b1b75 perf(dsfr): only include what alert and its dependencies as refered in README of each components 2022-08-31 14:56:00 +02:00
Martin
17d8c7a371 feat(Administrateurs::Procedure::Service#edit): update UI with new warning as well as DSFR ui
feat(Administrateur::Procedure::Service#edit): add warning message a la DSFR
2022-08-31 14:56:00 +02:00
Martin
1bdbf2a7d7 feat(DesignSysteme): add DSfr and switch to Marianne font 2022-08-31 14:56:00 +02:00
Martin
5f2b290407 feat(Procedure.clone): reset subject.duree_conservation_dossiers_dans_ds when procedure.duree_conservation_etendue_par_ds was extended. only extends it on demand otherwise admin could clone old procedure with higher duree_conservation_dossiers_dans_ds 2022-08-31 14:56:00 +02:00
Martin
51680b11c2 feat(Adminstrateur::Procedures#clone): redirect to home of procedure with special info regarding procedure presentation & service 2022-08-31 14:56:00 +02:00
Martin
6e31decc2d feat(Procedure.clone): stop cloning procedure service which is confusing for some administrateurs 2022-08-31 14:56:00 +02:00
Paul Chavard
d1ae98b9a7 feat(css): add dsfr 2022-08-31 14:53:50 +02:00
Colin Darie
4ece7c2494 fix(champ): remove null byte before save
Les null bytes peuvent être injectés lors de c/c depuis certains documents,
et ne sont pas sauvegardables en base, rendant la sauvegarde d'un dossier impossible.

Closes #7656

https://sentry.io/organizations/demarches-simplifiees/issues/3194932607/activity/?project=1429550&query=is%3Aunresolved
2022-08-31 11:39:34 +02:00
Christian
63a4a13323 Graphql: Fix champs sort in repetition 2022-08-31 11:15:28 +02:00
Martin
69ef1d508d fix(brouillon.edit.form): when their is a type de champs repetition having a child being mandatory ; the form being not validatable the browser does not block the submission 2022-08-24 15:18:05 +02:00
Martin
1a1f44c5e6 fix(rubocop): filter does not exists on strong parameter... 2022-08-24 15:03:36 +02:00
Martin
2f5528398f feat(manager#outdated_procedure): allow super admin to enable procedure_expires_when_termine_enabled for old procedure
revew(typo): various typo, tx christophe :-)

fix(spec): due to typo fixes
2022-08-24 13:10:48 +02:00
Martin
748b8c9d64 fix(instructeurs/archives#create): missing renaming during refacto 2022-08-23 15:31:17 +02:00
Martin
e35da17ce8 bug(instructeurs/archives#create): month should not be nil 2022-08-23 15:31:17 +02:00
Christophe Robillard
d4cdf1fb96 add dolist link to manager 2022-08-23 15:05:20 +02:00
Christophe Robillard
efbec80af8 update saml controller and views
because of using another gem (saml_idp)
2022-08-23 15:05:20 +02:00
mfo
5fb2c45540 review(i18n): fix typo and enhance wording. 2022-08-23 13:28:10 +02:00
Martin
d30492a222 tech(clean): better naming 2022-08-23 13:28:10 +02:00
Martin
45e0c15eb0 feat(PurgeManagerAdministrateurSessionsJob): also purge instructeur assign_tos 2022-08-23 13:28:10 +02:00
Martin
dc524cf615 fix(spec): broken spec due to TDD and refacto on former code 2022-08-23 13:28:10 +02:00
Martin
711b2ee2e4 feat(ExportComponent): only render it when connected instructeur/administrateur is not from manager 2022-08-23 13:28:10 +02:00
Martin
25c0e91d87 feat(Administrateurs::GroupeInstructeur): ensure admin from super admin can not add an instructeur 2022-08-23 13:28:10 +02:00
Martin
d1544bc4ae feat(Administrateurs::ProcedureAdministrateurs): ensure admin from super admin can not add administrateur 2022-08-23 13:28:10 +02:00
Martin
d1297bc1f5 tech(rubocopify): ... just clean up ... 2022-08-23 13:28:10 +02:00
Martin
5e8210b8f8 feat(Administrateur::ExportsController#*): prevent SuperAdmin to ask/download export 2022-08-23 13:28:10 +02:00
Martin
bfd0f3379f feat(Instructeur::ArchivesController#*): prevent SuperAdmin to index/download archives 2022-08-23 13:28:10 +02:00
Martin
c2e0994e11 feat(Administrateur::ArchivesController#*): prevent SuperAdmin to index/download archives 2022-08-23 13:28:10 +02:00
Martin
ef67958324 feat(manager): add #add_administrateur_with_confirmation and #confirm_add_administrateur so SuperAdmin requires another SuperAdmin approval to add an administrator to a procedure. Add #add_administrateur_and_instructeur for SuperAdmin willing to be administrateur/instructeur for 24 2022-08-23 13:28:10 +02:00
Martin
f0a4cbb61e feat(assign_tos): add manager column to assign_tos table. Same idea as administrateur_procedures.manager which flag a link between procedure/administrateur coming from a SuperAdmin [target: able to avoid SuperAdmin sec issues] 2022-08-23 13:28:10 +02:00
Martin
ed20951f14 fix(conditional): within section (dark blue bg) ; use white text 2022-08-23 09:23:42 +02:00
simon lehericey
adf194cc08 fix(editeur_de_champ): can join an pj template 2022-08-11 15:01:48 +02:00
Kara Diaby
58f2f6bd9d Manager : permet au super admin de se retirer d'une démarche 2022-08-11 10:58:58 +02:00
simon lehericey
650c36e3e2 feat(conditional): add not eq operator 2022-08-10 11:59:09 +02:00
simon lehericey
00d0813292 ensure the mandatory star hint is always displayed 2022-08-09 10:29:41 +02:00
simon lehericey
898badb579 a champ is mandatory when visible with a mandatory tdc 2022-08-09 10:25:47 +02:00
Christophe Robillard
e087582f57 Can get dossier vide if procedure is closed 2022-08-05 16:00:08 +02:00
Paul Chavard
a24885c2ee feat(champ): can condition on other option 2022-08-04 15:28:54 +02:00
Paul Chavard
bbca7344e5 fix(conditional): mandatory champs inside hidden repetition should not be validated 2022-08-04 14:48:40 +02:00
Colin Darie
adced0f33a fix(revision): fix stable siblings order when there are multiple identical position
Ça arrive parfois dans les tests, et potentiellement en prod :
après avoir créé un nouveau `revision_type_de_champ`,
on se retrouve très momentanément avec 2
RTDC ayant le même position en attendant le renumérotation peu près.

https://github.com/betagouv/demarches-simplifiees.fr/blob/main/app/models/procedure_revision.rb#L55

Ceci conduisait à une renumérotation erronnée quand la db renvoyait
le nouveau RTDC créé *avant* les précédents.
2022-08-03 18:29:48 +02:00
Paul Chavard
cf315b7246 fix(autosave): on check condition requests do not send file inputs 2022-08-03 12:04:39 +02:00
Paul Chavard
fdbcdfd043 fix(utils): explicitly exclude file type from text inputs 2022-08-03 12:04:39 +02:00
Colin Darie
4a1325eadf fix(view_component): replace form_with with unaffected buffer form_tag helper
form_with/form_for have buffer issues (at least with turbo).

form_tag seems not affected.
2022-08-03 11:57:26 +02:00
Colin Darie
bc7cdb6b8e fix(contact): translate captcha honeypot label 2022-08-03 11:57:26 +02:00
Colin Darie
11a9a6f53f feat(dossier_transfer/email): require email in browser side 2022-08-03 11:44:54 +02:00
Colin Darie
d53aba4d24 fix(dossier_transfer): require a valid email
Cf #7621
2022-08-03 11:44:54 +02:00
Colin Darie
a5d5f4307f fix(dossier_transfer): avoid all transfers without valid email
Cf #7621
2022-08-03 11:44:54 +02:00
Colin Darie
8dc966feb4 fix(dossier_transfer): requires an actual email
Closes #7621
2022-08-03 11:44:54 +02:00
Colin Darie
707ea37b33
chore(sentry): tag dossier & procedure ids on dossier endpoints 2022-08-03 10:34:10 +02:00
Colin Darie
e8210e6c2b fix(agent_connect): constant path
https://sentry.io/organizations/demarches-simplifiees/issues/3248516694/?project=1429550&query=is%3Aunresolved&statsPeriod=14d
2022-08-03 10:19:45 +02:00
Paul Chavard
f48048179c fix(conditional): enable conditional per procedure 2022-08-03 09:16:10 +02:00
Paul Chavard
435a635b3d fix(procedure_presentation): find last instance of type_de_champ through coordinates 2022-08-02 15:24:52 +02:00
Paul Chavard
48a4e8bec5 chore(db): remove already dropped ignored columns 2022-08-02 15:24:52 +02:00
Martin
7f1018c5b0 feat(Users::CommencerController#commencer): ensure to redirect to replaced_by_procedure when it exisits 2022-08-02 13:08:36 +02:00
Colin Darie
4284f14ad8 fix(services): can destroy with discarded procedures
Closes #7626
2022-08-02 11:45:16 +02:00
Kara Diaby
ec3118e82c Add concern for Datagouv schedulable jobs 2022-07-29 12:25:27 +02:00
Kara Diaby
a156529394 modify export descriptif demarches job 2022-07-29 11:17:22 +02:00
Kara Diaby
d18d89b41b modify Lib Datagouv API 2022-07-29 11:17:22 +02:00
Kara Diaby
181e237cf0 add generation csv service 2022-07-29 11:17:22 +02:00
Kara Diaby
882ee74f88 Comptes créés avec FC par mois : CRON Job 2022-07-29 11:17:22 +02:00
Kara Diaby
dc1d0ce071 Démarches supprimées par mois : CRON Job 2022-07-29 11:17:22 +02:00
Kara Diaby
4a29162c6c Démarches closes par mois : CRON Job 2022-07-29 11:17:22 +02:00
Kara Diaby
999059269e Instructeurs connectés par mois : CRON Job 2022-07-29 11:17:21 +02:00
Kara Diaby
8e9d1eeb6f Nombre de comptes créés par mois : CRON 2022-07-29 11:17:21 +02:00
Kara Diaby
b48a48980a Nombre de dossiers créés par mois : CRON 2022-07-29 11:17:21 +02:00
Kara Diaby
9fa54c3cc8 Nombre de démarches créés par mois : CRON 2022-07-29 11:17:21 +02:00
Kara Diaby
e0dc36926e Nombre d'instructeurs créés par mois : CRON 2022-07-29 11:17:21 +02:00
Kara Diaby
a0a3c6c0ee Administrateurs crées par mois : CRON Job 2022-07-29 11:17:20 +02:00
Paul Chavard
782af3322a fix(patron): when rendering “patron” champs should have dossier 2022-07-28 12:10:32 +02:00
Paul Chavard
31d80d80bd fix(dossier): prevent users from removing mandatory fiels after submission 2022-07-28 11:19:47 +02:00
Paul Chavard
b616a4c1e9 fix(stats): remove Helpscout from stats page 2022-07-27 18:26:25 +02:00
Colin Darie
197fa54ea4 fix(archives): purge stuck pending archives
Cf 0cb096b3d6440a4da05ca2902ed6fa72a93e6579
2022-07-27 15:26:59 +02:00
Colin Darie
f1957e51f8 fix(exports): purge stuck (pending) exports, not generated or failed
Avec l'autre PR, ça reproduit le comportement d'avant, c'est à dire
que quoiqu'il arrive un export est purgé :
- soit 16h après sa génération (on a 16h pour le télécharger)
- soit 12h après sa création, et qu'il est bloqué

Auparavant, tous les exports étaient purgés au bout de 3h quelle que soit
le statut.
2022-07-27 15:26:59 +02:00
Colin Darie
bd788ec6bf fix(manager/archives): status => job_status
Closes #7614
2022-07-27 15:26:59 +02:00
Colin Darie
4699d15853 fix(archives): don't fail when there are no weight estimation
A priori ça peut arriver lorsqu'il n'y a pas de dossier terminé sur une procédure

Closes #7615
2022-07-27 15:12:18 +02:00
Christophe Robillard
c8abe092c1 display alert message when no email is given for an invite
no exception is raised anymore in this case
2022-07-27 15:05:00 +02:00
Colin Darie
d4f8f05dec fix(admin/attestation): page layout because of too larger input#size attribute 2022-07-27 14:26:00 +02:00
Paul Chavard
8cba80116e fix(types_de_champ): fix exception on validation errors 2022-07-26 18:17:48 +02:00
Colin Darie
67d2cb2061 chore(schema): add exports#job_status
Same behavior as Archive

On destroy tous les exports existants qui n'ont pas cette notion de status.
2022-07-26 17:53:24 +02:00
Colin Darie
6845b2ed08 fix(export): fix PurgeStaledExportsJob regression with stale scope
cc #7547
2022-07-26 14:26:22 +02:00
Paul Chavard
c2091e0978 refactor(vite): use turbo-polyfills 2022-07-26 13:07:24 +02:00
Paul Chavard
0f9983e93a feat(types_de_champ): allow siret in repetition blocks 2022-07-26 12:59:58 +02:00
Paul Chavard
03fbe506f6 perf(graphql): benchmark demarches_publiques query 2022-07-26 12:54:10 +02:00
simon lehericey
369141c7f7 Fix(procedure library): replace infinite list by a basic search 2022-07-26 12:38:05 +02:00
Paul Chavard
4276745338 fix(autosave): morph instead of replace to preserve controller instances 2022-07-26 11:15:10 +02:00
Paul Chavard
01c0b4350b fix(autosave): error.message can be readonly 2022-07-26 11:02:15 +02:00
Colin Darie
cdbee11c2e chore(patron): drop down list with other input 2022-07-25 13:45:37 +02:00
Colin Darie
9597b3b4b7 style(champ): remove placeholder of drop down other input, since it's not recommended anymore 2022-07-25 12:37:38 +02:00
Colin Darie
865c8c5af0 fix(champ): let auto input width in "other input" dropdown.
On unset explicitement l'attribut `size` pour ne pas que l'helper
`text_field` réutilise la valeur de maxlength et vienne faire déborder
l'input.
2022-07-25 12:36:37 +02:00
Colin Darie
2364e2dda5 feat(graphql): expose entreprise etat_adminitratif 2022-07-25 10:58:02 +02:00
Colin Darie
11cd73b4ac feat(export/csv): list etablisement entreprise_etat_administratif 2022-07-25 10:58:02 +02:00
Colin Darie
e53b6e4e77 feat(export/pdf): list entreprise etat_administratif in "demandeur" section 2022-07-25 10:58:02 +02:00
Colin Darie
22fed3d9de feat: show entreprise etat "en activité" | "fermé in entreprise summary
Closes #7505
2022-07-25 10:58:02 +02:00
Colin Darie
f05e9331a7 chore(entreprises): save etat_administratif from API 2022-07-25 10:58:02 +02:00
Colin Darie
e1d3d1f844 chore(schema): add entreprise_etat_administratif to etablissements 2022-07-25 10:58:02 +02:00
Martin
3e56fdd1d7 fix(export): when it takes more than 3 hours, exports are purge before being generated. make it possible to have an export that takes more than 3 hours and share this behaviour with kind of same class archive 2022-07-25 10:48:54 +02:00
simon lehericey
0d3856e84a fix(conditional): handle incorrect user input 2022-07-22 15:55:43 +02:00
Christophe Robillard
e3206f3eec rename datagouv env var 2022-07-21 21:54:15 +02:00
Christophe Robillard
906dd4b509 remove useless DATAGOUV_TMP_DIR env 2022-07-21 21:54:15 +02:00
Christophe Robillard
0e3e6eb62a add schedulable? class method to cron jobs 2022-07-21 21:54:15 +02:00
Christophe Robillard
bed6167010 use specific namespace for datagouv cron jobs 2022-07-21 21:54:15 +02:00
Christophe Robillard
b6c96301ef export and publish opendata demarches 2022-07-21 21:54:15 +02:00
Christophe Robillard
77a9a2ba12 can upload file to datagouv 2022-07-21 21:54:15 +02:00
Christophe Robillard
d294feabe3 gzip demarches publiques export 2022-07-21 21:27:27 +02:00
Paul Chavard
d9eea35ae8 fix(dossier): decoralate dropdown behaviour from autosave 2022-07-21 18:40:16 +02:00
Paul Chavard
7425744f9f refactor(procedure): move cards to components 2022-07-21 18:07:56 +02:00
Paul Chavard
8532c71036 perf(dossier.pdf): use DossierPreloader to generate pdf 2022-07-21 15:02:29 +02:00
Paul Chavard
3e40b6d7bc fix(graphql): handle annotations inside blocks 2022-07-21 14:54:14 +02:00
Paul Chavard
260d8d2fec perf(graphql): add graphql benchmark 2022-07-21 12:29:08 +02:00
Paul Chavard
902dc678de perf(graphql): improuve dossier loading 2022-07-21 12:29:08 +02:00
Paul Chavard
042703cead refactor(dossier): extract dossier preloader 2022-07-21 12:29:08 +02:00
Paul Chavard
1fe82a956e fix(dossier.pdf): load all types_de_champ (including repetitions) 2022-07-21 11:56:23 +02:00
simon lehericey
5d5f46b4d8 instances : prawn does not like svg
win 10% on pdf generation
2022-07-20 15:48:16 +02:00
simon lehericey
821fd2394b small refactor 2022-07-20 15:48:16 +02:00
simon lehericey
ca8dc34196 preload all tdc once for all 2022-07-20 15:48:16 +02:00
simon lehericey
4dbd44d72a includes stuff 2022-07-20 15:48:16 +02:00