Commit graph

7907 commits

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