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
simon lehericey
b9ad3bbce1
extract procedure
2022-07-20 15:48:16 +02:00
simon lehericey
9c73bf1932
batch it
2022-07-20 15:48:16 +02:00
Martin
87af7f3261
feat(exports): implement admin export
2022-07-20 14:08:33 +02:00
simon lehericey
72583f846b
champ value return nil if champ is hidden
2022-07-20 11:23:57 +02:00
Paul Chavard
e85fe71887
fix(champ): allow to submit when secondary options are empty
2022-07-20 10:49:07 +02:00
Paul Chavard
9fec11bfd0
refactor(dossier): use size and empty? instead of count
2022-07-19 11:11:46 +02:00
Paul Chavard
1657605ef1
fix(dossier): do not include preview dossiers in dossiers counts
2022-07-19 11:11:46 +02:00
Martin
850f9375b7
fix(ujs-error-handling): sometimes body is not yet ready,other calls regarding ajax namespace are wired on document, copy/paste
2022-07-19 10:52:55 +02:00
Martin
5932f2a1f6
fix(MutationObserver): IE 11 kind of silent error: https://stackoverflow.com/questions/50593385/mutationobserver-syntax-error-on-ie-11
2022-07-19 10:52:55 +02:00
simon lehericey
2d26ba3507
fix: binary operator computes false by default
2022-07-19 10:11:24 +02:00
Paul Chavard
0578f4f305
fix(champ): use safe_join in champ helpers
...
fix #7411
2022-07-18 16:29:41 +02:00
Paul Chavard
a45b76e63a
fix(gon): matomo key can be a number
2022-07-18 16:08:42 +02:00
simon lehericey
c0e8a07868
perf: 500 queries -> 250 procedure show (id: 34908)
2022-07-18 14:28:35 +02:00
simon lehericey
9cfa6205b5
perf: editor public 250 queries -> 15 queries
2022-07-18 14:28:35 +02:00
mfo
4b6ae888d2
Update app/views/administrateurs/procedures/_informations.html.haml
...
Co-authored-by: Paul Chavard <github@paul.chavard.net>
2022-07-18 14:08:53 +02:00
Martin
8ca3a9760b
feat(procedure/_information): show new policy regarding data retention [translated so other instances can adapt their support strategy]
2022-07-18 14:08:53 +02:00
Martin
05b6b462b6
feat(new_max_duree_conservation): make it configurable for other instances
2022-07-18 14:08:53 +02:00
Martin
24c8dc5829
feat(procedure.duree_conservation_dossiers_dans_ds): decrease max duree_conservation_dossiers_dans_ds from 36 to 12
2022-07-18 14:08:53 +02:00
Colin Darie
dea1ce40a9
feat(dossier): allows user to edit identity from a brouillon dossier
...
Closes #7386
2022-07-18 09:57:19 +02:00
Colin Darie
d3232a28cd
chore(api_entreprise): intercept token expiration for a more contextual frontend message
...
Auparavant le service échouait silencieusement et ne retournait rien,
ce qui dans les implémentations du front aboutissait au message que
l'établissement/l'entreprise n'a pas été trouvé.
Un type d'erreur spécifique sur l'expiration du token permet d'afficher
le message lié à un problème temporaire de récupération d'infos.
2022-07-18 09:57:19 +02:00
Colin Darie
1c96ca59dd
style(combo): better inputs sizes for pays/regions/departement/communes champs
2022-07-18 09:48:35 +02:00
Colin Darie
71e7f51753
style(champ): remove generic placeholders because new DSFR don't like placeholders in input
2022-07-18 09:48:35 +02:00
Colin Darie
bf20bcf476
style(champ): fix date input width on mobile
2022-07-18 09:48:35 +02:00
Colin Darie
7f7e192df9
style(champs): each composite inputs on its own line (cnaf, dgfip…) with standard width
2022-07-18 09:48:35 +02:00
Colin Darie
ac9313ac69
style: better invitation email width
2022-07-18 09:48:35 +02:00
Colin Darie
44823ddd32
style(champs): reduce width of small inputs
...
Closes #7427
Cf #7387
Quelques considérations :
- l'attribut `size` ne correspond pas exactement au nombre de caractères
qui peut être saisi (à moins d'utiliser une font monospace). On doit
donc utiliser une valeur légèrement supérieure pour être sûr que
les combinaisons navigateurs/police/taille soient suffisantes.
- on essaye d'harmoniser un peu les largeurs possibles, donc on utilise
un size=20 qui correspond bien à plusieurs champs concernés
- délicat d'harmoniser avec max-width car les champs de type number &
date ajoutent des outils/icones à droite de l'input
J'en ai profité pour définir de vrais placeholders pour les champs de
type number.
2022-07-18 09:48:35 +02:00
Colin Darie
b68a62f6b3
fix: CSS warning: float elements ignore display: inline-block
2022-07-18 09:48:35 +02:00
Paul Chavard
98a0bc8c71
refactor(condition): use dom_id with stable_id
2022-07-13 15:38:43 +02:00
Paul Chavard
0adfd92213
refactor(condition): use standard revision change ops
2022-07-13 15:32:25 +02:00
simon lehericey
2cad0e11d3
display condition change between version
2022-07-13 15:10:23 +02:00
simon lehericey
00c4076b32
conditions_component use stable_id
2022-07-13 12:38:52 +02:00
Paul Chavard
d00a91aea5
feat(dossier): check conditions on en construction dossier
2022-07-13 10:49:17 +02:00
Paul Chavard
e82f0fd0c8
feat(dossier): exclude conditionally invisible fields from instructeur interface
2022-07-12 17:33:42 +02:00
Paul Chavard
0f9d8b6a39
feat(dossier): exclude conditionally invisible fields from mandatory check
2022-07-12 17:33:42 +02:00
Paul Chavard
120b593015
feat(dossier): toggle conditional champs visibility
2022-07-12 17:33:42 +02:00
simon lehericey
53fe3c3dd8
fix: remove condition from annotations and children
2022-07-12 14:17:05 +02:00
simon lehericey
6f7fb9841c
fix: make edition annotation work again
2022-07-12 14:17:05 +02:00
Paul Chavard
24aae95c63
fix(react): prevent warning about controlled inputs
2022-07-12 11:47:33 +02:00
Paul Chavard
a4681d8832
refactor(autosave): improuve events handling
2022-07-12 11:47:33 +02:00
Colin Darie
d805114a72
Revert "feat(revision): list updated placeholder option for generic type de champ"
...
This reverts commit fe0282e904
.
Continue 2bd33ada45b036f73f3fc78150621092e0667693
2022-07-12 11:37:58 +02:00
Colin Darie
8c08d0295b
Revert "feat(champ): customizable placeholders for text & textarea champs"
...
This reverts commit 9e26ee932e
.
Finalement les champs génériques ne doivent pas avoir de placeholder
personnalisable, ce sera uniquement via la description.
2022-07-12 11:37:58 +02:00
Paul Chavard
1c8efea465
fix(preview): gon should not crash on preview pages
2022-07-12 11:16:41 +02:00