Paul Chavard
33fc8a45ab
feat(emails): show email errors on procedure page
2022-11-04 09:08:41 +00:00
Paul Chavard
dd4c1f2fac
feat(emails): validate tags in notification emails
2022-11-04 09:08:41 +00:00
Paul Chavard
91a662fdb9
fix(graphql): make sure dossiers are always loaded with appropriate scope
2022-11-02 11:25:26 +01:00
Kara Diaby
661e5f78ac
model
2022-11-02 10:19:43 +01:00
Martin
ef2064a603
nettoyage(Traitement): supprime une methode morte
2022-11-01 12:43:49 +01:00
Martin
1b1568b2c2
remaniement(Administrateurs::ArchivesController): ne passe pas par la table des traitement pour compter le nombre de dossier traites par mois. Depuis que nous avons redescendu la colonne processed_at sur la table dossiers, ce n'\est plus necessaire et le code est compliqué a comprendre
2022-11-01 12:43:49 +01:00
Martin
cb1726366f
correctif(administrateur/procedure/archives#index): ne pas utiliser la table des traitement pour la comptabilisation du nombre de dossier dans une archive car si le dossier a ete accepte [mois n-1], repasse en instruction[mois-n1], accepte[mois-narchive], on se retrouve avec le dossier dans plusieurs archives et des compteurs confusant
2022-11-01 12:43:49 +01:00
simon lehericey
52b7886961
fix(clone): on procedure clone, discard integrity error
2022-11-01 10:17:24 +01:00
Paul Chavard
8cf9aec0f7
refactor(procedure): expose procedure tags on model
2022-10-31 19:50:25 +01:00
Christophe Robillard
9abf1c4af3
list all demarches, filtered by zones
2022-10-31 16:12:02 +01:00
Christophe Robillard
f9f31b721a
get zones of an admin
2022-10-31 16:12:02 +01:00
Martin
60dc6a3912
correctif(export.global): Export.find_for_groupe_instructeurs remonte les exports globaux même lorsqu'il y a une procedure presentation
2022-10-31 14:32:17 +01:00
Colin Darie
3a06e7e0b3
refactor(tdc): convert fill duration in Duration objects
2022-10-31 12:17:16 +01:00
Colin Darie
010c9a0dcb
feat(procedure): includes read duration of explication/non fillable champs
...
Long explications can significantly increase global fill duration,
so we can't ignore them.
Closes #7963
2022-10-31 12:17:16 +01:00
Colin Darie
7731c6ad64
feat(procedure): estimate fill duration takes account of libelle & description read time
...
Sometimes long description on types de champ
significantly increases global fill duration.
140 words per minute is a good estimate of attentive off-voice read time.
(This is independent of characters per word).
Closes #7963
2022-10-31 12:17:16 +01:00
Martin
5ced9fb431
chore(create_procedure_presentation): homogénéise l'interface sur les procédure présentation. pas d'objet 'build', sinon les export/filtres deviennent compliqués
2022-10-31 09:29:27 +01:00
Martin
50c43f4819
correct(export): la creation d'archive pour un groupe d'instructeur, avec des filtres differents et identique doit etre consistante
2022-10-31 09:29:27 +01:00
Colin Darie
9f2fa5ee1c
fix(invitation): don't fail when dossier is hidden & user signed on another account
...
Suite de 45994ff567
Cf https://sentry.io/organizations/demarches-simplifiees/issues/3422144920/events/e1c83ea74dbc410ea22aa17ef29fb329/?project=1429550
2022-10-28 08:56:03 +02:00
simon lehericey
4c98b8f01c
fix(merge): ensure service transfert always works
2022-10-27 12:44:02 +02:00
simon lehericey
44aff1a293
fix(silent_error_in_merge): raise if merge update fail
2022-10-26 23:27:53 +02:00
simon lehericey
6af4fe624a
refactor(service): explicit call to service job to avoid test side effect
2022-10-25 14:44:43 +02:00
Kara Diaby
492c7f377f
migration
2022-10-21 19:13:12 +02:00
Paul Chavard
f2e8dba8e4
fix(dossier): tag can contain non breaking space
2022-10-21 16:34:19 +02:00
Paul Chavard
d7c5dcf8bb
fix(dossier): a tag can be preceded by a -
2022-10-21 16:06:32 +02:00
Colin Darie
45994ff567
fix(invitation): when dossier is not visible anymore
...
https://sentry.io/organizations/demarches-simplifiees/issues/3422144920/
2022-10-20 09:08:36 +02:00
Martin
576aa2c1e0
amelioration(export): augment la duree de conservation des exports en cours de generation passant de 12 a 16h. augment la duree de conservation des exports generés passant de 16 à 32h
2022-10-20 06:32:41 +02:00
simon lehericey
5fa5d46d8c
fix(admin_merge): a case where 2 admins have the same service
2022-10-19 16:54:34 +02:00
Paul Chavard
5be8810da4
fix(dossier): nullify instructeur and expert id on messages when they are deleted
...
we keep email on the message so it will be used when instructeur or expert are not available
2022-10-19 11:53:10 +02:00
simon lehericey
c6e7db3622
fix(export): bug when combining revision and conditional
2022-10-18 11:53:13 +02:00
simon lehericey
fbf089d60e
refactor(dossier): rename check_mandatory_champs -> check_mandatory_and_visible_champs
2022-10-18 11:13:41 +02:00
simon lehericey
9bba2093be
refactor(champ): mandatory_blank_and_visible? -> mandatory_blank?
...
As the method does not check visibility
2022-10-18 11:13:41 +02:00
simon lehericey
7114623285
fix(champ): rewire champ.mandatory? to type_de_champ.mandatory?
...
it fixes behaviour in drop_down_list_component which add option if not mandatory (!= not required)
2022-10-18 11:13:41 +02:00
simon lehericey
528b7ec3f8
refactor(champ): add required?
...
used for the `required` html attribute. It check visibility to avoid hidden required input which prevent the form from being sent.
2022-10-18 11:13:41 +02:00
Paul Chavard
c075a4e415
fix(dossier): we should never detroy user’s dossiers in cascade
2022-10-14 14:14:51 +02:00
simon lehericey
d5d031e15d
fix(export): do not export invisible champ
2022-10-14 10:30:27 +02:00
simon lehericey
40a3fff593
perf(dossiers_controller): do not load pj template in update, -10ms
2022-10-13 22:36:56 +02:00
simon lehericey
f8ee6386b9
perf(champ): check condition.present? without json deserializationl, -6ms
2022-10-13 22:36:56 +02:00
simon lehericey
73b4ee64e6
perf(champ_value): use champ_type instead of tdc.type_champ, -22ms
2022-10-13 22:36:56 +02:00
Eric Leroy-Terquem
c6082ded09
no select for usager if only one groupe_instructeur
2022-10-13 19:49:32 +02:00
Martin
d09c47f5ce
correctif(usager.fusion): leve une erreur quand on essaie de fusionner un compte sur lui même
2022-10-13 17:00:20 +02:00
Paul Chavard
1fd1878370
feat(jobs): add request_id to jobs payload
2022-10-12 14:32:23 +02:00
Paul Chavard
7f1dd49bdc
chore(flipper): always use feature_enabled? helper
2022-10-12 14:14:30 +02:00
Damien Le Thiec
29a97fac43
Merge branch 'main' into feature/add_rna_type_de_champs
2022-10-11 18:59:45 +02:00
Damien Le Thiec
0e995c8bcc
Update app/models/champs/rna_champ.rb
...
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2022-10-11 16:34:00 +02:00
simon lehericey
7672ad3fe9
fix(editor champ): do not raise on destroy replay
2022-10-11 16:27:49 +02:00
Damien Le Thiec
73f6063c87
Merge branch 'main' into feature/add_rna_type_de_champs
2022-10-11 15:36:46 +02:00
Damien Le Thiec
2e8c0512a5
Remove skip_cleanup option
2022-10-11 15:11:51 +02:00
Damien Le Thiec
bcdc9c18ae
Remove skip_fetch_data mechanism
2022-10-11 11:52:59 +02:00
Paul Chavard
a19bf050ef
fix(iban): format iban after validation
2022-10-11 10:43:32 +02:00
simon lehericey
157c3778df
refactor(dossier_preloader): add option to laod pj_template
2022-10-10 12:31:40 +02:00
simon lehericey
7e03f0c825
refactor(dossier_preloader): add load_one api
2022-10-10 12:31:40 +02:00
simon lehericey
5920168077
refactor(dossier_preloader): preload piece_justificative_template
2022-10-10 12:31:40 +02:00
simon lehericey
1f95f68fcc
refactor(dossier_preloader): assign champ.parent
2022-10-10 12:31:40 +02:00
simon lehericey
5df76d9fec
refactor(dossier_preloader): remove weird set_inverse_instance
2022-10-10 12:31:40 +02:00
Martin
c921e6e1ee
fix(ProcedureExportService): downloadable_sorted_batch is scoped by export, no need to re-filter them via downloadablable_sorted_batch otherwise export for supprimes_recemment does not includes dossier.supprimes_recemment
2022-10-10 11:11:21 +02:00
Eric Leroy-Terquem
1177d861f4
add validation on routing_criteria_name
2022-10-10 09:48:11 +02:00
Martin
6752da40a9
test(procedure.direction): can we drop this column ?
2022-10-07 18:39:17 +02:00
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
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
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
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
0131a41266
Merge branch 'main' into feature/add_rna_type_de_champs
2022-10-05 12:38:24 +02:00
Paul Chavard
432c4690b5
feat(tags): replace regexp based parser with a parser combinator
2022-10-05 11:25:37 +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
e694ff1f60
Fix update external id after validation
2022-10-04 17:19:16 +02:00
Martin
7125e8538a
clean(engagement): remove last pieces of engagement champs
2022-10-04 07:17:47 +02:00
simon lehericey
6a5a82ce06
fix(instructeur dashboard): dossiers filtered on multiple states
2022-10-03 15:18:46 +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
Paul Chavard
462cc41caa
refactor(block): use block? instead of repetition?
2022-09-29 17:49:14 +02:00
Paul Chavard
df47f4a7ab
feat(graphql): new tokens should carry administrateur_id
2022-09-29 11:58:58 +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
Kara Diaby
e1999d5729
fix checkbox mandatory champ
2022-09-28 10:53:24 +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
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
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
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
a5e1d8865b
style(france_connect_account): convert notice about FC user to DSFR
2022-09-21 15:47:35 +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
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
Paul Chavard
84b9644bcd
fix(db): add missing foreign keys
2022-09-20 15:16:52 +02:00
Martin
eae05b0a6f
feat(export.xslx): add code commune to geo_area.label
2022-09-17 08:59:06 +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
simon lehericey
c43bf2e5c9
fix(conditional): only parse user input as int if compared with a number
2022-09-09 11:28:32 +02:00
Paul Chavard
d35ceb7214
fix(champs): finish EditableChampComponent refactor
2022-09-08 11:26:29 +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
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
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
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
4e3b063b87
feat(carte/export): list geo labels
2022-09-05 11:02:51 +02:00
simon lehericey
8c884b4869
fix(migration): fix avis email notification migration
2022-09-02 17:23:04 +02:00
Kara Diaby
f8d4644f73
models
2022-09-02 16:23:27 +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
6e31decc2d
feat(Procedure.clone): stop cloning procedure service which is confusing for some administrateurs
2022-08-31 14:56:00 +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
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
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
d1297bc1f5
tech(rubocopify): ... just clean up ...
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
simon lehericey
650c36e3e2
feat(conditional): add not eq operator
2022-08-10 11:59:09 +02:00
simon lehericey
898badb579
a champ is mandatory when visible with a mandatory tdc
2022-08-09 10:25:47 +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
Colin Darie
8dc966feb4
fix(dossier_transfer): requires an actual email
...
Closes #7621
2022-08-03 11:44:54 +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
Paul Chavard
782af3322a
fix(patron): when rendering “patron” champs should have dossier
2022-07-28 12:10:32 +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