simon lehericey
875313e01e
add defaut groupe instructeur to hidden procedure
2019-09-09 13:41:08 +02:00
simon lehericey
3ead6bde9d
AfterParty: link dossier and groupe_instructeur
2019-09-03 06:51:38 +02:00
simon lehericey
ad7ef6c739
Link assign_to and procedure by groupe_instructeur
2019-09-03 06:47:02 +02:00
simon lehericey
d582af0962
Fix Instructeur Procedure Index
2019-09-03 06:47:02 +02:00
simon lehericey
d0bfb62fec
Procedure Factory: use procedure.new_dossier
2019-09-03 06:47:02 +02:00
simon lehericey
6cbdba2665
Dossier Factory: link procedure by defaut_groupe_instructeur
...
Oblige to create procedure or dossier to access groupe_instructeur
2019-09-03 06:47:02 +02:00
simon lehericey
74096b6b3a
Assign Factory: automatically link to procedure.defaut_groupe_factory
2019-09-03 06:47:02 +02:00
simon lehericey
a0555bc820
Remove obsolete tasks
2019-09-03 06:47:02 +02:00
simon lehericey
3cc8f0c792
Link Dossier and GroupeInstructeur
2019-09-03 06:47:02 +02:00
simon lehericey
eb75a563b8
Fix old after_party spec
2019-09-02 11:41:12 +02:00
simon lehericey
a2061fba79
wording
2019-09-02 11:41:12 +02:00
simon lehericey
caf1fbca44
Use assign_to
2019-09-02 11:41:12 +02:00
simon lehericey
31cb056351
Procedure: remove direct instructeurs access
...
Add shortcut for the spec to assign instructeurs directly to the defaut groupe
2019-09-02 11:41:12 +02:00
simon lehericey
b541ef0b41
Procedure has many instructeurs with defaut_groupe_instructeur
2019-09-02 11:41:12 +02:00
simon lehericey
ba24958035
Procedure add missing_instructeurs?
2019-09-02 11:41:12 +02:00
simon lehericey
85499365a0
Instructeur has_many procedures through groupe_instructeur
2019-09-02 11:41:12 +02:00
simon lehericey
25991c2892
Assign a procedure assign a group as well
2019-09-02 11:41:12 +02:00
simon lehericey
115d91387c
A procedure has a default groupe instructeur
2019-09-02 11:41:12 +02:00
clemkeirua
4032fc61e3
move to only one pipedrive account
2019-08-28 12:16:25 +02:00
Paul Chavard
15148a4fe1
Fix invalid characters in repetition champs sheet_name for xls export
2019-08-28 10:47:58 +02:00
Paul Chavard
079ffadfce
Attestation files migration task
2019-08-27 17:43:06 +02:00
Paul Chavard
a19b10b118
Migrate attestation files to active_storage
2019-08-27 17:42:52 +02:00
clemkeirua
188e0fd6b2
removed ask_birthday for new procedures & dossiers
2019-08-27 15:32:17 +02:00
simon lehericey
7b9b90a3e0
[ fix #4238 ] When the token does not exist, redirect to home page without sending a new link
2019-08-27 15:01:46 +02:00
simon lehericey
7ffad1e6ae
Spec: factorize
2019-08-27 15:01:46 +02:00
simon lehericey
e9cabafcc5
Spec: resend token if it's invalid
2019-08-27 15:01:46 +02:00
Chaïb Martinez
8ad79d3235
New signup test
...
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-08-27 10:45:26 +02:00
Paul Chavard
d02e0fc556
Fix and test migrate_procedure_logo task
2019-08-22 11:28:03 +02:00
simon lehericey
fc7ce3fe61
Fix capybara on linux ubuntu
...
Otherwise, it appears fullscreen
2019-08-21 17:38:54 +02:00
Paul Chavard
cc35a04e26
Migrate procedure logo to active_storage
2019-08-21 11:15:00 +02:00
simon lehericey
eb2ebee16e
fix flaky spec in ip_service_spec
2019-08-20 16:41:32 +02:00
simon lehericey
86d968bb8e
Use rack_attack_enabled?
...
We cannot enable rack attack during the tests as it interferes with features spec.
So we add a flag to enable it during the runtime.
2019-08-20 13:29:29 +02:00
simon lehericey
0f0fecdb25
RackAttack: use remote ip and test it !
2019-08-20 13:29:29 +02:00
simon lehericey
b7f8bb2fea
Simplify ip_service
2019-08-20 13:29:29 +02:00
simon lehericey
e0e29d741f
Simplify instructeur and administrateur factory
2019-08-20 12:20:12 +02:00
simon lehericey
97d0855d47
add User.create_or_promote_to_instructeur
2019-08-20 12:20:12 +02:00
simon lehericey
ebe871819d
Fix admin deletion by an administration
2019-08-20 12:01:36 +02:00
simon lehericey
77c11d8b79
fix_procedure_presentation
2019-08-20 11:28:18 +02:00
Paul Chavard
e9ba7700d4
Remove commentaire file uploader
2019-08-20 10:24:13 +02:00
simon lehericey
80cb8b87fe
Keep only the FC logic and use devise for the rest
2019-08-16 16:48:22 +02:00
simon lehericey
54d7effe28
Spec: specify france_connect logic
2019-08-16 16:48:22 +02:00
simon lehericey
4be9c79e03
Spec : specify remember me
2019-08-16 16:48:22 +02:00
simon lehericey
08bb393ced
Spec: specify locked logic
2019-08-16 16:48:22 +02:00
simon lehericey
1b14d85c77
Rerender if wrong credentials
2019-08-16 16:48:22 +02:00
simon lehericey
9a6b3c3757
Spec: specify the redirections when logged in
2019-08-16 16:48:22 +02:00
simon lehericey
56d34173e6
Spec: remove multi devise account tests
2019-08-16 12:04:54 +02:00
simon lehericey
95cd301d0d
Spec: remove superfluous code
2019-08-16 11:47:53 +02:00
simon lehericey
f87e316a5d
Spec: remove outdated trusted_device logic
...
This is tested on the application controller
2019-08-16 11:45:40 +02:00
simon lehericey
58ecf18390
ActivateController: add tests and clean a bit
2019-08-16 11:22:36 +02:00
simon lehericey
972b6793f7
Remove useless sessions_controller
2019-08-14 18:04:26 +02:00
simon lehericey
7fbedb78fb
Add feature spec about managing passwords (with the courtesy of kemenaran)
2019-08-14 17:27:10 +02:00
simon lehericey
149b0b5797
Fix Sign out
2019-08-14 16:58:50 +02:00
simon lehericey
e3e6bc7689
! NEED JOB REBOOT Move remind activation logic to user
2019-08-14 16:34:50 +02:00
simon lehericey
dc816472e9
Stub administrateur devise methods in spec
2019-08-14 16:34:50 +02:00
simon lehericey
d0ac1c3301
Fix manager invite administrateur
2019-08-14 16:34:50 +02:00
simon lehericey
c08e356367
Remove or fix nonsense code
2019-08-14 15:08:14 +02:00
simon lehericey
c380d807ab
Spec: sign_in with administrateur.user
2019-08-14 15:08:14 +02:00
simon lehericey
1b38d4071d
temporary remove password complexity check
2019-08-14 15:06:16 +02:00
simon lehericey
27c81c1992
Update administrateur factory
2019-08-14 15:06:16 +02:00
Paul Chavard
e68d2cf5e2
Enable champ repetition for all
2019-08-14 12:53:51 +01:00
Paul Chavard
0969b1f85f
Enable email_login_token for all gestionnaires
2019-08-14 12:53:51 +01:00
simon lehericey
a9128895a2
Something wrong with stored location which prevent instructeur to be redirected to user procedure path
2019-08-13 15:15:16 +02:00
simon lehericey
640e3668a8
Strange session ...
2019-08-13 15:15:16 +02:00
simon lehericey
8fa3c9e4f7
Fix expert invitation
2019-08-13 15:15:16 +02:00
simon lehericey
fdbfd3bb42
Add feature spec on instructeur invitation
2019-08-13 15:15:16 +02:00
simon lehericey
5fdac38cb2
Fix instructeur invitation
2019-08-13 15:15:16 +02:00
simon lehericey
ad31822a68
Spec: sign_in with instructeur.user
2019-08-13 15:15:16 +02:00
simon lehericey
65a53909e1
Update instructeur factory
2019-08-13 15:15:16 +02:00
simon lehericey
47b7dc368b
Remove or fix now nonsense code
2019-08-13 15:15:16 +02:00
simon lehericey
0d71a820a8
Stub instructeur devise methods in spec
2019-08-13 15:15:16 +02:00
simon lehericey
e3fd1cc33a
Remove weird switch_devise_profile_service
2019-08-13 15:15:16 +02:00
Pierre de La Morinerie
79784089a4
dossiers: refresh the whole header actions bar on status change
...
This ensure the other state-dependant buttons get updated to–like the
"Follow" or "Archive" button.
Fix #4186
2019-08-13 15:07:22 +02:00
simon lehericey
5bda753735
Remove all devise route and controller for instructeur and administrateur
2019-08-13 14:13:48 +02:00
simon lehericey
a4b9eecded
Remove unused devise session controller
2019-08-13 14:13:48 +02:00
simon lehericey
3fde2a6f70
Rename gestionnaire in code to instructeur
2019-08-12 13:47:01 +02:00
simon lehericey
6902f84b85
Brutally rename gestionnaire filename to instructeur
2019-08-12 13:47:01 +02:00
simon lehericey
bb8d65c6b4
Subtly rename admin/instructeurs to admin/assigns
2019-08-12 13:47:01 +02:00
simon lehericey
f7528f70ac
add admin creation spec
2019-08-12 13:43:03 +02:00
clemkeirua
6c56fc73d7
used new constant for genders
2019-08-01 20:46:58 +02:00
clemkeirua
d7105cb6f8
added spec for dossier#update_with_france_connect
2019-08-01 17:42:32 +02:00
clemkeirua
6c52c71eee
add redirection spec for dossier_controller#new
2019-08-01 17:42:32 +02:00
maatinito
44efa5a1b1
#3928 administrator tests handle password constants
2019-08-01 17:12:14 +02:00
maatinito
8d3e3baabc
#3928 administrator new & edit pwd pages
2019-08-01 17:12:14 +02:00
Paul Chavard
02904f55b1
Fix champ policy
2019-08-01 16:41:53 +02:00
Paul Chavard
b8d3e4c41b
Fix attestation url for dossiers with no attestation
2019-08-01 15:53:50 +02:00
Pierre de La Morinerie
6459e9cf37
tasks: fix the commentaires migration task to work with hidden dossiers
...
By default `commentaire.dossier` doesn't return the dossier if it is
hidden.
2019-08-01 15:43:09 +02:00
Paul Chavard
c75e39884e
Save selection utilisateur as geo area
2019-08-01 11:38:09 +02:00
clemkeirua
f5d3818e3c
remove unnecessary retransition methods
2019-08-01 10:40:08 +02:00
Keirua
2f82dd9a3d
improve typography and texts
...
Co-Authored-By: Nicolas Bouilleaud <nico@bou.io>
2019-08-01 10:29:51 +02:00
clemkeirua
38b48f4217
transition from accepte to instruction as superadmin
2019-08-01 10:29:51 +02:00
Paul Chavard
b266915892
Add repetitions to api
2019-08-01 10:04:35 +02:00
Paul Chavard
fba195c0b5
Add attestation url to dossier on api
2019-07-31 18:30:40 +02:00
Paul Chavard
6cfad01d12
Stop using Flipflop as switch for weekly_overview
2019-07-31 15:15:09 +02:00
Paul Chavard
25db21467d
Stop using Flipflop as switch for Fog
2019-07-31 15:15:09 +02:00
Paul Chavard
6f3fde21f2
Merge pull request #4139 from Keirua/fix/confirm-on-delete-champ
...
#4137 - Ajout d'un confirm à la suppression d'un champ
2019-07-31 12:31:44 +02:00
Paul Chavard
fc75580a3c
Start using pundit
2019-07-30 18:09:28 +02:00
Paul Chavard
8c72470a6c
Add default etablissement champ name
2019-07-30 17:17:36 +02:00
Paul Chavard
5a9468aa95
Fix repetition data export
2019-07-30 17:17:36 +02:00
Pierre de La Morinerie
02a5234bde
lib: remove FileSizeValidator
...
It was only used by the PieceJustificative model.
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
65e7489b4f
uploaders: remove PieceJustificativeUploader
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
95e24392f9
models: remove old pieces justificatives
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
0da0a2b446
model: remove support for cloning procedures with old pj
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
ffe081c1f2
specs: remove old pieces_justificative from specs and factories
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
f69f325236
api: remove export of old pieces justificatives
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
e975fe4ade
tasks: remove task to migrate old pieces justificatives
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
0018f36b44
gestionnaire: remove UI for filtering pieces justificatives
2019-07-30 16:11:16 +02:00
Pierre de La Morinerie
f825f62ce5
dossier: remove UI for viewing old pieces justificatives
2019-07-30 16:11:16 +02:00
Pierre de La Morinerie
5502f2e42e
dossier: remove UI for uploading old pieces justificatives
2019-07-30 16:11:16 +02:00
Pierre de La Morinerie
0c4cb3b498
admin: remove UI for managing old pj
2019-07-30 16:11:16 +02:00
Nicolas Bouilleaud
b066ccbc89
Make sure Procedure.path is not null in our data
2019-07-29 13:53:33 +02:00
clemkeirua
314b0f5dc0
fix tests
2019-07-25 17:15:19 +02:00
clemkeirua
6f47655301
rendu lien_site_web obligatoire au moment de la publication
2019-07-25 15:46:04 +02:00
clemkeirua
6b19432d47
deplacement de l'URL qui envoie vers la procédure
2019-07-25 15:46:04 +02:00
Pierre de La Morinerie
2174172e34
admin: display CTA buttons in emails preview
2019-07-25 12:25:50 +02:00
Pierre de La Morinerie
1c837eb901
mailers: improve wording of transactional emails and default templates
2019-07-25 12:25:50 +02:00
Pierre de La Morinerie
8313752663
mailers: add CTA to templated emails
2019-07-25 12:25:50 +02:00
clemkeirua
12f1a29b68
update tests
2019-07-25 11:13:30 +02:00
clemkeirua
0818331319
changement du endpoint dans les tests
2019-07-23 16:21:15 +02:00
Pierre de La Morinerie
858b093314
mailers: use the standard view mechanism to render notifications
...
Instead of rendering a view as a template, consider the view as a normal
view.
2019-07-23 14:53:50 +02:00
Pierre de La Morinerie
f32357f527
specs: avoid weird hacks to test NotificationMailer private method
...
- testing private methods is a code smell
- this setup is especially brittle
- we test the equivalent public method right below
2019-07-22 16:22:20 +02:00
clemkeirua
6d43465ee5
renammed into monavis_embed
2019-07-17 18:04:32 +02:00
clemkeirua
c8f9e3b5f8
automated test
2019-07-17 18:04:32 +02:00
clemkeirua
d8b63cd4c9
added 'monavis' inside the procedure and for users
2019-07-17 18:04:32 +02:00
Pierre de La Morinerie
71dfb38787
emails: improve typography of titles
2019-07-17 15:01:19 +02:00
Pierre de La Morinerie
44574b2b93
mailer_preview: improve data used for generating previews
2019-07-17 14:55:55 +02:00
Pierre de La Morinerie
5bafda6619
factories: fix unmatching MIME type in fixtures
2019-07-17 14:43:41 +02:00
clemkeirua
7eeddc0b79
using a shared example + scoped to state TERMINE
2019-07-17 11:53:16 +02:00
clemkeirua
b8fa567c81
ajout du tag 'lien document justificatif'
2019-07-17 11:53:16 +02:00
Pierre de La Morinerie
92dd91a31b
messagerie: add a reply button next to the latest message
2019-07-17 11:43:21 +02:00
Pierre de La Morinerie
80efe27ff2
pj migration: retry when changing the content type fails
2019-07-16 17:51:29 +02:00
Pierre de La Morinerie
a8354bd103
dossiers: unify deletion of dossiers between manager and user
...
The code paths for deleting a dossier were different, depending on
whether the dossier was deleted by the user, or from the Manager.
This commit unifies the two code paths into one.
This has the effect of:
- An operation log is now recorded when an user deletes its own dossier;
- Gestionnaires are now notified even when the dossier is deleted from
the Manager;
- The `support:delete_user_account` task now requires the email address
of the author.
2019-07-16 16:22:20 +02:00
clemkeirua
25f81f1d3c
download a dossier as zip with all attachments
2019-07-16 09:11:25 +02:00
Pierre de La Morinerie
36eca3d059
dossier: rename the "Submit" action
2019-07-15 17:18:28 +02:00
Pierre de La Morinerie
35c3795f56
dossier: make messagerie available on archived procedures
...
An Admin may archive a procedure to make it unavailable to
the general public, but before all dossiers are handled. In this case,
the messagerie needs to be available.
Fix #4089
2019-07-11 15:37:04 +02:00
Pierre de La Morinerie
10065df8ce
champs: put champ label in numeric fields validation messages
...
Replaces
> La valeur du champ doit être un nombre entier (sans chiffres après
> la virgule)
by
> La valeur du champ « Nombre de parents » doit être un nombre entier
> (sans chiffres après la virgule)
2019-07-11 15:12:48 +02:00
simon lehericey
768a298c2d
Same for go back in instruction
2019-07-11 12:50:15 +02:00
simon lehericey
5f39d3eac8
Fix bug when instruction repasse en construction twice
2019-07-11 12:50:15 +02:00
simon lehericey
6de1e2ec58
Fix bug when an instructeur closes a dossier already closed
2019-07-11 12:50:15 +02:00
Pierre de La Morinerie
c2c9b19b3b
procedure: remove individual_with_siret
...
It isn't used anymore (see #3077 )
2019-07-11 11:58:21 +02:00
Pierre de La Morinerie
7ca3d5fce2
procedure: select for_individual
by default
2019-07-10 18:47:34 +02:00
simon lehericey
7b63ddfabb
Better champs factories
2019-07-10 16:41:34 +02:00
Paul Chavard
be3283a9a8
Add commentaire pj migration task
2019-07-10 15:35:29 +02:00
Paul Chavard
3cb39c2840
Refactor message attachements to use active_storage
2019-07-10 15:35:29 +02:00
Pierre de La Morinerie
03fc555edf
profile: send an email when the account is already taken
2019-07-10 11:31:09 +02:00
Pierre de La Morinerie
2b2493b0e6
profile: improve spec
2019-07-10 11:31:09 +02:00
Pierre de La Morinerie
58a8d017f2
spec: cleanup dossier spec
2019-07-10 11:31:09 +02:00
Pierre de La Morinerie
56bc06cfbf
dossier: fix flaky spec for nearing_end_of_retention
...
If the spec takes longer than 1s to run, the test would fail.
2019-07-10 11:00:49 +02:00
Pierre de La Morinerie
6b27ac8514
france_connect: make existing user lookup case-insensitive
...
Fix #4053
2019-07-09 15:50:28 +02:00
Pierre de La Morinerie
d05bab3df3
france_connect: refactor specs
2019-07-09 15:50:28 +02:00
Pierre de La Morinerie
b5ed74c09d
dossiers: always allow to create a new dossier
...
Turns out this is confusing for users (some UI elements are present for
some procedures, but not for others).
Better enable it for everyone.
2019-07-09 14:44:30 +02:00
simon lehericey
d36f6ebcd7
[ fix #1709 ] A user can change its email
2019-07-09 11:55:17 +02:00
simon lehericey
0f9fdf3f75
Activate device email change confirmation
2019-07-09 11:55:17 +02:00
simon lehericey
d68d2be798
Profil: accessible to all roles
2019-07-09 11:55:17 +02:00
Paul Chavard
ad0a74ea7c
Fix dates in dossiers export
2019-07-09 10:02:08 +02:00
Pierre de La Morinerie
422f4b9cdb
dossiers_controller: warn properly when instructing a dossier twice
...
Fix #4055
2019-07-08 17:58:45 +02:00
Nicolas Bouilleaud
fac20ed190
Fix Commentaire factory so that the default case creates a valid object
2019-07-08 16:13:43 +02:00
Nicolas Bouilleaud
930fd345de
Validate messagerie_available? when creating a new Commentaire
...
Commentaires bu Users and Gestionnaire need the messagerie to be available; Automatic system Commentaires can be created anytime.
This reintroduces Commentaire validation that was introduced in #3979 and disabled in #4018
2019-07-08 16:13:43 +02:00
Nicolas Bouilleaud
3f439ac07a
Add Commentaire.is_sent_by_system? and .is_sent_by(someone)
...
And use it in CommentaireHelper and in the _message_icon and _message_issuer partials
2019-07-08 16:06:44 +02:00
Nicolas Bouilleaud
2abd93d360
Display the full User
email in Commentaires
...
* Only redact gestionnaires’ emails
* Also, rename Commentaire.sender to Commentaire.redacted_email
2019-07-08 16:06:44 +02:00
Chaïb Martinez
39a2eb77e8
test fix
...
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-08 14:58:32 +02:00
Paul Chavard
e582ff729c
Add aasm to dossiers state
2019-07-03 13:37:27 +02:00
Mathieu Magnin
10d3ba10f2
Before save copy body in rich_body
2019-07-03 13:15:49 +02:00
Mathieu Magnin
d13b7f953f
Migrate mail body to ActionText
2019-07-03 13:15:49 +02:00
simon lehericey
b2c987ff0d
[ fix #3683 ] Dossier: add repasser_en_instruction!
2019-07-02 18:40:20 +02:00
Paul Chavard
fb0ef15e3c
Export dossiers v2
2019-07-02 14:20:29 +02:00
Paul Chavard
46c1bbbc6f
Official support for declarative demarches
2019-07-02 14:12:26 +02:00
simon lehericey
92bd382c64
[ fix #4008 ] secured login for all gestionnaires
2019-07-01 15:06:39 +02:00
Chaïb Martinez
36114c07a9
Add some test to admin roi calculation
...
[fix #3986 ]
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-01 11:13:36 +02:00
Nicolas Bouilleaud
bd47bf2691
Disable Messagerie in archived Dossiers and procedures
...
* Use the existing Dossier#messagerie_available? method
* Raise when attempting to build a Commentaire if not messagerie_available?
* Disable the Messagerie form if not messagerie_available?
* Add tests :)
* Tweak the Horaires formatting while we’re here.
2019-07-01 09:39:39 +02:00
Paul Chavard
0d80c48b7e
Add avis to api
2019-06-27 14:40:17 +02:00
Paul Chavard
c5704fa22f
Remove unused code from Commentaire
2019-06-25 17:04:29 +02:00
Pierre de La Morinerie
50cf6059e6
tasks: ensure creating an empty champ doesn’t display a notification
2019-06-24 15:49:02 +02:00
Paul Chavard
1781a49932
Add order param to API
2019-06-20 15:28:16 +02:00
Pierre de La Morinerie
9ce92d5c3b
champs: show attachment actions only when the atachment is persisted
...
Fix #3961
2019-06-20 11:03:08 +02:00
Pierre de La Morinerie
d561936863
task: ensure that hidden dossiers are rolled back
2019-06-20 10:48:56 +02:00
Pierre de La Morinerie
f8dda3ae45
tasks: don't abort rollback when a dossier fails
...
Instead print a warning, and continue rolling back the other dossiers.
2019-06-20 10:31:23 +02:00
Christian Lautier
2393fa86be
Mailer preview correction: procedure has now multiple administrators
2019-06-20 10:17:55 +02:00
Nicolas Bouilleaud
c606644902
Tweak codestyle in specs, following review
2019-06-17 16:16:28 +02:00
Nicolas Bouilleaud
ad3553f0be
Add BillSignature Service
2019-06-17 16:16:28 +02:00
Nicolas Bouilleaud
f355f849a6
Add BillSignature Model
2019-06-17 16:16:28 +02:00
Nicolas Bouilleaud
dace9a53d3
Add Universign timestamp API query
2019-06-17 16:16:28 +02:00
Nicolas Bouilleaud
e16cb731c5
Add poor man’s ASN1 parsing
2019-06-17 16:16:28 +02:00
Pierre de La Morinerie
51aacabf13
models: fix touch not propagating when using nested attributes
...
Sometimes, when using nested attributes, touch doesn’t propagate to
parent relationships. (see https://github.com/rails/rails/issues/26726 )
Specifically, this happens in our app when updating a dossier with
only new attachements (but without changing the value of any fields).
To work around this, we need to define the parent relationship
explicitely. This is good practice anyway.
Fix #3906
2019-06-17 13:44:07 +02:00
Pierre de La Morinerie
f12668fbfb
tasks: prevent the PJ migrations task updating from touching dossiers
2019-06-12 19:07:45 +02:00
pedong
7ef1a558f4
change date format for all, use try_format_date of helper
2019-06-12 17:48:12 +02:00
simon lehericey
ee296f2b44
Use default format for date and datetime champ
2019-06-12 17:48:12 +02:00
pedong
abcd58c35d
[ fix #3710 ] date with letter
...
Co-Authored-By: simon lehericey <mail@simon.lehericey.net>
2019-06-12 17:48:12 +02:00
Nicolas Bouilleaud
6b90bc1ea1
Add “previously followed” dossiers and gestionnaires
...
Using an “inactive” Follow scope, similar to the “active” scope.
(I was tempted to use a default_scope, but this breaks when trying to `unscope` it in associations.)
2019-06-12 17:33:53 +02:00
Pierre de La Morinerie
55c9dfc001
api_entreprise: display better error message when SIRET is private
...
Previously we blamed the network.
Now we say that the entreprise infos cannot be retrieved. Which is not
ideal, but better.
2019-06-12 11:58:04 +02:00
Pierre de La Morinerie
0b49e61ec0
tasks: repair updated_at of dossiers wrongly touched by PJ migration
...
When running the PJ migration task, migrated dossiers have their
updated_at attribute modified.
This means a yellow notification badge pops up on the Instructeurs
pages.
This PR repairs the affected dossiers, by restoring an approximative
updated_at from the latest workflow value (or the timestamp of the
migrated champ).
2019-06-06 11:11:29 +02:00
Paul Chavard
6d312e1716
spec: refactor wait_for_ajax
to work with out new ajax utils
...
`wait_for_ajax` is not used anymore, but it may be in the future.
2019-06-04 16:30:36 +02:00
Paul Chavard
f621bd63e5
spec: fix flaky test by using new wait_until
helper
...
Fix #3911
2019-06-04 16:30:36 +02:00
Paul Chavard
cc80939a42
spec: remove tests for old pj (probably) dead code
2019-06-04 16:30:36 +02:00
Pierre de La Morinerie
c2fcc6057e
spec: add a wait_until
helper
2019-06-04 16:30:36 +02:00
Paul Chavard
e870ba186f
spec: add a pause
helper
2019-06-04 16:16:53 +02:00
Pierre de La Morinerie
b829d105d9
brouillon_spec: fix the slow use of have_select(locator, selected: …)
...
Capybara's `have_select` can be very slow for elemtns with many options
(see https://github.com/teamcapybara/capybara/issues/1527 )
This is because Capybara asserts that no other elements than the
required ones are selected.
This faster version is not as complete, but helps when checking the
countries list or the years in a date picker.
2019-06-04 11:03:09 +02:00
Pierre de La Morinerie
5419c130f4
brouillon_spec: make the login sequence faster
...
Log the user with `login_as` (rather than the browser).
2019-06-04 11:03:09 +02:00
Pierre de La Morinerie
2bd749a325
specs: clear the React champ before adding a new value
...
This prevents the value from being
`Nouveau champ TexteLibellé de champ carte`.
2019-06-03 12:47:03 +02:00
Pierre de La Morinerie
c05dc38b95
specs: remove 'disable-gpu' from chromedriver options
...
This option as only ever needed on Windows [1] (which we don't use),
and it shouldn't be required anymore, as the underlying bug has been
fixed [2].
- [1] https://developers.google.com/web/updates/2017/04/headless-chrome
- [2] https://bugs.chromium.org/p/chromium/issues/detail?id=737678
2019-06-03 12:46:12 +02:00
Paul Chavard
ff44b7a600
Refactor purge pj to be more generic
2019-05-29 15:54:51 +02:00
Pierre de La Morinerie
6cb02f2927
pj migration: handle signal interrupts
2019-05-29 14:46:49 +02:00
Pierre de La Morinerie
60121a1be6
task_helper: ensure that incrementing above 100% doesn’t raise an error
2019-05-29 12:06:32 +02:00
Pierre de La Morinerie
10df7b70ee
carrierwave: when migrating, create an empty blob if file is missing
2019-05-28 18:19:33 +02:00
Pierre de La Morinerie
44c410d40d
piece_justificative_service: fix for missing order_place
...
In production some pieces justificatives don't have an order place.
In this case, insert the champs after the ones that have an order place.
2019-05-28 17:20:07 +02:00
Pierre de La Morinerie
52b7a82932
services: mark attachments migrated from CarrierWave as safe
...
This avoids to enqueue thousands of scans when migrating the PJs of
a whole procedure.
2019-05-28 11:39:22 +02:00
Pierre de La Morinerie
4cf54e0d28
tasks: add progress report to the pjs migration task
...
Progress is indicated per migrated champ.
2019-05-28 10:42:18 +02:00
Pierre de La Morinerie
21ac60ad04
tasks: add a task to migrate pjs of procedures in batches
2019-05-28 10:42:18 +02:00
clemkeirua
f06ae1631f
no crash when q is missing on RechercheController::index
2019-05-22 15:02:57 +02:00
Paul Chavard
cc4eba2b36
Less mokey patching
2019-05-21 14:21:42 +02:00
Paul Chavard
f6421e081a
Refactor attachment view
2019-05-21 14:21:13 +02:00
Paul Chavard
42235e81b1
Use active storage load hook to extend blob
2019-05-16 20:43:01 +02:00
Paul Chavard
9725f2a418
Enable new champs editor for all
2019-05-14 16:18:29 +02:00
Paul Chavard
3446782cd0
Remove deprecated editor
2019-05-14 16:18:29 +02:00
Paul Chavard
dba8d65137
Track dossier operations with author and subject
2019-05-14 14:31:03 +02:00
Pierre de La Morinerie
f5f7dfba40
france_connect: fix for params entirely missing from the callback
...
Fix a Sentry exception encountered in production.
2019-05-13 15:45:12 +02:00
pedong
b1f11c0b0a
add explanation to spec login
2019-05-13 15:28:25 +02:00
pedong
a226999382
redirect to same path after use signup
2019-05-13 15:28:25 +02:00
Pierre de La Morinerie
e66e78b4db
helpscout: remove integration of custom fields
...
Our new HelpScout plan doesn't allow custom fields
anymore.
2019-05-13 12:33:29 +02:00
clemkeirua
d0794f42d1
fix tag_substitution_concern links for lien attestation
2019-05-07 08:54:29 +02:00
clemkeirua
c98655be52
ellipsis on file input overflow
2019-05-07 08:54:29 +02:00
clemkeirua
0e26bda186
cleanup the tag substitution concern & uniformization
2019-05-07 08:54:29 +02:00
clemkeirua
e4259466b4
nettoyage du tag_substitution_concern
2019-05-07 08:54:29 +02:00
clemkeirua
f8a2598647
ajout du lien vers le justificatif dans la balise --lien attestation--
2019-05-07 08:54:29 +02:00
clemkeirua
747dc505cc
ajout d'un test
2019-05-07 08:54:29 +02:00
clemkeirua
4aab72be68
implementation du systeme de PJ de motivation
2019-05-07 08:54:29 +02:00
Nicolas Bouilleaud
df865e71dc
Make sure that there always is at least one administrator per Procedure
2019-05-06 16:19:08 +02:00
Paul Chavard
96b3547788
Exercices and RNA information are optional and should not block the request
2019-05-03 18:23:21 +02:00
Paul Chavard
91f2d7d706
Remove deprecated virus_scan model
2019-05-03 11:07:19 +02:00
Paul Chavard
6e8b9cf668
Refactor piece_jointe template to avoid repetition
2019-05-02 15:58:09 +02:00
Paul Chavard
f113d108c9
Save virus scan status to blob metadata
2019-05-02 15:58:09 +02:00
Paul Chavard
2f633b5d23
Load leaflet from a separate chunk
2019-05-02 14:10:48 +02:00
Pierre de La Morinerie
e06e32238c
api_entreprise: display a specific error message on network errors
2019-05-02 11:24:38 +02:00
Pierre de La Morinerie
ad4a89f0f6
api_entreprise: raise on network error
2019-05-02 11:24:22 +02:00
Pierre de La Morinerie
7c1c61248e
spec: cleanup siret_controller_spec.rb
2019-05-02 11:24:22 +02:00
Pierre de La Morinerie
fd95ea2871
spec: cleanup exercices_adapter_spec
2019-05-02 11:24:22 +02:00
Pierre de La Morinerie
d855468cb6
dossiers: display the estimate of the entire processing time
...
Displaying separate estimations for en_construction and en_instruction
doesn't really make sense for the users: they want to know how
long it is going to take overall, not the petty details of our workflow.
2019-04-30 15:56:27 +02:00
Nicolas Bouilleaud
1c2e93ed41
Fix “nearing_end_of_retention” test
...
The `nearing_end_of_retention` test creates a `just_expired_dossier` “six months ago”, which is 29 Oct 2018. The autumn DST change was on October 28; this is the first time this test runs under these conditions. We workaround the time offset by creating the dossier one hour earlier.
This is technically a workaround, not a fix: the date arithmetics in `nearing_end_of_retention` are probably wrong. It looks like it’s comparing intervals, which seems error-prone, while it should be comparing dates. For now, I’m just making the tests pass.
2019-04-29 15:41:52 +02:00
Paul Chavard
8d093bd9ba
Fix missing dossier_id on champs inside repetition
2019-04-18 16:55:35 +02:00
simon lehericey
e65e21a72f
Email notification: use the right method for procedures
2019-04-18 15:07:01 +02:00
Paul Chavard
9beff5ee9a
Always create menu deroulant champs with a value
2019-04-11 14:38:21 +02:00
Mathieu Magnin
1a97cd42de
Fix missing helper in notification mailer
2019-04-11 12:25:55 +02:00
Mathieu Magnin
22034730b0
Fix factory to avoid crash because of procedure is nil
2019-04-11 12:25:55 +02:00
Mathieu Magnin
c550d40e3a
[ Fix #3064 ] Add preview test
2019-04-11 11:03:13 +02:00
Mathieu Magnin
28f9208ce8
When mail template is updated, stay on edit page to easily preview it
2019-04-11 11:03:13 +02:00
Mathieu Magnin
14c3fb7224
[ Fix #3064 ] Add a preview button for state notifications emails
2019-04-11 11:03:13 +02:00
Mathieu Magnin
e91b412254
[ Fix #3064 ] Use a different layout for state notifications emails
2019-04-11 11:03:12 +02:00
Nicolas Bouilleaud
c5122ee7f5
Allow filtering ProcedurePresentation by followers_gestionnaires
...
fixes #3464
2019-04-10 14:32:51 +02:00
Pierre de La Morinerie
e34c556f29
procedure: fix specs
...
When the time computations are done accross a Daylight Saving Time
change, they may be off by one hour.
It doesn't matter, as the estimated delay is counted in days, not
hours.
2019-04-08 15:24:44 +02:00
Pierre de La Morinerie
8ca683c515
mailers: fix last_week_overview crash when the overview is missing
...
This is because procedures may be unpublished between the time where
the job is enqueued and the time the mailer is run
Fix #3745
2019-04-04 17:32:12 +02:00
Paul Chavard
4fb889f10a
Send browser support information and format user id
2019-04-04 14:21:32 +02:00
Pierre de La Morinerie
41ad89d8ac
commencer: fix redirection with invalid path
2019-04-04 14:03:40 +02:00
Pierre de La Morinerie
158d6e1ae6
avis: format newlines in avis
...
Fix #3738
2019-04-04 10:20:57 +02:00
Paul Chavard
8157fd0127
Fix type de champ menu déroulant
2019-04-03 21:53:57 +02:00
Paul Chavard
b9be186d2c
Sentry should send environment information
2019-04-03 18:19:16 +02:00
Pierre de La Morinerie
22f2ca105e
commencer: display a FranceConnect button
...
Fix #3640
2019-04-03 16:08:09 +02:00
Pierre de La Morinerie
28dcbcb85b
auth: move the FranceConnect button to a partial
2019-04-03 16:08:09 +02:00
simon lehericey
65370b20a9
Use IPService to remove secure connexion from trusted networks
2019-04-03 15:21:19 +02:00
simon lehericey
52e6632175
Add IPService
2019-04-03 15:21:19 +02:00
Paul Chavard
e2fc9e10b0
Update tests for new editor
2019-04-03 14:38:57 +02:00
Paul Chavard
639facaf2a
Add new types_de_champ#move api
2019-04-03 14:38:07 +02:00
Pierre de La Morinerie
031c40aa55
stats: display 12 weeks of feedbacks
2019-04-02 17:22:38 +02:00
Mathieu Magnin
8525761332
Revert english dates
2019-04-02 14:38:47 +02:00
simon lehericey
f945b9ec63
Champ Siret: Fix siret-champ save
...
When a user enter a siret, it calls siret_controller in ajax. The champ value is stil nil, so champ.present? is false because champ.blank is redefined to focus on value. Thus the champ is not updated.
2019-04-02 14:17:21 +02:00
Mathieu Magnin
71e0969bc0
[ Fix #3692 ] Ensure SIRET is correct on server
2019-03-28 18:03:53 +01:00
Mathieu Magnin
27c8e9dcb8
Use the same clone_attachment method for all attributes on procedure.clone
2019-03-28 17:17:29 +01:00
clemkeirua
0d71120f98
[ fix #306 ] Possibilité de joindre un document à un avis
2019-03-28 15:45:14 +01:00
Pierre de La Morinerie
abeb58caa5
dossiers: displays an "Start an other dossier" item in action dropdown
2019-03-28 15:26:15 +01:00
Pierre de La Morinerie
d03e340345
dossiers: add an actions menu
2019-03-28 15:26:15 +01:00
Pierre de La Morinerie
06e7355d5b
commencer: fix invalid URL on test procedures
...
Fix #3693
2019-03-28 14:15:46 +01:00
Pierre de La Morinerie
d267d782b8
help: add administration contact on /commencer pages
2019-03-28 11:36:24 +01:00
Frederic Merizen
9aebb76e77
[ #2180 ] Avoid sending spurious notifications to instructeurs
2019-03-27 17:36:13 +01:00
Frederic Merizen
7d316b8369
[ #2180 ] High-level PJ to champ PJ migration service
2019-03-27 17:36:13 +01:00
Frederic Merizen
e24242e4b2
[ #2180 ] Low-level Carrierwave to ActiveStorage migration
2019-03-27 17:36:13 +01:00
Frederic Merizen
21dbe44e07
[ #2180 ] Fix ordering of piece jointe champs
2019-03-27 17:36:13 +01:00
pedong
fb29d30826
[ fix #3342 ] show date with format letter
2019-03-27 15:27:20 +01:00
Mathieu Magnin
4e27872a25
[ Fix #3650 ] when cloning a procedure, do not forget pj_templates
2019-03-26 15:31:09 +01:00
Pierre de La Morinerie
30d11e0dac
app: rename new_gestionnaire
to gestionnaires
2019-03-26 10:48:59 +01:00
pedong
0d7c30c9dd
[ fix #3476 ] add notify email for the dossier change state to instruction
2019-03-25 16:04:33 +01:00
simon lehericey
39b710fdde
Annotation: can use repetable
2019-03-25 11:08:53 +01:00
Pierre de La Morinerie
ded5b70444
app: rename new_user
to users
2019-03-25 10:56:39 +01:00
Pierre de La Morinerie
b1a7018d30
procedure: ignore bad data when computing usual_instruction_time
...
Fix #3655
2019-03-20 17:48:54 +01:00
Mathieu Magnin
6570bed09c
[ Fix #3641 ] Do not change PJ value in API if PJ is safe
2019-03-20 11:37:31 +01:00
Pierre de La Morinerie
69580288a4
help: add a custom help dropdown in gestionnaire context
2019-03-20 11:06:54 +01:00
Pierre de La Morinerie
549b17f75e
help: add a custom help dropdown in dossier context
2019-03-20 11:06:54 +01:00
Paul Chavard
69a51e3296
Save SIRET data on search
2019-03-19 16:22:42 +01:00
Pierre de La Morinerie
ed1f6ec38d
procedure: fix verification delay
...
The verification delay was ignoring all dossiers not closed yet.
2019-03-19 15:51:51 +01:00
Mathieu Magnin
2c1e1db37d
[ Fix #3617 ] 404 when filter[value] contains a "."
2019-03-19 14:25:57 +01:00
simon lehericey
6607de4827
Notification: add service to send notifications
2019-03-18 16:37:51 +01:00
simon lehericey
ed6828c66c
Notification: UI
2019-03-18 16:37:51 +01:00
Mathieu Magnin
6b9dbb22af
Remove unused stats
2019-03-13 11:00:14 +01:00
Mathieu Magnin
ff0356e698
Fix Sentry 165 : api crash when siret is unknown
2019-03-12 17:53:11 +01:00
Paul Chavard
549eca44cb
Enable flipflop on api requests
2019-03-12 14:02:55 +01:00
Paul Chavard
48701e80bd
Enable flipflop for instructeurs
2019-03-12 12:14:34 +01:00
Paul Chavard
bb8ba75d22
Explicitly pass current_administrateur on publish
2019-03-12 11:59:01 +01:00
Paul Chavard
0e4b6e1ba2
Remove “Nombre d'administrations ayant dématérialisé N démarches” graph
2019-03-12 11:59:01 +01:00
Paul Chavard
c37f649453
Update specs to use multiple administrateurs
2019-03-12 11:59:01 +01:00
Paul Chavard
23d8f0d803
Remove old tasks depending on single administrateur
2019-03-12 11:57:51 +01:00
Mathieu Magnin
b690b89b34
Clean old support task
2019-03-12 11:26:07 +01:00
Mathieu Magnin
f96d1b1823
Create default path for brouillons procedures
2019-03-12 11:26:07 +01:00
Mathieu Magnin
44f28ec565
Remove feature flag for publish draft
2019-03-12 11:26:07 +01:00
Frederic Merizen
af37005b33
Fix test intermittent introduit par #3479
2019-03-11 20:27:24 +01:00
Frederic Merizen
8d8376947d
[ Fix #3477 ] Individually remove values from multi-value filter
2019-03-11 17:14:17 +01:00
Frederic Merizen
efa71284fc
[ #3477 ] Test eager_load_displayed_fields
2019-03-11 17:14:17 +01:00
Frederic Merizen
70bf6aecf6
[ #3477 ] Filter by mutliple values
2019-03-11 17:14:17 +01:00
Frederic Merizen
5d01e37d70
[ #3477 ] Make filters stand out a little more in spec
2019-03-11 17:14:17 +01:00
Frederic Merizen
b428406fc7
[ Fix #3578 ] No tags for champs that cannot have user input anyway
2019-03-11 10:26:27 +01:00
Frederic Merizen
1d0156f9c6
[ #3572 ] Add tests
2019-03-08 18:32:35 +01:00
Frederic Merizen
6b0832047b
Service that computes administrator statistics and sends them to SendinBlue
2019-03-08 16:33:28 +01:00
Frederic Merizen
a8ce11a4d2
Add rel=noopener to links with target=_blank
...
http://support.detectify.com/customer/portal/articles/2792257-external-links-using-target-_blank-
2019-03-05 18:25:26 +01:00
Frederic Merizen
d053a9bb8d
Fix test for the 2 months following February
...
The problem was caused by the variable lenght of 2.months.ago, used
in the test.
During the period from March 1st to April 29th, because February
is so short, the message would change from 'delai de 2 mois'
to 'delai de environ 2 mois', causing the test to fail.
2019-03-01 18:25:15 +01:00
Paul Chavard
f7af01e0dc
Create new procedures with administrateurs
2019-02-26 16:38:58 +01:00
Pierre de La Morinerie
066672803b
pj_link: fix an exception when the scan is not associated yet
2019-02-21 16:00:33 +01:00
clemkeirua
71bff0812c
ajout d'un test pour caractériser le cas service = null
2019-02-21 12:34:53 +01:00
clemkeirua
236f73f838
ajout d'une balise pour le nom du service
2019-02-21 12:18:44 +01:00
Paul Chavard
84383fc3c1
Assigne admins to procedure.administrateurs
2019-02-20 17:10:57 +01:00
Paul Chavard
a7ba01a02a
Fix champ spec
...
fix #3257
2019-02-20 16:26:12 +01:00
Mathieu Magnin
f7650135f4
[ Fix #3375 ] on the API display safe files only
2019-02-19 18:10:35 +01:00
Pierre de La Morinerie
ffda67c1d8
spec: add specs for attachments
2019-02-19 18:02:27 +01:00
Pierre de La Morinerie
a3c0f3ccd6
spec: wait for the page to be rendered before checking values
2019-02-19 18:02:27 +01:00
Pierre de La Morinerie
d51cc8bfa2
spec: fix ActiveRecord queue not being set
2019-02-19 18:02:27 +01:00
Mathieu Magnin
11078b7f71
Add rake task to activate publish draft
2019-02-19 17:50:11 +01:00
Paul Chavard
aad685bb79
Show preview with correct type de champ options
...
fix #3439
2019-02-19 16:37:42 +01:00
clemkeirua
4ff9adde27
ajout d'un test auto pour l'affichage de la date de dépot coté instructeur
2019-02-19 12:00:36 +01:00
Mathieu Magnin
cf610bbd91
Merge branch 'dev' into enforce-rubocop-timezone
2019-02-18 17:41:41 +01:00
simon lehericey
0b8619be77
Gestionnaire: login_token! -> create_trusted_device_token
2019-02-18 17:21:46 +01:00
simon lehericey
c16e30442a
save path before redirect to link_sent_path
2019-02-18 17:20:49 +01:00
simon lehericey
7de3a18fd1
valid period depend on trusted_device_token.created_at
2019-02-18 17:20:49 +01:00
simon lehericey
d664f130fd
trustedDeviceToken: move token youth
2019-02-18 17:20:49 +01:00
simon lehericey
23db8a160c
move token validity to trusted_device_token
2019-02-18 17:20:49 +01:00
simon lehericey
bee9a108c5
split login and trusted_device logic
2019-02-18 17:20:00 +01:00
simon lehericey
9d92e43d8d
[ fix #3315 ] Migrate service organisme
2019-02-18 16:50:44 +01:00
Mathieu Magnin
dd27167c5d
Enforce Timezone rule in Rubocop
2019-02-18 16:19:42 +01:00
simon lehericey
a7e068003a
[ fix #3427 ] Administration can soft delete a dossier
2019-02-14 18:09:08 +01:00
Pierre de La Morinerie
7413df81e0
Revert "file upload: proxy direct upload through the APP_HOST"
...
This reverts commit 2365efbdaa
.
2019-02-14 16:23:11 +01:00
Mathieu Magnin
2365efbdaa
file upload: proxy direct upload through the APP_HOST
...
Ref #3409
2019-02-14 14:28:03 +01:00
Frederic Merizen
eb7cd28504
Fix undefined method for nil:NilClass
2019-02-13 19:22:38 +01:00
Frederic Merizen
41ab7246cf
[ #3424 ] Improve formatting of addresses with missing components
2019-02-13 09:57:33 +01:00
Paul Chavard
b7058947e1
Fix buttons on screen bottom
2019-02-12 16:22:12 +01:00
Paul Chavard
5da5f75c5f
[Types de Champ Editeur] Save on change and only edited model
2019-02-07 17:05:55 +01:00
Pierre de La Morinerie
4bfc258cbd
dossiers: refactor dossiers specs
...
- Use login_as instead of signing up in the browser
- Better name factory objects
- Group specs by use-case
2019-02-07 11:08:02 +01:00
Pierre de La Morinerie
a6704c4cd6
dossiers: allow users to delete "en construction" dossiers
2019-02-07 11:07:07 +01:00
Paul Chavard
6b39128be3
Clone nested types_de_champ
2019-02-06 10:05:27 +01:00
Mathieu Magnin
f6714cd9a3
If ClamavService fails then raise an error
2019-02-05 17:58:41 +01:00
simon lehericey
5715cdaa4c
[ fix #3363 ] use organisation_name in dossier summary
2019-02-05 17:41:51 +01:00
Frederic Merizen
a255e61556
[ #3356 ] Improve formatting for menus that only have a primary value
2019-02-05 17:35:30 +01:00
Frederic Merizen
a3d7c8de55
[ Fix #3356 ] Add tags for primary menu only / secondary menu only
2019-02-05 17:35:30 +01:00
Paul Chavard
a9a853b669
Fix and simplify linked-drop-down-list js
2019-02-05 16:48:26 +01:00
Paul Chavard
1d75a32cac
Add a default text type de champ to editor
2019-02-05 16:48:26 +01:00
Paul Chavard
071448e1d9
Champ Repetition dossier editor
2019-02-04 16:19:07 +01:00
Paul Chavard
a4a421a91a
Champ Repetition dossier display
2019-02-04 15:46:39 +01:00