Commit graph

7958 commits

Author SHA1 Message Date
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