Commit graph

10552 commits

Author SHA1 Message Date
Colin Darie
95ceee38c7
chore(form): don't try to put invalid group classes for non fillable inputs 2023-09-28 18:33:28 +02:00
Colin Darie
60882e0844
chore(form): respect dsfr fr-fieldset and elements expected markup 2023-09-28 18:33:26 +02:00
Martin
d8220395c8 amelioration(usagers.dossiers.erreurs): ETQ usager, lorsque je soumets un dossier avec des erreurs, le format des erreurs est au format du DSFR
Update app/components/dossiers/errors_full_messages.rb
Update app/components/dossiers/errors_full_messages/errors_full_messages.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>
2023-09-28 17:50:47 +02:00
Colin Darie
0920b97e4d fix(admin/archives): fix markup axe issue 2023-09-28 15:34:09 +02:00
Colin Darie
75bf30bed2
feat(champ-numbers): format value in input to a backend compatible value 2023-09-28 15:26:35 +02:00
Colin Darie
123114be81
fix(conditional): don't .to_i/to_f => 0 an invalid number 2023-09-28 15:26:34 +02:00
Colin Darie
aac7de208f
chore(champs-number): render as text input to validate them when invalid
Les input=number n'ont pas de value lorsque la valeur saisie n'est pas un
nombre. Par conséquent dans ces cas là, nous ne pouvions faire remonter
au backend pour validation / enregistrement, et il n'y avait aucun
feedback signalement l'erreur à l'usager.

On les convertit en inputs texte, avec les adaptations nécessaires
pour montrer le pavé numérique sur mobile, et un style correct.
2023-09-28 15:26:33 +02:00
Colin Darie
d4198869fb
chore(exports): dropdown menu re-uses the same pending export or create a fresh one
Pour permettre d'avoir des données fraiches dans un export tout
en conservant l'historique des exports,
la demande d'export depuis le menu créé toujours un nouvel export sauf:
- si un autre export identique est déjà en préparation
- si un autre export identique s'est terminé il y a moins de 5 minutes

Co-Authored-By: Lisa Durand <lisa.c.durand@gmail.com>
2023-09-28 15:23:31 +02:00
Colin Darie
d9687f7418
chore(exports): minor wording improvements and clarifications 2023-09-28 12:35:26 +02:00
Colin Darie
ec46faf690
fix(exports): don't duplicate exports when belonging to multiple groupe instructeurs 2023-09-28 12:35:24 +02:00
mfo
00a6d02d21
fix(exports): block exports page to super admins so they can't download exports 2023-09-28 12:35:23 +02:00
Colin Darie
2283c7eba7
test(exports): minimal coverage for ExportLinkComponent 2023-09-28 12:35:22 +02:00
Colin Darie
daa8eac9cc
style(exports): download link instead of button 2023-09-28 12:35:21 +02:00
Colin Darie
307ba68970
feat(exports): humanize status name 2023-09-28 12:35:20 +02:00
Colin Darie
3af93735a3
feat(exports): turbo poll for pending exports 2023-09-28 12:35:19 +02:00
Colin Darie
ed057737a5
feat(exports): name the dossiers count 2023-09-28 12:35:18 +02:00
Lisa Durand
c7cd5d2189
improve UX for export page 2023-09-28 12:35:16 +02:00
Lisa Durand
58a143b2c7
improve wording and display for export page 2023-09-28 12:35:15 +02:00
Lisa Durand
282df1b44b
add link to export page in flash message for instructeur 2023-09-28 12:35:14 +02:00
Colin Darie
a867c9a998
feat(instructeurs): notification badge when a new export has been generated
Co-Authored-By: Lisa Durand <lisa.c.durand@gmail.com>
2023-09-28 12:35:13 +02:00
Colin Darie
99f5b39dbb
fix(exports): force regenerate export with same statut filter
Co-Authored-By: Lisa Durand <lisa.c.durand@gmail.com>
2023-09-28 12:35:12 +02:00
Colin Darie
edb030bb4c
refactor(exports): regenerating exports redirect (back) to exports page
Co-Authored-By: Lisa Durand <lisa.c.durand@gmail.com>
2023-09-28 12:35:11 +02:00
Colin Darie
ca0b5c9cb9
refactor(exports): destroy errorable on force to ensure we have fresh export
Il semblerait que le destroy échoue parfois silencieusement pour une raison
inconnue, ce qui empêche le create_or_find_export de se dérouler
à cause de la contrainte d'unicité (il rollback), ce qui conduit ensuite
à un comportement inattendu: re-téléchargement de l'ancienne archive
alors qu'on voulait la regénérer.

