Colin Darie
64ce2719ed
feat(services): accept an optional SIRET
...
Closes #7359
2022-09-06 09:23:52 +02:00
Colin Darie
54181bd920
refactor(spec/services): dynamic procedure reference instead of hardcoded id
2022-09-06 09:23:52 +02:00
Colin Darie
54e7a713b4
refactor(spec): service_specs with be_valid syntax
2022-09-06 09:23:52 +02:00
Colin Darie
7f1764fa66
test(support): add contact-admin spec
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
Kara Diaby
a52aeb6fdc
tests
2022-09-02 16:23:27 +02:00
Martin
289b8f78b8
feat(Administrateur::Services#index): rework list of services
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
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
Martin
c230db1ec4
bug(brouillon.edit.form): when their is a type de champs repetition having a child being mandatory. if the condition is not met, should be able to submit form
2022-08-24 15:18:05 +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
e35da17ce8
bug(instructeurs/archives#create): month should not be nil
2022-08-23 15:31:17 +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
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
simon lehericey
6b5f38ce74
spec
2022-08-11 14:03:04 +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
simon lehericey
ec40836589
spec
2022-08-08 18:02:28 +02:00
simon lehericey
0b90c81c3a
wrap existing spec in specific context
2022-08-08 18:02:28 +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
Paul Chavard
65e96002b1
refactor(spec): raise if old style factory is used
2022-08-04 12:10:32 +02:00
Paul Chavard
2d7803cd48
refactor(spec): use new procedure.types_de_champ factory
2022-08-04 12:10:32 +02:00
Paul Chavard
5e890cdb36
fix(factory): fix options handling on drop_down_list
2022-08-04 11:37:56 +02:00
Colin Darie
1601a18c34
test(combobox): increase wait time because component may be slow to render
...
Fix erreur type 'Unable to find css "li[role=\"option\"]'
Ce problème peut-être reproduit en local, en diminuant le wait à 0.001 ;
avec une plus grande valuer il disparaît.
2022-08-03 16:15:40 +02:00
Colin Darie
9ebcbbbd67
test(brouillon_spec): fix random errors due to db champs not yet updated
2022-08-03 16:15:40 +02:00
Colin Darie
e8b088c2c5
test(brouillon_spec): remove unecessary manual sleep, improve "brouillon" feedback testing
2022-08-03 16:15:39 +02:00
Colin Darie
81a9258c8a
test(brouillon_spec): use capybara wait matchers
2022-08-03 16:15:39 +02:00
Colin Darie
983815bfe8
test(brouillon_spec): fix frequent dossier_link error by using an existing dossier
2022-08-03 16:15:39 +02:00
Colin Darie
9e9b429100
test: fix frequent too many open files with webmock & capybara
2022-08-03 16:15:39 +02:00
Colin Darie
bc7cdb6b8e
fix(contact): translate captcha honeypot label
2022-08-03 11:57:26 +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
Paul Chavard
f48048179c
fix(conditional): enable conditional per procedure
2022-08-03 09:16:10 +02:00
Paul Chavard
a88390c6d3
refactor(types_de_champ): use new types_de_champ factory
2022-08-02 16:21:33 +02:00
Paul Chavard
21d47fa875
test(factory): spec new procedure.types_de_champ factory
2022-08-02 16:21:33 +02:00
Paul Chavard
ee9851091f
test(factory): add a new way to build/create types_de_champ
2022-08-02 16:21:33 +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
058d6baae6
tests
2022-07-29 11:17:22 +02:00
Paul Chavard
31d80d80bd
fix(dossier): prevent users from removing mandatory fiels after submission
2022-07-28 11:19:47 +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
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
Paul Chavard
8cba80116e
fix(types_de_champ): fix exception on validation errors
2022-07-26 18:17:48 +02:00
Colin Darie
6845b2ed08
fix(export): fix PurgeStaledExportsJob regression with stale
scope
...
cc #7547
2022-07-26 14:26:22 +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
Colin Darie
11cd73b4ac
feat(export/csv): list etablisement entreprise_etat_administratif
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
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
3e40b6d7bc
fix(graphql): handle annotations inside blocks
2022-07-21 14:54:14 +02:00
Paul Chavard
430365768a
test(dossier.pdf): add a test case with piece_justificative inside repetition
2022-07-21 11:46:28 +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
simon lehericey
d1e3a0d29f
spec
2022-07-20 11:23:57 +02:00
simon lehericey
2d26ba3507
fix: binary operator computes false by default
2022-07-19 10:11:24 +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
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
Paul Chavard
982e604b07
feat(dossier): test check conditions on en construction dossier
2022-07-12 18:32:03 +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
28a18e3912
spec: prove annotation is broken
2022-07-12 14:17:05 +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
simon lehericey
9bd1d97ed7
add feature flag
2022-07-12 10:44:40 +02:00
simon lehericey
0179a0a826
update conditions_controller
2022-07-12 10:44:40 +02:00
simon lehericey
2fee0ddfd4
feature: type_de_champ_controller
2022-07-12 10:44:40 +02:00
simon lehericey
e9cf41a00d
add system spec
2022-07-12 10:44:40 +02:00
simon lehericey
3eadff9111
refactor spec
2022-07-12 10:44:40 +02:00
simon lehericey
4a198a4c09
spec
2022-07-12 10:16:22 +02:00
Paul Chavard
b8db929e62
fix(a11y): add id to drop_down_other
2022-07-12 08:43:17 +02:00
Colin Darie
fe0282e904
feat(revision): list updated placeholder option for generic type de champ
2022-07-11 17:16:20 +02:00
Colin Darie
93d18e2f53
fix: better email placeholder
2022-07-11 17:16:20 +02:00
Colin Darie
9e26ee932e
feat(champ): customizable placeholders for text & textarea champs
...
Closes #7429
2022-07-11 17:16:20 +02:00
Colin Darie
9768f4e1c9
style(champ): add placeholders for email, iban, phone, siret champs
...
Closes #7428
2022-07-11 17:16:19 +02:00
Martin
4c0aac8e0c
fix(linked_dropdown/dropdown): for dropdown_list, drop blank option because rails add it when the field is required. kind of same behaviour for linked_dropdown_list [but requires to manage it on the front too]
2022-07-11 14:47:26 +02:00
Martin
7ad47f3eae
bug(linked_dropdown/dropdown): dropdown_list : when mandatory, add an extra blank option. linked_dropdown_list : when mandatory and not filled, add an extra blank option to first list, then when select an element from the first list, another extra blank.
2022-07-11 14:47:26 +02:00
mfo
30c02491eb
Update spec/controllers/targeted_user_links_controller_spec.rb
...
Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-07-11 14:37:01 +02:00
Martin
9f6a8cfe33
bug(targeted_user_link): from invite when user is not created, user check fails
2022-07-11 14:37:01 +02:00
Paul Chavard
4d48055158
feat(tags): expose used_type_de_champ_tags
2022-07-07 23:23:17 +02:00
simon lehericey
0ffa23c259
move under types_de_champ_editor namespace
2022-07-07 11:18:47 +02:00
simon lehericey
d9c3dfa916
add component preview
2022-07-06 20:27:14 +02:00
simon lehericey
1131a5c83e
condition component error
2022-07-06 20:27:14 +02:00
simon lehericey
30859774e4
condition component manage invalid target
2022-07-06 20:27:14 +02:00
simon lehericey
e2a236b73d
add condition_component
2022-07-06 20:27:14 +02:00
Christophe Robillard
886f595350
[graphql] add dossiersCount field
...
visible only for admin
2022-07-06 17:59:03 +02:00
Christophe Robillard
7684e97494
export demarches publiques
2022-07-06 17:59:03 +02:00
Paul Chavard
fb37f8c5a8
fix(dossier): fix some reset draft changes edge cases
2022-07-06 16:52:12 +02:00
simon lehericey
1751ddf713
add condition controller
2022-07-06 16:35:23 +02:00
simon lehericey
42488419b5
add condition form model
2022-07-06 16:35:23 +02:00
Paul Chavard
9b45dcea3f
feat(demarche): add possibility to reset draft revision
2022-07-06 14:18:01 +02:00
Paul Chavard
e9d0ccbdf9
task(dossier): remove orphan champs
2022-07-06 13:28:00 +02:00
Paul Chavard
adfc4f8cdd
test(dossier): improuve destroy spec
2022-07-06 11:12:14 +02:00
simon lehericey
b715d1f495
Revert "Add id to term"
...
This reverts commit 87385d03fd
.
2022-07-06 09:44:54 +02:00
simon lehericey
87385d03fd
Add id to term
2022-07-05 14:47:49 +02:00
simon lehericey
d8454d9d47
remove text from managed_type_de_champ
2022-07-05 12:07:06 +02:00
simon lehericey
c631c5cd82
Logic add_empty_condition_to
2022-07-05 12:07:06 +02:00
simon lehericey
df7acf70c8
and empty_operator compute always true
2022-07-05 12:07:06 +02:00
simon lehericey
04965ac35a
improve constant and empty to_s
2022-07-05 12:07:06 +02:00
simon lehericey
5ebaf59fdb
parent_id -> parent_stable_id
2022-07-05 11:53:18 +02:00
Paul Chavard
9a6a8411d3
feat(export): add déparctement info to commune champ export
2022-07-04 16:30:16 +02:00
Martin
7fb85c97cb
feat(Administrateur::ArchivesControllers): add archives #index and #create for admin
2022-07-04 14:18:46 +02:00
simon lehericey
73d5d5c919
fix spec by removing weird include
2022-07-02 16:42:32 +02:00
simon lehericey
f8c7003192
fix drop down other
2022-07-01 16:05:31 +02:00
Martin
4ec61e58ac
feat(EditComponent): add max_file_size and content_types to upload buttons inspired by dsfr
2022-06-28 17:44:35 +02:00
Martin
ea71908850
fix(ChampEditor): add missing drop_down_other for type_de_champ.drop_down_list_with_other?
2022-06-27 17:19:10 +02:00
Christophe Robillard
6dd27ec7ed
reset opendata to true when procedure is cloned by another admin
2022-06-23 14:11:09 +02:00
Christophe Robillard
ea59f5f260
add opendata boolean attribute for procedure
...
when opendata is set to true, it means that descriptive's procedure can be
public
when opendata is set to false, ti means that descriptive's can not be
public, because the procedure is only available for public servants, not
citizens.
2022-06-23 14:11:09 +02:00
Martin
ab4d4c83a8
feat(GroupeInstructeurs.closed): add closed option to GroupeInstructeur in order to prevent usagers to submit dossier
2022-06-20 16:32:06 +02:00
Martin
d57530e0f9
fix(spec): including Logic module broke spreadsheet architect
2022-06-20 15:12:43 +02:00
Martin
274b5eab2e
feat(invite): wrap invitation with targeted_user_links
2022-06-17 16:44:37 +02:00
simon lehericey
0db27b8718
validate conditions on revision
2022-06-17 14:54:21 +02:00
simon lehericey
758933f6f9
tdc can have condition
2022-06-17 14:53:28 +02:00
simon lehericey
9f49e8c2ea
add ensure_compatibility_from_left
2022-06-17 14:53:27 +02:00
simon lehericey
5ac3049033
add champ_value for dropdown
2022-06-17 14:53:27 +02:00
simon lehericey
809d991819
add champ_value
2022-06-17 14:53:27 +02:00
simon lehericey
daaa54b6f0
add n_ary operators
2022-06-17 14:53:27 +02:00
simon lehericey
698eff0a50
add equal operator
2022-06-17 14:53:27 +02:00
simon lehericey
ebe95b83fa
add compatibility checks
2022-06-17 14:53:27 +02:00