Co-Authored-By: Lisa Durand <lisa.c.durand@gmail.com>
2023-09-28 12:35:09 +02:00
Colin Darie
fc66f4b05d
refactor(exports): drop useless exports relation dependency for exports dropdown
Since the dropdown does not list download links anymore,
we don't have to pass them a dynamic exports list.

Co-Authored-By: Lisa Durand <lisa.c.durand@gmail.com>
2023-09-28 12:35:08 +02:00
Colin Darie
82dd05c189
chore(exports): finders by groupe instructeurs compatible across exports components
Co-Authored-By: Lisa Durand <lisa.c.durand@gmail.com>
2023-09-28 12:35:07 +02:00
Lisa Durand
5a571a3535
create export page to list all the exports and remove links from the dropdown 2023-09-28 12:35:04 +02:00
simon lehericey
23b68fa5aa pj_migration: destroy blob if not found 2023-09-28 10:41:33 +02:00
Lisa Durand
a559bf54eb
Merge pull request #9517 from demarches-simplifiees/change-tabs-for-instructeur-dashboard-ldu
[instructeur] Mettre en avant les démarches closes avec des dossiers à traiter
2023-09-28 07:32:07 +00:00
Lisa Durand
db4c8619a9
Update app/views/instructeurs/procedures/index.html.haml
Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-09-27 16:51:44 +02:00
Lisa Durand
91018d8f8f
Update app/controllers/instructeurs/procedures_controller.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-09-27 16:51:07 +02:00
Lisa Durand
46e492496e
Update app/controllers/instructeurs/procedures_controller.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-09-27 16:50:55 +02:00
Colin Darie
2cc2c9f77d
Merge pull request #9520 from demarches-simplifiees/filter-instructeur-exclude-en-attente-ldu
[instructeur] je veux pouvoir filtrer les dossiers "en construction" sans avoir ceux "en attente de corrections"
2023-09-27 11:57:35 +00:00
krichtof
63ca98b5b6
Merge pull request #9529 from demarches-simplifiees/fix-contact-information
Fix contact information
2023-09-27 11:33:41 +00:00
Christophe Robillard
2a39cfead7 fix: display contact info on footer of notif mail 2023-09-27 12:49:24 +02:00
Christophe Robillard
6035a16ecc fix: can display contact_info nom on footer 2023-09-27 12:09:00 +02:00
Eric Leroy-Terquem
774e375f44 feat(conditional): can condition on departement champ value 2023-09-27 10:22:12 +02:00
Lisa Durand
129230af88 exclude dossiers with pending correction when instructeur filters on 'en_construction' 2023-09-26 16:36:39 +02:00
krichtof
da62a5ec79
Merge pull request #9518 from demarches-simplifiees/9497-description-champs
ETQ usager, je suis aidé à la saisie par une description des champs
2023-09-26 13:58:02 +00:00
Christophe Robillard
abad463bb1 remove placeholder for decimal number component 2023-09-25 18:17:04 +02:00
Christophe Robillard
168616b8c6 remove placeholder for phone component 2023-09-25 18:17:04 +02:00
Christophe Robillard
18e5c32363 remove placehoder for rna component 2023-09-25 18:17:04 +02:00
Christophe Robillard
8bacb30e36 remove placeholder for iban component 2023-09-25 18:17:04 +02:00
Christophe Robillard
bd3f7eeb38 remove placeholder for siret component 2023-09-25 18:17:04 +02:00
Christophe Robillard
ae08f044ed remove placeholder for email component 2023-09-25 18:17:04 +02:00
Christophe Robillard
3ff7bc7234 display max size and format as hint 2023-09-25 18:17:04 +02:00
Christophe Robillard
e972514ec6 remove useless blank line 2023-09-25 18:17:04 +02:00
Christophe Robillard
9c2c378588 use model locales for titre identite hint 2023-09-25 18:17:04 +02:00
Lisa Durand
a4c79e953b change 'published' tabs by 'en cours' to highlight closed procedure with 'en cours' files 2023-09-25 15:34:37 +02:00
krichtof
f019f1e316
Merge pull request #9345 from adullact/feature-ouidou/existing_procedure_hidden_as_template
ETQ superadmin, je peux masquer une démarche de la liste des démarches proposées à la création
2023-09-25 08:46:31 +00:00
Eric Leroy-Terquem
1060aadff7
Merge pull request #9504 from demarches-simplifiees/do-not-route-cloned-procedures-if-admin-is-different
Correction : désactive le routage des procédures clonées si l'admin n'est pas aussi admin de la procédure parente
2023-09-22 09:10:42 +00:00
Colin Darie
da06295191 chore(attestation): improve groupe instructeurs signature wording
Co-Authored-By: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2023-09-22 10:24:16 +02:00
Colin Darie
d231ec35f4 refactor(attestation): groupe instructeur add signature shared
Co-Authored-By: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2023-09-22 10:24:16 +02:00
Colin Darie
4c7664d61c fix(admin): missing siret & service alert don't override action alert
Co-Authored-By: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2023-09-22 10:24:16 +02:00
Colin Darie
934e86a465 refactor(attestation): groupe instructeur signature shared
Co-Authored-By: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2023-09-22 10:24:16 +02:00
Christophe Robillard
c02e6f2a77 feat(groupe-instructeur): instructeur can add signature in attestation 2023-09-22 10:24:16 +02:00
Colin Darie
ad10335888 feat(groupe-instructeur): admin can preview signature in attestation
Co-Authored-By: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2023-09-22 10:24:16 +02:00
Colin Darie
3e1678c17a chore(attachments): always render allowed formats when list is short
Co-Authored-By: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2023-09-22 10:24:16 +02:00
Colin Darie
44578ba65c fix(attachment): keep direct_upload behavior in poll url
Co-Authored-By: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2023-09-22 10:24:16 +02:00
Christophe Robillard
c121a8b2dc admin can add groupe_instructeur signature 2023-09-22 10:24:16 +02:00
Christophe Robillard
5482863eea add signature to groupe_instructeur 2023-09-22 10:24:16 +02:00
Christophe Robillard
7529294845 fix: uninterlace only interlaced png 2023-09-22 10:24:16 +02:00
Christophe Robillard
46edaed6bc extract uninterlace_png method 2023-09-22 10:24:16 +02:00
seb-by-ouidou
d29bbf6d4f
Merge branch 'main' into feature-ouidou/existing_procedure_hidden_as_template 2023-09-21 15:53:38 +02:00
seb-by-ouidou
5b9423bab3 fix: remove hidden_at_as_template from filter 2023-09-21 13:50:23 +00:00
Eric Leroy-Terquem
70cc8dac4c fix(procedure): do not route cloned procedures from different admin 2023-09-21 15:24:17 +02:00
Eric Leroy-Terquem
5e4d96654f fix(dossier clone): always rebase cloned dossiers 2023-09-21 13:50:40 +02:00
Martin
04fe3ad2b6 correctif(repetition.commune): ETQ usager, lorsque j'ai plus d'une repetition ayant un champ commune, les ids des options des input[type=radio] des communes partageant le meme code postal ne sont pas uniques, on boucle sur la 1ere repetition 2023-09-20 17:56:17 +02:00
simon lehericey
4a17dec87b refactor procedure_controller 2023-09-20 14:11:10 +02:00
simon lehericey
40a15b9be4 refactor dossier_controller 2023-09-20 14:11:10 +02:00
simon lehericey
c248f96f31 fixup base controller 2023-09-20 14:11:10 +02:00
simon lehericey
118242dbd2 refactor api_controller 2023-09-20 14:11:09 +02:00
simon lehericey
2664c3671f api_tokens_controller: only use turbo 2023-09-20 14:11:09 +02:00
simon lehericey
954c5334ef use new procedure in view 2023-09-20 14:11:09 +02:00
simon lehericey
9047c2a7de api_tokens_controller: extract become full_access 2023-09-20 14:11:09 +02:00
simon lehericey
9b440b6c44 api_tokens_controller: extract disallow_procedure 2023-09-20 14:11:09 +02:00
simon lehericey
2a109d3aa4 api_tokens_controller: use before_action set_api_token 2023-09-20 14:11:09 +02:00
simon lehericey
01efae960b fix component 2023-09-20 14:11:09 +02:00
simon lehericey
05a8fd8ee1 refactor of api_token 2023-09-20 14:11:09 +02:00
simon lehericey
24fd12ed70 explicit about different contexts 2023-09-20 14:11:09 +02:00
simon lehericey
f434c6a6ad refactor: try base controller 2023-09-20 14:11:09 +02:00
simon lehericey
40ed59a231 rename find_and_verify => authenticate 2023-09-20 14:11:09 +02:00
simon lehericey
87933d3567 introduce token bearer 2023-09-20 14:11:09 +02:00
simon lehericey
0b03ba4d68 remove v1/v2 api token logic 2023-09-20 14:11:09 +02:00
Lisa Durand
83957a41cd add min height for table with max 2 files to display dropdown 2023-09-19 17:50:38 +02:00
seb-by-ouidou
0d2cd0fe5d feat(procedure): hide as template 2023-09-19 11:21:27 +00:00
Paul Chavard
b1dc376d1d fix(champs-editor): add dsfr classes to select elements 2023-09-19 11:09:29 +02:00
Paul Chavard
cf3a35724c fix(champs-editor): remove unnecessary background color 2023-09-19 11:09:09 +02:00
LeSim
e6f8400cfd
Merge pull request #9477 from demarches-simplifiees/can-route-from-epci-champ
ETQ admin je peux router par département depuis le champ EPCI
2023-09-19 08:21:26 +00:00
LeSim
29c52d191e
Merge pull request #9487 from mfo/US/fix-expert-invitation
correctif(expert.invite-autre-expert): ETQ expert, je ne pouvais pas demander d'autres avis d'expert
2023-09-19 08:16:53 +00:00
LeSim
3f9f7d59a2
Merge pull request #9489 from colinux/form-identity-siret-dsfr
ETQ usager le form pour renseigner son SIRET passe au DSFR et est dispo en anglais
2023-09-19 08:14:03 +00:00
Colin Darie
bccad19e13
chore(siret): translate identity siret form 2023-09-18 19:11:27 +02:00
mfo
25d7333ac3
Update app/controllers/experts/avis_controller.rb
Co-authored-by: Colin Darie <colin@darie.eu>
2023-09-18 16:55:07 +02:00
Colin Darie
8358fec884
fix(prefill): don't create Individual for non-individual procedures
Closes #9486
2023-09-18 16:45:02 +02:00
Martin
aa10f23b43 correctif(expert.invite-autre-expert): ETQ expert, je ne pouvais pas demander d'autres avis d'expert 2023-09-18 16:23:42 +02:00
Colin Darie
3be39f5a58 style(identite): passe le form d'identité siret au DSFR 2023-09-18 15:05:31 +02:00
Paul Chavard
ae2d9bba47
Merge pull request #9479 from tchak/graphql-fix-pending-deleted-dossiers-sort
fix(graphql): improuve sort for pending deleted dossiers
2023-09-18 09:17:26 +00:00
mfo
2e2782c8b0
Merge pull request #9478 from mfo/US/fix-manager-dossier-show
correctif(manager#dossiers/show): ETQ superadmin, l'affichage d'un dossier pouvait timeouter car non préloadé
2023-09-18 08:36:54 +00:00
Martin
d203ab2321 amelioration(mail.invitation_instructeur): ajout d'une mention à AgentConnect ds le mail d'invitation des instructeurs
Update app/views/agent_connect/agent/index.html.haml

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

Update app/views/agent_connect/agent/index.html.haml

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

Update app/views/agent_connect/agent/index.html.haml

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

Update config/locales/views/agent_connect/agent/fr.yml

Co-authored-by: Colin Darie <colin@darie.eu>
2023-09-18 09:48:41 +02:00
Eric Leroy-Terquem
aac9182ce4 wording(routing): update routing configuration notice 2023-09-18 09:32:07 +02:00
Eric Leroy-Terquem
967139ec88 feat(routing): make routing engine work with epci champ 2023-09-18 09:32:07 +02:00
Eric Leroy-Terquem
588143f9fd feat(routing): can create simple routing from epci tdc 2023-09-18 09:32:07 +02:00
Eric Leroy-Terquem
60e5abd266 feat(routing): add departements options to value tag if routing by epci 2023-09-18 09:32:07 +02:00
Eric Leroy-Terquem
cf7c7d9761 feat(routing): add epci to routable_types_de_champ 2023-09-18 09:32:07 +02:00
Martin
876e5ef231 amelioration(design): utilise le modele du dsfr pour avoir les boutons en pleinne largueur sur les page de connexion/creation de compte 2023-09-15 17:42:27 +02:00
Martin
038b4cd10b amelioration(agent_connect): ameliore le design pour fitter aux maquettes ainsi que change le message comme quoi la feature est dispo pour tous 2023-09-15 17:42:27 +02:00
Paul Chavard
21b9a491cb fix(graphql): improuve sort for pending deleted dossiers 2023-09-15 16:15:43 +02:00
Paul Chavard
fb917a221d feat(combobox): use ComboboxComponent on drop_down_list champs 2023-09-15 14:49:13 +02:00
Paul Chavard
85024174d4 feat(combobox): implement ComboboxComponent 2023-09-15 14:48:25 +02:00
Paul Chavard
bea8cba6ce feat(combobox): implement ComboboxController 2023-09-15 14:48:25 +02:00
Paul Chavard
1a531d018f feat(combobox): implement ComboboxUI 2023-09-15 14:48:25 +02:00
Paul Chavard
628bef562b feat(combobox): implement Combobox 2023-09-15 14:48:25 +02:00
Martin
720056e844 correctif(manager#dossiers/show): preload un dossier sur le manager 2023-09-15 11:34:20 +02:00
Eric Leroy-Terquem
0454d2066e
Merge pull request #9474 from demarches-simplifiees/can-route-from-commune-champ
ETQ admin je peux router par département depuis un type de champ communes
2023-09-15 08:18:24 +00:00
Eric Leroy-Terquem
956048ffea refactor(type de champ): extract routable? method 2023-09-15 10:02:14 +02:00
Lisa Durand
7311bcebb9
Merge pull request #9363 from demarches-simplifiees/dashboard-usager/make-search-work-with-procedure-filter
[refonte usager] Tableau de bord - rendre recherche complémentaire avec filtre par procédure
2023-09-13 12:55:42 +00:00
Colin Darie
f28739d648
Merge pull request #9372 from colinux/svr
Admin: permet l'activation du SVR
2023-09-13 12:08:39 +00:00
Colin Darie
50a5e363bd
fix(pdf): enlève des espaces insécables qui étaient affichés comme "?" dans le pdf 2023-09-13 13:50:27 +02:00
Colin Darie
680919a68f
feat(svr): instructor filters with svr wording specific 2023-09-13 13:50:26 +02:00
Colin Darie
d7a9bee63e
feat(svr): instructor menu actions with svr actions 2023-09-13 13:50:25 +02:00
Colin Darie
d7297067af
fix(sva): examples dates in documentation 2023-09-13 13:50:24 +02:00
Colin Darie
e8000adecf
feat(svr): refuses automatically a dossier 2023-09-13 13:50:23 +02:00
Colin Darie
69e673e47e
feat(svr): enablable from configuration 2023-09-13 13:50:22 +02:00
Eric Leroy-Terquem
632314bc0e wording(routing): update routing configuration notice 2023-09-13 10:45:21 +02:00
Eric Leroy-Terquem
46ff36c2bc feat(routing): make routing engine work with commune champ 2023-09-13 10:45:21 +02:00
Eric Leroy-Terquem
370d853378 feat(routing): can create simple routing from communes tdc 2023-09-13 10:45:21 +02:00
Eric Leroy-Terquem
d1cf60585a feat(routing): add departements options to value tag if routing by communes 2023-09-13 10:45:20 +02:00
Eric Leroy-Terquem
50d0587a81 feat(routing): add communes to routable_types_de_champ 2023-09-13 10:45:20 +02:00
Eric Leroy-Terquem
97bfdc774d wording(routing): update routing configuration notice 2023-09-13 10:22:01 +02:00
Eric Leroy-Terquem
d37fb90b2f feat(routing): make routing engine work with region champ 2023-09-13 10:22:00 +02:00
Eric Leroy-Terquem
e255bb9929 refactor(routing): extract methods to create groups from tdcs 2023-09-13 10:22:00 +02:00
Eric Leroy-Terquem
c2beca7d6d feat(routing): can create simple routing from regions tdc 2023-09-13 10:22:00 +02:00
Eric Leroy-Terquem
e9760e5aa3 feat(routing): add regions options to value tag 2023-09-13 10:22:00 +02:00
Eric Leroy-Terquem
5afaa458e2 feat(routing): add regions to routable_type_de_champ 2023-09-13 10:22:00 +02:00
Colin Darie
c9bde31ef2
Merge pull request #9470 from colinux/improve-watermark
ETQ instructeur: nouveau filigrane des titres d'identité qui améliore la lisibilité des images
2023-09-12 12:09:58 +00:00
Colin Darie
201b31bf36
refactor(watermark): small text based watermarked to increase document visibility 2023-09-12 13:04:31 +02:00
LeSim
fdb30b9546
Merge pull request #9471 from demarches-simplifiees/feat/9467
ETQ Instructeur, je souhaite avoir un autocomplete lorsque je demande l'avis aux experts
2023-09-12 07:51:22 +00:00
LeSim
31db8429b3
Merge pull request #9475 from colinux/favicons-updates
Favicons: ajout de l'apple touch icon + mise à jour avec vraies couleurs de la charte graphique
2023-09-12 07:45:54 +00:00
LeSim
fc4d59ec7b
Merge pull request #9469 from demarches-simplifiees/fix_doomed_archive_creation_job
fix(archive): ne réessaye de construire une archive périmée
2023-09-12 07:43:19 +00:00
Colin Darie
6e5c466e57 style: update favicons with chart color, apple touch icon and shortcuts names 2023-09-11 17:48:12 +02:00
Kara Diaby
7472b17009 Autocomplete pour instructeurs qui veulent affecter un expert au dossier, avec tous les experts sollicités sur la démarche 2023-09-11 09:13:04 +00:00
Lisa Durand
2f5310a470
Merge pull request #9457 from demarches-simplifiees/create-export-page-ldu
Reorganisation des boutons sur l'interface instructeur
2023-09-11 07:59:20 +00:00
krichtof
5aabce488b
Merge pull request #9425 from demarches-simplifiees/9356-service-gi
ETQ Usager, je veux voir dans mon dossier les informations de contact de mon groupe instructeur
2023-09-11 07:38:34 +00:00
Christophe Robillard
5b9fbf40ed fix: admin is redirected to admin groupe instructeur page
after creating or editing groupe instructeur service
2023-09-11 08:58:04 +02:00
Christophe Robillard
c5d02cdd6a display telephone and horaires of service
even if the dossier is not in brouillon state
2023-09-11 08:58:04 +02:00
Christophe Robillard
587960cfd9 clone groupe instructeur service
if admin owns original procedure
2023-09-11 08:58:04 +02:00
Christophe Robillard
fa70cffa31 display groupe instructeur service for admin 2023-09-11 08:58:04 +02:00
Christophe Robillard
af195d9158 display for user groupe instructeur service when available 2023-09-11 08:58:04 +02:00
Christophe Robillard
e9ff4292fa instructeur can destroy groupe instructeur service 2023-09-11 08:58:04 +02:00
Christophe Robillard
41b2c9355b instructeur can update contact information for groupe instructeur 2023-09-11 08:58:04 +02:00
Christophe Robillard
ba0d3fa678 instructeur can create contact information for groupe instructeur 2023-09-11 08:58:03 +02:00