Commit graph

2083 commits

Author SHA1 Message Date
Pierre de La Morinerie
f63cd86811 webhook: fix a crash when the Helpscout customer is unknown 2019-11-04 18:36:52 +01:00
Pierre de La Morinerie
f131dbb80d instructeurs: make the create form not using email directly
Before the form attempted to read an email value from the Instructeur
model, and failed (because the empty Instructeur had no user yet).

We could let `Instructeur#email` return `nil` if there is no User –
but as a created Instructeur is always supposed to have a User, this
seems like a nice safeguard to keep.

So instead this commit rewrites the create form, which now doesn’t
depend on an Instructeur model. Seems easy enough for now.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
d78d206544 instructeurs: fix expert creation not to use Instructeur.email
It kind of worked until now, because the email field is disabled, and
thus never accessed.

But better make it clean, by accessing an object (User) where the email
field actually exists.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
a462edb9bc instructeurs: alias instructeur.email
This also means we need to replace instances of `pluck` on the email
column.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
cd478b489e instructeurs: replace calls to Instructeur.find_by(email: …) 2019-11-04 10:44:23 +01:00
Pierre de La Morinerie
627d30191f manager: allow hidden procedures to be searched
The Manager::DossiersController already allow hidden dossiers to be
searched and displayed. Give the same behavior to Procedures.
2019-10-31 17:03:02 +01:00
Nicolas Bouilleaud
72b7ff221c move procedure to new design 2019-10-31 10:27:19 +01:00
simon lehericey
477f7c9837 Remove instructeur 2019-10-30 14:27:51 +01:00
simon lehericey
79b808470c Add instructeur 2019-10-30 14:27:51 +01:00
simon lehericey
94081a3997 Show Groupe Instructeur 2019-10-30 14:27:51 +01:00
simon lehericey
4491dca19a Index Groupe Instructeur 2019-10-30 14:27:51 +01:00
simon lehericey
d411bfddc8 We can send a dossier to instructeurs from the same groupe 2019-10-25 09:42:17 +02:00
simon lehericey
8ae592fe25 [fix #4361] administrateur active 2019-10-24 18:32:48 +02:00
Pierre de La Morinerie
35e97ac617 patron: add content to the repetition champ 2019-10-24 16:52:29 +02:00
Pierre de La Morinerie
8f4ead96b0 patron: make the labels more readable 2019-10-24 16:52:29 +02:00
clemkeirua
d9e993571c add a warning during export generation 2019-10-24 16:27:10 +02:00
simon lehericey
35bba62297 Update routing critéria name 2019-10-23 21:47:20 +02:00
simon lehericey
a5ffe9f54b Remove instructeur from the group 2019-10-23 21:47:20 +02:00
simon lehericey
a6deafd885 Add instructeurs to groupe 2019-10-23 21:47:20 +02:00
simon lehericey
3dd3af8482 Groupe instructeur update 2019-10-23 21:47:20 +02:00
simon lehericey
9a6336f508 Groupe instructeur create 2019-10-23 21:47:20 +02:00
simon lehericey
733e83cc54 Groupe instructeur show 2019-10-23 21:47:20 +02:00
simon lehericey
2749c00ce3 Groupe instructeur index 2019-10-23 21:47:20 +02:00
simon lehericey
6a974663b0 An instructeur owns procedure with groupe instructeur mechanisme 2019-10-23 21:47:20 +02:00
Paul Chavard
86b271997b Invite experts to linked dossiers
closes #3669
2019-10-23 13:10:09 +02:00
clemkeirua
cdab08b198 UI work 2019-10-22 09:51:14 +02:00
clemkeirua
43424e4f4e merge with the work of paul, using 3 links 2019-10-22 09:51:14 +02:00
clemkeirua
70ea5e167e procedure download is performed through a controller in order not to leak the URL 2019-10-22 09:50:58 +02:00
clemkeirua
1af2b63ed1 initial implementation of async export 2019-10-22 09:50:58 +02:00
simon lehericey
b7434c3132 User can choose its gi 2019-10-17 15:48:14 +02:00
simon lehericey
5143d341ec Admin: 1 query for crips 2019-10-08 09:53:40 +02:00
clemkeirua
053cc5cfc5 [fix #4058] instructeur peut passer accepte → instruction 2019-10-07 15:17:33 +02:00
clemkeirua
d3063c0b63 remove download_as_zip feature flag 2019-10-03 10:48:24 +02:00
Paul Chavard
bf6fbbf2b6 Add graphql end point 2019-09-24 10:47:21 +02:00
Nicolas Bouilleaud
a2131d0fcc Don’t unfollow when archiving
It was slightly broken in two ways:
- it doesn’t make other instructeurs unfollow the dossier
- if the dossier is unarchived, instructeurs don’t refollow automatically.
2019-09-20 11:06:33 +02:00
simon lehericey
8660d4af30 Instructeur: only export its dossiers 2019-09-19 12:24:40 +02:00
simon lehericey
f5bbc9e2f9 InstructeurProcedureShow: show dossier for all the gi involved 2019-09-18 15:51:02 +02:00
Paul Chavard
8fcf1353f3 Remove duplicated attachments 2019-09-17 18:12:53 +02:00
simon lehericey
dec42e4886 Instructeur procedure index: show stats by procedure
Also sum the count from differents groupe_instructeur from the same procedure
2019-09-17 17:19:14 +02:00
Nicolas Bouilleaud
0c98f29d59 Move the cached procedure stats queries to a ProcedureStatsConcern 2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
06d60cd943 Cache requests in procedures/stats 2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
3e2985b305 First attempt at procedure stats
fixes #3945, #3946, #3948
2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
543f9894c1 Make sure the “commencer” link uses the proper test path 2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
c26a701a17 Refactor and redesign publish modal
* remove the autocomplete menu
* use ujs to pre-validate the procedure
* tweak the UI
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
bd1e0aba38 Add Procedure path suggestion 2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
00c37eccb3 Simplify procedure.path and publish event
* Get rid of the “reopen” event, merge it with “publish” (it’s the same code)
* Remove the “availability” states; “available with brouillon” makes no sense since the brouillons path are always uuids
* Instead of checking if publish can happen, just try it and handle the errors
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
99f986b815 Cleanup Procedure retrieval in “Commencer”
Make sure to only fetch active (brouillons or published) procedures.
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
92e6032115 Remove path availability dead code when creating/editing a procedure
There’s no “path” field anymore in the Procedure form, it can only be set when publishing.
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
b9968b76b0 Remove “avec_lien” helpers now that Procedure.path cannot be nil 2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
8fa630d2bb Remove Gestionnaire.visible_procedures
It is actually the same thing as Gestionnaire.procedures. It already included the procedures with paths as well as the archived procedures, and in production, there were no Gestionnaire for who procedures was returning a different result than visible_procedures (expect for two baddata brouillon procedures with a nil path).

In addition, Procedure.path is now nonnull, which means the Procedure.avec_lien scope is pointless.

Finally, the current spec showed that the only procedure not visible to the gestion was the one he was not assigned to.
2019-09-17 16:30:48 +02:00
maatinito
ae34e48624 [fix #4311] Unable to reinvite admin 2019-09-17 16:15:04 +02:00
Paul Chavard
ff2b6ca3ea Fix service controller 2019-09-17 12:37:37 +02:00
Paul Chavard
adfa80142a Cleanup application_controller and current_user 2019-09-17 12:37:37 +02:00
Paul Chavard
3eeebd62eb Use built in active_storage helper 2019-09-17 11:11:08 +02:00
simon lehericey
acb99609ba Move defaut_groupe_instructeur as has_one and eager_load 2019-09-16 15:57:07 +02:00
simon lehericey
afa0237349 remove logo n+1 2019-09-16 15:48:19 +02:00
Paul Chavard
3b8d3b7967 Add Style/CollectionMethods to rubocop 2019-09-12 14:48:18 +02:00
Pierre de La Morinerie
503c393a87 helpscout: use replies_sent to compute contact rate
The `conversations_count` we previously used counts replies, but also
all conversations that were tagged or re-tagged during the month – with
made counting the actual work spent on user support brittle.

Counting the replies is a better estimation of what we get.

Unfortunately this also removes the filtering-by-tag feature. To
mitigate this, the reports are now scoped to a specific mailbox. This
allows to create extra mailboxes for conversations that should't be
counted in the stats.
2019-09-11 17:26:10 +02:00
Paul Chavard
65e227c44b Migrate to flipper 2019-09-10 16:10:14 +02:00
Paul Chavard
347f03d2a9 Redirect to pdf attachement old name if not attached 2019-09-10 15:06:47 +02:00
Paul Chavard
7ffb98e616 Remove carrierwave uploaders 2019-09-10 10:49:12 +02:00
simon lehericey
6a83adf336 StatController: work by groupe_instructeur 2019-09-03 06:47:02 +02:00
simon lehericey
ad7ef6c739 Link assign_to and procedure by groupe_instructeur 2019-09-03 06:47:02 +02:00
simon lehericey
4da12ed3e8 User/DossierController: dossier are linked to default group by default 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
a82d49aa60 Procedure: save procedure while cloning
This is required to be able to assign the administrateur.instructeur to the defaut_groupe_instructeur of the new procedure
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
clemkeirua
c2916e9d05 remove possibility to create carte with parcelle agricole 2019-08-29 16:01:35 +02:00
Paul Chavard
3c6b35d720 Fix attestation preview 2019-08-28 16:33:51 +02:00
benjaminhenkel
73d643d1be Update flash message for test demarche 2019-08-28 14:54:17 +02:00
Paul Chavard
64dccbab5c Only rename logo param if it is present 2019-08-28 11:01:58 +02:00
Paul Chavard
5edbc08542 Render attesation apercu inline 2019-08-27 17:44:02 +02:00
Paul Chavard
32563c3675 Redirect to active_storage files when available 2019-08-27 17:43:33 +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
Paul Chavard
cc35a04e26 Migrate procedure logo to active_storage 2019-08-21 11:15:00 +02:00
simon lehericey
01a91e68ca Simply avis controller 2019-08-20 12:20:12 +02:00
simon lehericey
98a24bea51 Simplify invite_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
80cb8b87fe Keep only the FC logic and use devise for the rest 2019-08-16 16:48:22 +02:00
simon lehericey
9c715b2969 SessionController: new User in view 2019-08-16 16:48:22 +02:00
simon lehericey
27085af9b5 SessionController: remove remember_me
It is somehow taken care by warden
2019-08-16 16:48:22 +02:00
simon lehericey
002510d5cb SessionController: remove complicated try_to_authenticate 2019-08-16 16:48:22 +02:00
simon lehericey
67cc2c1a87 SessionController: remove instructeur_signed_in? 2019-08-16 16:48:22 +02:00
simon lehericey
a3b9bf90d4 SessionController: remove useless code
- the redirection of a locked user is made by the sign_in method
- because of the paranoid mode it displays the devise.failure.invalid error message
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
dab1519b8c Remove credenticals synchronisation logic 2019-08-16 11:35:19 +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
149b0b5797 Fix Sign out 2019-08-14 16:58:50 +02:00
simon lehericey
d0ac1c3301 Fix manager invite administrateur 2019-08-14 16:34:50 +02:00
simon lehericey
c380d807ab Spec: sign_in with administrateur.user 2019-08-14 15:08:14 +02:00
simon lehericey
4142acf8d3 Replace administrateur devise methods in app 2019-08-14 15:06:16 +02:00
simon lehericey
840be2408e Remove administrateur devise methods 2019-08-14 15:06:15 +02:00
Paul Chavard
0969b1f85f Enable email_login_token for all gestionnaires 2019-08-14 12:53:51 +01:00
Paul Chavard
ef66defcd1 Fix invite instructeur from manager 2019-08-13 20:12:46 +01:00
Pierre de La Morinerie
4e9895c11b app: mark the contact forms as not sensitive to trusted tokens
Instructeurs waiting for a confirmation token should be able to
access the contact form (especially to ask for help).

Fix #4198
2019-08-13 19:48:11 +02:00
simon lehericey
8fa3c9e4f7 Fix expert 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
efd793f266 AdminProcedureController: fix self assignation as instructeur 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
47b7dc368b Remove or fix now nonsense code 2019-08-13 15:15:16 +02:00
simon lehericey
c8a7bde5e0 Replace instructeur devise methods in app 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
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
7ac243ac44 Use proper token to find the administrateur ... how can it works otherwise ? 2019-08-12 13:43:03 +02:00
clemkeirua
707e8a0004 dossier_controller#new uses info from FC if any 2019-08-01 17:42:32 +02:00
maatinito
8d3e3baabc #3928 administrator new & edit pwd pages 2019-08-01 17:12:14 +02:00
maatinito
220b38ad2a #3928 different pwd edit page for administrators 2019-08-01 17:12:14 +02:00
Paul Chavard
02904f55b1 Fix champ policy 2019-08-01 16:41:53 +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
fc75580a3c Start using pundit 2019-07-30 18:09:28 +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
7205f4da9e L'enfer du Nord Paris-Roubaix (Tour de France, Tour de France) 2019-07-30 14:47:48 +02:00
pedong
9438f962c5 add alert for account is locked 2019-07-29 17:48:44 +02:00
pedong
0ed9c4cbd4 add check access_locked? when login 2019-07-29 17:48:44 +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
pedong
0f957ec77b [fixe #3974] add message for invite mail 2019-07-23 18:54:58 +02:00
clemkeirua
af436500fd better button 2019-07-23 16:11:15 +02:00
clemkeirua
f166077f5e ajout d'un bouton de suppression des admin dans le manager 2019-07-23 16:11: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
clemkeirua
6d43465ee5 renammed into monavis_embed 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
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
Chaïb Martinez
5cb6ba2f3b Fix tests
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-15 12:10:56 +02:00
Chaïb Martinez
d968e7e6bd Add some admin usage info for contextual help with crisp
Fix #4052

Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-15 12:10:56 +02:00
Pierre de La Morinerie
d5f360c85f manager: fix the deletion email not being sent
When deleting a dossier from the manager, the deletion notification
email was not being sent. This is because the returned object from
`Dossier#hide!` was invalid.
2019-07-15 10:01:16 +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
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
06afc3890f france_connect: raise an error if some validation error occurs
If a validation error occurs in `find_or_create`, an object without `id`
will be returned–and the code will crash soon after.

Ensure that we crash immediately, so that we can report the root cause
(the validation error) instead of a seemingly-unrelated crash later.
2019-07-09 15:50:28 +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
ecfccae6f0 dossiers: remove support for Dossier#expects_multiple_submissions 2019-07-09 14:50:11 +02:00
simon lehericey
d36f6ebcd7 [fix #1709] A user can change its email 2019-07-09 11:55:17 +02:00
simon lehericey
d68d2be798 Profil: accessible to all roles 2019-07-09 11:55:17 +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
7e98213829 Pass the signed-in user as the commentaire author from /contact 2019-07-08 16:06:44 +02:00
Nicolas Bouilleaud
72fd5d250f Respect dossier.messagerie_available? in SupportController (/contact) 2019-07-08 16:06:44 +02:00
simon lehericey
c7e10fc43f Manager: remove repasser_en_instruction 2019-07-02 18:40:20 +02:00
simon lehericey
b2c987ff0d [fix #3683] Dossier: add repasser_en_instruction! 2019-07-02 18:40:20 +02:00
simon lehericey
b79220e711 UI 2019-07-02 18:35:47 +02:00
Paul Chavard
fb0ef15e3c Export dossiers v2 2019-07-02 14:20:29 +02:00
Paul Chavard
1781a49932 Add order param to API 2019-06-20 15:28:16 +02:00
Nicolas Bouilleaud
eb592f8ddf Add manager controller for bill signatures 2019-06-17 16:16:28 +02:00
Nicolas Bouilleaud
1ac6cad132 Display previous followers in “personnes impliquées” 2019-06-12 17:33:53 +02:00
Chaïb Martinez
eccd456325 Add crisp
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-06-05 17:41:47 +02:00
Paul Chavard
d5911071f8 Return dossiers on api with stable order 2019-06-04 15:34:49 +02:00
Paul Chavard
ff44b7a600 Refactor purge pj to be more generic 2019-05-29 15:54:51 +02:00
Chaïb Martinez
920c8c0c32 Add Gestionnaire ID and ROLES
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-05-27 16:30:03 +02:00
Paul Chavard
6a3413018a Refresh attachments with virus scan result 2019-05-21 14:21:55 +02:00
Paul Chavard
4a9ef5d12e Always use purge_later 2019-05-21 14:05:33 +02:00
Paul Chavard
348b15f595 Put devtools behind feature flags 2019-05-15 18:10:25 +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
b8bf662c6d Track dossier demander un avis 2019-05-14 14:31:03 +02:00
Paul Chavard
9c472e6524 Track dossier private annotations modifications 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
a226999382 redirect to same path after use signup 2019-05-13 15:28:25 +02:00
clemkeirua
4aab72be68 implementation du systeme de PJ de motivation 2019-05-07 08:54:29 +02:00
Pierre de La Morinerie
67fb561119 Apply suggestions from code review
Co-Authored-By: n-b <nico@bou.io>
2019-05-06 16:19:08 +02:00
Nicolas Bouilleaud
3ff0c83485 Add multi-admin UI
refs #1626
2019-05-06 16:19:08 +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
Paul Chavard
1c71355574 Better warnings in test mode 2019-04-30 11:03:24 +02:00
simon lehericey
1d051dc3ef Can change a piece_justificative_template on a type_de_champ 2019-04-18 11:13:35 +02:00
simon lehericey
11f8e7a3f9 Small refactor 2019-04-18 11:13:35 +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
9c6c11027c [Fix #3064] Add service footer on notification emails 2019-04-11 11:03:13 +02:00
Mathieu Magnin
60d66f0422 [Fix #3064] Add logo and cancel link on preview 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
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
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
simon lehericey
65370b20a9 Use IPService to remove secure connexion from trusted networks 2019-04-03 15:21:19 +02:00
Paul Chavard
25c4391118 Update type de champ serialization for editor 2019-04-03 14:38:07 +02:00
Paul Chavard
639facaf2a Add new types_de_champ#move api 2019-04-03 14:38:07 +02:00
Paul Chavard
e71cdcd12c Move all the trackers to a separate js pack 2019-04-02 17:33:53 +02:00
Pierre de La Morinerie
a8050ce136 stats: display only the last year of contact rate 2019-04-02 17:22:38 +02:00
Pierre de La Morinerie
031c40aa55 stats: display 12 weeks of feedbacks 2019-04-02 17:22:38 +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
clemkeirua
0d71120f98 [fix #306] Possibilité de joindre un document à un avis 2019-03-28 15:45:14 +01:00
Pierre de La Morinerie
dd4eae7d62 admin: add a expects_multiple_submissions property on procedures 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
Frederic Merizen
5e21ebd93f Move procedure library to new design 2019-03-28 13:50:29 +01:00
Pierre de La Morinerie
d267d782b8 help: add administration contact on /commencer pages 2019-03-28 11:36:24 +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
549b17f75e help: add a custom help dropdown in dossier context 2019-03-20 11:06:54 +01:00
Pierre de La Morinerie
36f9909066 webhook: make helpscout email search case-insensitive
Fix #3636
2019-03-20 10:41:13 +01:00
Paul Chavard
69a51e3296 Save SIRET data on search 2019-03-19 16:22:42 +01:00
simon lehericey
ed6828c66c Notification: UI 2019-03-18 16:37:51 +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
93ceb79dd1 An admin should always have access to the service of it’s procedures 2019-03-12 11:59:01 +01:00
Paul Chavard
504b26bf5e Add administrateur to demarche from manager 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
01b966ff66 Check demarche ownership on multiple administrateurs 2019-03-12 11:59:01 +01:00
Mathieu Magnin
44f28ec565 Remove feature flag for publish draft 2019-03-12 11:26:07 +01:00
Frederic Merizen
8d8376947d [Fix #3477] Individually remove values from multi-value filter 2019-03-11 17:14:17 +01:00
Frederic Merizen
393f1b1971 [#3477] Move eager_load_displayed_fields to model 2019-03-11 17:14:17 +01:00
Frederic Merizen
c81adb80fd [#3477] Better choice of case vs if 2019-03-11 17:14:17 +01:00
Frederic Merizen
66fa7ef11d [#3477] Push up reliance on mutable state 2019-03-11 17:14:17 +01:00
Frederic Merizen
ac4750e5e3 [#3477] Simplify removing a filter 2019-03-11 17:14:17 +01:00
Frederic Merizen
822a3f7098 [#3477] Extract helper to find field 2019-03-11 17:14:17 +01:00
Frederic Merizen
bda41d7574 [#3477] Clarify field_id 2019-03-11 17:14:17 +01:00
Frederic Merizen
58158938cb [#3477] Extract helper 2019-03-11 17:14:17 +01:00
Frederic Merizen
5e1dc7059a [#3477] Allow selecting the same filter repeatedly 2019-03-11 17:14:17 +01:00
maatinito
766e9db752 converting DateTime to Date looses time zone information resulting in bad time computing
Specifically, for Tahiti, time zone is -10 so after 14h, UTC time is Tahiti time + 10h i.e the day after. Loosing time zone results in 1 day difference whether the time is computed before of after 14h :-)
2019-03-08 17:58:58 +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
Paul Chavard
f7af01e0dc Create new procedures with administrateurs 2019-02-26 16:38:58 +01:00
Chaïb Martinez
93a0edcce0 Il y avait une issue crée, je push sur une nouvelle branche 2019-02-21 17:50:58 +01:00
Paul Chavard
84383fc3c1 Assigne admins to procedure.administrateurs 2019-02-20 17:10:57 +01:00
Paul Chavard
aad685bb79 Show preview with correct type de champ options
fix #3439
2019-02-19 16:37:42 +01:00
Mathieu Magnin
540201cef5 Fix sentry 230 2019-02-19 12:40:19 +01:00
Mathieu Magnin
cf610bbd91
Merge branch 'dev' into enforce-rubocop-timezone 2019-02-18 17:41:41 +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
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
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
Chaïb Martinez
9cf0ec7d02 support: fix dossier id sent to HelpScout 2019-02-13 12:19:00 +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
a6704c4cd6 dossiers: allow users to delete "en construction" dossiers 2019-02-07 11:07:07 +01:00
Pierre de La Morinerie
d251ebc2f4 dossiers: shorten method name 2019-02-06 18:20:35 +01:00
Paul Chavard
071448e1d9 Champ Repetition dossier editor 2019-02-04 16:19:07 +01:00
Paul Chavard
9b7b59f67e Champs editor should handle repetition type 2019-02-04 11:58:26 +01:00
Pierre de La Morinerie
34a2dc6b97 stats: turn satisfaction into a stacked area chart 2019-02-01 11:02:37 +01:00
Pierre de La Morinerie
803364490d carto: present API InternalServerError to the user, instead of failing 2019-01-28 18:22:55 +01:00
Mathieu Magnin
e18f9d9dfa [Fix Sentry 97] pass a string to flash instead of array 2019-01-24 15:49:46 +01:00
Pierre de La Morinerie
fb75461c78 procedure: delete dossiers on destroy 2019-01-23 17:19:36 +01:00
Pierre de La Morinerie
022cf33853 contact: fix sending a message to the messagerie
Fix #3313
2019-01-22 16:12:13 +01:00
pedong
6103176a78 [fix #1238] add previsualization attestation for gestionnaire 2019-01-22 14:54:24 +01:00
Pierre de La Morinerie
bb753ce23e commencer: redirect to the procedure page after sign-in and sign-up 2019-01-21 14:45:38 +01:00
Pierre de La Morinerie
016e5f2e6f commencer: add an independant page 2019-01-21 14:45:38 +01:00
Mathieu Magnin
910d471d86 If archived_at & published_at equal nil (tests procedures), then use created_at order 2019-01-17 14:04:58 +01:00
Paul Chavard
41c9b21509 Use new editor 2019-01-17 11:20:31 +01:00
Paul Chavard
e1a1a2b2ad Add new admin procedure update action 2019-01-17 11:20:31 +01:00
Pierre de La Morinerie
ae763d93f3 sign_up: display procedure context if available 2019-01-17 11:07:09 +01:00
Pierre de La Morinerie
4fd9fa6610 sign_in: extract the procedure context to a ProcedureContextConcern 2019-01-17 11:07:09 +01:00
Pierre de La Morinerie
e580d336e4 sessions: add a helper to clear the stored return path 2019-01-17 10:48:54 +01:00
Pierre de La Morinerie
8b95da5ee5 layouts: migrate sign_up to the shared layout 2019-01-16 14:49:51 +01:00
Pierre de La Morinerie
62ee710382 sign_in: remove hack for displaying the procedure context
Before there was no way to display the informations about a procedure
without having a dossier. Thus an empty dossier was created.

Now we can display the informations of a procedure using a @procedure
instance variable, so we can move this hack away.
2019-01-16 14:25:12 +01:00
Pierre de La Morinerie
d36696442b layouts: migrate sign_in to the shared layout 2019-01-16 14:25:12 +01:00
Pierre de La Morinerie
ac88d1cc1d stats: display the last day of the range (instead of the first day) 2019-01-10 16:17:00 +01:00
Pierre de La Morinerie
908771e172 stats: use group_by_week to compute the week range
Fix #3242
2019-01-10 16:17:00 +01:00
simon lehericey
29fff9ee68 [fix #3269] bufferize login token email 2019-01-10 12:06:35 +01:00
simon lehericey
b38fbc78ef SessionControllerSpec: remove specific attribut test
change user.update(log_in_with_france_connect: nil) as log_in_france_connect is an enum
2019-01-09 13:49:47 +01:00
Pierre de La Morinerie
e25bd7139f layouts: use a common procedure_context layout for the demarche overview 2019-01-07 15:39:58 +01:00
Pierre de La Morinerie
5a36546485 layouts: rename "application" to "application_old" 2019-01-07 12:17:05 +01:00
Pierre de La Morinerie
86b9e2d092 stats: fix exception when HelpScout env vars are missing
This fixes the stats page, which used to raise an exception when
HelpScout env vars are not present.
2019-01-03 17:27:56 +01:00
Pierre de La Morinerie
efae27b901 stats: start helpscout stats at 01-2018
Data before is very variable, as it is based on a low dossiers count.
2019-01-03 17:23:22 +01:00
gregoirenovel
0596d53ac2 Enable the Lint/UnusedBlockArgument cop 2019-01-03 10:53:50 +01:00
gregoirenovel
baf7977786 Enable the Lint/StringConversionInInterpolation cop 2019-01-03 10:53:50 +01:00
gregoirenovel
d473119f9d Enable the Lint/ParenthesesAsGroupedExpression cop 2019-01-03 10:53:50 +01:00
gregoirenovel
386fbce776 Enable the Layout/SpaceBeforeBlockBraces cop 2019-01-03 10:53:50 +01:00
Chaïb Martinez
802f2086d6 Redirect admins with no démarches to the new demarche page 2018-12-28 18:57:51 +01:00
maatinito
4ad3a60e25 [Fix #2575] Créer automatiquement un compte instructeur aux administrateurs 2018-12-26 09:44:20 -10:00
gregoirenovel
a8f700b572 Enable the Style/FormatString cop 2018-12-19 13:56:10 +01:00
gregoirenovel
e69310fe07 ModuleApiCartoService → ApiCartoService 2018-12-19 10:29:11 +01:00
gregoirenovel
026fd1aaa2 Use parentheses 2018-12-18 22:18:38 +01:00
Pierre de La Morinerie
d614ea6bd5 stats: display contact rate 2018-12-18 10:38:59 +01:00
Mathieu Magnin
edf3eefa87 Fix Sentry 114, Instructeur can delete pj in private champs 2018-12-13 17:27:05 +01:00
simon lehericey
db6c86b242 DossierController: user can destroy pjs 2018-12-06 10:45:10 +01:00
Frederic Merizen
4699e515ed [Fix #2999] Send gestionnaire back to what they were doing after email verification 2018-12-06 10:03:21 +01:00
Paul Chavard
35494df78e Procedure export dossiers with champs siret 2018-12-05 17:09:39 +01:00
Paul Chavard
a08f170dbd Assign users and gestionnaires to commentaires
fix #2052
2018-12-05 13:40:57 +01:00
Paul Chavard
35d2bc36fc cleanup selection_utilisateur geo_json 2018-11-29 17:10:14 +01:00
Paul Chavard
b9af07b845 Add admin support contact form 2018-11-28 16:50:37 +01:00
gregoirenovel
684314c117 Fix a typo 2018-11-28 16:41:56 +01:00
Paul Chavard
575a437f97 Remove carto from admin/procedure controller 2018-11-27 16:11:25 +01:00
Paul Chavard
9ff65efea8 Remove deprecated carto from dossiers controller 2018-11-27 16:11:25 +01:00
Paul Chavard
37a7e26fc3 Remove unused users/carte_controller 2018-11-27 16:11:25 +01:00
Paul Chavard
0f0ca2ec65 Lod dossier operations 2018-11-27 12:49:40 +01:00
Paul Chavard
15b1499e5d Use state change methods on dossier in dossier controller 2018-11-27 12:49:40 +01:00
Paul Chavard
febf625dd9 Make difference between error and empty geo json 2018-11-27 12:36:10 +01:00
Paul Chavard
f2e7feec1d Do not send error json to backend - it doesn’t need it and it creates bad data 2018-11-27 11:45:24 +01:00
gregoirenovel
e8c24c27e5 [Fix #110] Remove any reference left to facades 2018-11-22 11:25:55 +01:00
gregoirenovel
dc89c7f530 [Fix #3027] Redirect to the demarches index after a demarche deletion 2018-11-22 02:06:48 +01:00
gregoirenovel
d0ec53a494 Move accessibilite to the root controller 2018-11-22 02:00:54 +01:00
gregoirenovel
82d764e340 Move tour_de_france to the root controller 2018-11-22 02:00:54 +01:00
Chaïb Martinez
0e8d235800 Add some params to track forms submissions 2018-11-21 18:25:47 +01:00
Mathieu Magnin
3ce9dd39af [Fix #3008] Soft delete demarche button in manager 2018-11-21 14:29:42 +01:00
Paul Chavard
c99ef811b6 Do not save error json in database 2018-11-21 13:03:01 +01:00
Paul Chavard
49c872fb97 Fail fast if passed champ_id is invalid 2018-11-21 13:03:01 +01:00
Paul Chavard
d43068ace5 Disable carto for new procedures 2018-11-20 12:14:10 +01:00
Paul Chavard
2462e42b53 Stop using legacy api carto after migration 2018-11-20 10:53:14 +01:00
Frederic Merizen
101e8e2588 [#2999] Rediriger vers la bonne page apres login
(ne corrige pas le cas ou l'utilisateur est passe par le mail de confirmation)
2018-11-16 15:44:20 +01:00
Paul Chavard
2eb61bd6ed Move dossier invites handler to invites controller 2018-11-14 15:16:49 +01:00
simon lehericey
fb76197404 SessionController: flipflop trusted device 2018-11-13 10:41:45 +01:00
simon lehericey
36621bffeb FlipFlop: enable for gestionnaire 2018-11-13 10:41:45 +01:00
simon lehericey
457bc13c75 SessionController: do not display 'Connecté' when a login_link is required 2018-11-13 10:41:45 +01:00
simon lehericey
87967568b7 SessionController: if a admin is login in, redirect to admin page 2018-11-13 10:41:45 +01:00
simon lehericey
0d8d2de5a6 Session: add trusted_device cookie 2018-11-13 10:41:45 +01:00
simon lehericey
5690599289 Session: send a mail to confirm gestionnaire login 2018-11-13 10:41:45 +01:00
Pierre de La Morinerie
c7ac43cfe7 confirmation: add a dedicated page with confirmation instructions
Fix #2586
2018-11-08 16:20:05 +01:00
Paul Chavard
624b442cd7 Remove “Outil de changement d'état d'un dossier” 2018-11-08 14:56:45 +01:00
Paul Chavard
80189def98 Remove n+1 calls from API queries 2018-11-08 14:45:09 +01:00
Chaïb Martinez
8d02b4dbdf Add Matomo Suivi page 2018-11-08 14:25:37 +01:00
Paul Chavard
a7de2e68ed Refactor types_de_champ views to use service instead of facade 2018-11-07 11:36:10 +01:00
Mathieu Magnin
62c01706df [Fix #2867] fix default sort for administrate 2018-11-06 19:22:01 +01:00
Pierre de La Morinerie
b0541fba79 users: sign-in after confirming an account within a short time 2018-11-06 18:24:34 +01:00
Frederic Merizen
d564eb1225 [#835] Report failed and successful invitations 2018-11-06 16:40:42 +01:00
Frederic Merizen
8cf235f2fd [#835] Enable html5 validation of multiple mails 2018-11-06 15:44:43 +01:00
Frederic Merizen
c7358a8f53 [Fix #835] Enable asking for multiple avis at the same time 2018-11-06 15:44:43 +01:00
Frederic Merizen
31ca0552ab [#835] Extract avis creation into concern 2018-11-06 15:44:43 +01:00
gregoirenovel
19a6391dc8 [#835] Use the create_avis_params method instead of the params hash 2018-11-06 15:44:43 +01:00
Paul Chavard
cfd1950e17 Migrate commencer to new_user 2018-11-01 13:10:41 +01:00
Paul Chavard
e391fe6bec Clarify procedure path availability code 2018-10-30 15:59:37 +01:00
Paul Chavard
6e4d111e09 Refactor and fix procedure update error handling 2018-10-30 15:59:37 +01:00
Mathieu Magnin
e90c541ab4 [Fix #2276] When service creation fails form is not cleared 2018-10-30 15:49:18 +01:00
gregoirenovel
6bc1a8cb71 Remove the confirmation button from the manager 2018-10-30 15:24:30 +01:00
Paul Chavard
725e88a89a Rename :procedure_path -> :path 2018-10-30 12:01:45 +01:00
Paul Chavard
f1fd1b38ec Refactor procedures_controller 2018-10-30 12:01:45 +01:00
Paul Chavard
641831864b Refactor commencer actions 2018-10-30 12:01:45 +01:00
simon lehericey
2238e5bd9f Time.now => Time.zone.now 2018-10-26 10:10:20 +00:00
simon lehericey
13ffa61435 DateTime.now => Time.zone.now 2018-10-26 10:10:20 +00:00
Paul Chavard
fba0fad22e Show warning on dossier pages when procedure is brouillon 2018-10-25 18:05:47 +02:00
Paul Chavard
72db9084a8 Fix old carto exception when no selection is passed 2018-10-24 13:16:50 +02:00
Paul Chavard
c0344fc30e Fix procedures with multiple dossier link champs 2018-10-24 10:44:28 +02:00
Paul Chavard
5a8a4b393f Add RPG carte source 2018-10-23 18:13:44 +02:00
Frederic Merizen
7baa239095 [#2604] Introduce errors when retrieving ProcedurePresentation 2018-10-23 16:34:38 +02:00
Frederic Merizen
dd80cc280a [#2604] Extract method in ProceduresController 2018-10-23 16:34:19 +02:00
Paul Chavard
c8c75fc254 Better handle empty user selection layers 2018-10-23 09:35:25 +02:00
Paul Chavard
99e1a20d98 Add champ carte endpoint 2018-10-23 09:35:25 +02:00
Paul Chavard
53a261f424 Don’t rely on a decorator for ProcedureSerializer#geographic_information 2018-10-22 23:28:16 +02:00
Paul Chavard
4ebc0b7f4c Refactor link attribute generation on ProcedureSerializer 2018-10-22 23:28:16 +02:00
Paul Chavard
e5d8d351ba Fix sentry errors in old carto module 2018-10-22 15:40:19 +02:00
Frederic Merizen
4b2a06acb5 [#2874] Show archived / followed status of dossier in search result 2018-10-18 16:05:19 +02:00
Pierre de La Morinerie
65bdfacd8c dossier: remove old SIRET code, controllers and views 2018-10-18 15:46:00 +02:00
simon lehericey
fd9bdbf31d StatsController: avoid doing useless queries 2018-10-18 11:50:43 +02:00
Pierre de La Morinerie
93f1a53dfc dossier: add page for etablissement 2018-10-17 10:37:06 +02:00
Pierre de La Morinerie
310f4b92d1 dossier: add action to save SIRET number 2018-10-17 10:37:06 +02:00
Pierre de La Morinerie
54ba0f8e50 dossier: add new page for SIRET identification 2018-10-17 10:37:06 +02:00
simon lehericey
aff085bb6b StatsController: avoid division by nil 2018-10-16 18:02:00 +02:00
gregoirenovel
99894961a5 AddressController#get → #suggestions 2018-10-16 09:38:53 +02:00
gregoirenovel
43f9fc93de AddressController#get_address_point → #geocode 2018-10-16 09:38:53 +02:00
gregoirenovel
79ebdc3443 Ban::SearchController → AddressController 2018-10-16 09:38:53 +02:00
gregoirenovel
22088b167d Remove ApiAdresse::Geocodeur 2018-10-16 09:33:16 +02:00
gregoirenovel
7af41b35a2 ApiAdresse::AddressAdapter#list → #get_suggestions 2018-10-16 09:33:16 +02:00
gregoirenovel
517c0ad3fc ApiAdresse::AddressRetriever → ApiAdresse::AddressAdapter 2018-10-16 09:33:16 +02:00
gregoirenovel
5e9e913dce Carto::Geocodeur → ApiAdresse::Geocodeur 2018-10-15 20:55:46 +02:00
gregoirenovel
dac2019675 Carto::Bano → ApiAdresse 2018-10-15 20:55:46 +02:00
gregoirenovel
22beb41240 Unify #generate_qp with #generate_cadastre 2018-10-15 16:45:30 +02:00
gregoirenovel
2ed4c1da1c Use round brackets 2018-10-15 16:45:30 +02:00
simon lehericey
3d51b7f4a3 so crazy right now 2018-10-15 14:55:07 +02:00
simon lehericey
21e3dc1498 Let the stats be great again 2018-10-15 14:55:07 +02:00
simon lehericey
17b100b4e9 ControllerStat: renaming 2018-10-15 14:55:07 +02:00
Paul Chavard
c6a28d1444 Cleanup carto save 2018-10-14 12:34:44 +02:00
Paul Chavard
dff4f2116a Move geographical zones list to a partial 2018-10-14 12:34:43 +02:00
Paul Chavard
b5a3fc76fb Remove legacy carto routes 2018-10-14 12:34:43 +02:00
Paul Chavard
59c1b24f3c Change demarche modifee message
fix #2821
2018-10-13 11:06:31 +02:00
simon lehericey
888bbee097 [fix #2818] DossierController: ensure save_draft is authorized 2018-10-12 12:14:49 +02:00
gregoirenovel
c8f872c566 InviteUser → Invite 2018-10-10 12:07:10 +02:00
gregoirenovel
46d02d3e2b Remove a return 2018-10-10 10:38:57 +02:00
gregoirenovel
89dec3d363 Add a variable to ease code reading 2018-10-10 10:38:57 +02:00
gregoirenovel
4e2964aec3 Unify code in Users::Dossiers::InvitesController#show 2018-10-10 10:38:57 +02:00
gregoirenovel
662349c8bb Remove InviteDossierFacades 2018-10-10 09:36:05 +02:00
Frederic Merizen
fc157c3e4c [#2750] Move sorted_ids to ProcedurePresentation 2018-10-10 09:07:57 +02:00
Frederic Merizen
2e9dafb4c3 [#2750] Move filtered_ids to ProcedurePresentation 2018-10-10 09:07:57 +02:00
Frederic Merizen
0e9b40ccf6 [#2750] Move fields from Procedure to ProcedurePresentation 2018-10-10 09:07:57 +02:00
Frederic Merizen
efcac5192a [#2750] Move fields_for_select to ProcedurePresentation 2018-10-10 09:07:57 +02:00
gregoirenovel
f3caa8ef7f Remove apipie (and maruku) 2018-10-09 17:23:07 +02:00
gregoirenovel
98d348aab1 Remove the delete demarche feature for admins 2018-10-09 16:42:32 +02:00
Paul Chavard
bcbfc370b2 Add button in manager to transition démarche in brouillon state
fix #2565
2018-10-09 16:14:18 +02:00
Paul Chavard
cc96723475 Allow users to fill dossiers on démarches en brouillon 2018-10-09 15:05:08 +02:00
Frederic Merizen
eafd0e8348 Evite de cacher la whitelist trop longtemps 2018-10-04 18:09:39 +02:00
gregoirenovel
12f0c99b5a Remove FC fields from instructeur table customisation 2018-10-04 13:54:07 +02:00
gregoirenovel
5f8e8caeb5 Stop auto copying the FC infos to the dossier identity 2018-10-04 13:54:07 +02:00
Paul Chavard
44511acfed Do not reload page when instructeur change dossier state
fix #2425
2018-10-04 11:12:43 +02:00
Pierre de La Morinerie
627df7a1f3 session: migrate the password pages to the new design 2018-10-03 15:10:02 +02:00
Pierre de La Morinerie
bfd106ba30 session: migrate the "token confirmation" page to the new design 2018-10-03 15:09:30 +02:00
gregoirenovel
c91a1cf474 Enable Style/SymbolArray 2018-10-03 12:15:48 +02:00
gregoirenovel
d9d4f6fe20 Enable Style/SymbolProc 2018-10-03 12:15:48 +02:00
gregoirenovel
a171186dd8 Enable Style/TrailingCommaInHashLiteral 2018-10-03 12:03:21 +02:00
gregoirenovel
d1439f8a52 Enable Style/YodaCondition 2018-10-03 12:00:17 +02:00
Paul Chavard
941c529b2c Remove CGU checkbox
fix #2725
2018-10-03 08:59:02 +02:00
Mathieu Magnin
a029aa62b1 [Fix #2674] Add Services to manager 2018-10-02 16:17:17 +02:00
Pierre de La Morinerie
36c1aa118d dossier: remove RecapitulatifController
And add a redirection to the new URLs.
2018-10-02 15:42:29 +02:00
Pierre de La Morinerie
bf9f427299 dossier: remove DescriptionController 2018-10-02 14:40:47 +02:00
Pierre de La Morinerie
3392df0029 dossier: remove CommentairesController 2018-10-02 14:40:38 +02:00
Pierre de La Morinerie
758ccff984 dossier: remove feature flag 2018-10-02 12:25:44 +02:00
gregoirenovel
cf69c28979 Fix scope for logo/notice/deliberation deletion 2018-10-02 11:03:48 +02:00
gregoirenovel
b994fa4206 Do one thing per line 2018-10-01 16:15:46 +02:00
Pierre de La Morinerie
5f1ce48d2e invites: update link to dossier 2018-09-27 17:22:59 +02:00
Pierre de La Morinerie
08dfe7d13a support: update link to messagerie 2018-09-27 17:22:59 +02:00
Paul Chavard
3c66fceba5 Replace password strength js with ujs 2018-09-27 16:00:14 +02:00
simon lehericey
16566b46c0 DossierController: private some methods 2018-09-27 10:24:56 +02:00
simon lehericey
912371fbd6 DossierController: use new token validation 2018-09-27 10:24:56 +02:00
simon lehericey
8dd4a1ca4e ProcedureController: remove useless logger call 2018-09-27 10:24:56 +02:00
simon lehericey
3c95273d6f ProcedureController: use new token validation 2018-09-27 10:24:56 +02:00
simon lehericey
0b2a98cdce ApiController: private some methods 2018-09-27 10:24:56 +02:00
simon lehericey
f7c23bb435 ApiController: remove ensure_token_is_present
An admin without token answer false to admin.api_token_valid?(api_token) with api_token=*
2018-09-27 10:24:56 +02:00
simon lehericey
4a04f2e59f ApiController: check token validity for a given admin 2018-09-27 10:24:56 +02:00
simon lehericey
d576d426f4 ApiController: remove old authenticate logic
The old logic cannot work anymore as we cannot `find_by api_token`
2018-09-27 10:24:56 +02:00
simon lehericey
8c4f8347ca Api Token: store token in an encrypted form 2018-09-27 10:14:32 +02:00
simon lehericey
1997f45d7e Api Token: do not generate one token by default 2018-09-27 10:14:32 +02:00
simon lehericey
17285b0368 Profil: display token only once 2018-09-27 10:14:32 +02:00
simon lehericey
bd04972f65 Profile: move to new design 2018-09-27 10:14:32 +02:00
Paul Chavard
f94a24d7ce Add path field to procedure information form 2018-09-26 10:53:45 +02:00
Mathieu Magnin
2507f963b1 [Fix #1285] Create an endpoint to check password strength 2018-09-26 09:03:04 +02:00
Frederic Merizen
b521095010 [#2258] Notify administrator of problems saving the types de champs 2018-09-25 20:31:42 +02:00
Frederic Merizen
7d382837d9 [Fix #2622] Change filters to proper JSONB 2018-09-24 19:39:01 +02:00
Frederic Merizen
1419e9b73f [#2622] Change sort to proper JSONB 2018-09-24 19:39:01 +02:00
Frederic Merizen
68608307ad [#2622] Change displayed_fields to proper JSONB 2018-09-24 19:39:01 +02:00
gregoirenovel
5b011fef59 [Fix #2652] Add the /tour-de-france page 2018-09-24 18:07:29 +02:00
Pierre de La Morinerie
682e29a211 dossier: refactor the pages permissions
Fixes the invites not being able to create a commentaire.
2018-09-24 17:05:27 +02:00
Pierre de La Morinerie
a5419b2f08 dossier: fix redirection to dossiers/invite 2018-09-24 17:05:27 +02:00
gregoirenovel
7b3a7d2336 [Fix #187] Allow an admin to delete their demarche logo 2018-09-24 13:29:35 +02:00
gregoirenovel
94378e3663 [Fix #2332] Allow the notice deletion 2018-09-24 12:25:10 +02:00
gregoirenovel
535f9004bf Admins can delete the attestation template's logo 2018-09-24 10:15:22 +02:00
gregoirenovel
d649e29bb0 [Fix #1979] Admins can delete the attestation template's signature 2018-09-24 10:15:02 +02:00
gregoirenovel
0c9628c180 Fix some files according the the .editorconfig rules 2018-09-20 16:23:09 +02:00
Paul Chavard
905a715e16 Fix dossier link 2018-09-20 16:05:40 +02:00
gregoirenovel
b317b49b3d Confirmation → activation 2018-09-20 10:43:07 +02:00
Pierre de La Morinerie
e5f4056fe2 invite: fix prefilling the invited user email 2018-09-19 12:41:09 +02:00
Pierre de La Morinerie
bc55afba51 invite: clarify logic of sign-up redirection 2018-09-19 12:41:09 +02:00
Pierre de La Morinerie
082ef92a99 invite: move invites link to the after_confirmation callback
Refactored from 6a69d958da

The `after_confirmation_path_for` isn't really made to be a callbback.
For instance, it is not executed during tests.

Moving the invitations linking to a proper documented callback allows
the linking to work in a testing environment, when invoking `user.confirm`.
2018-09-19 12:08:28 +02:00
Pierre de La Morinerie
38f6d11c57 dossier: finish feature-switch for enabled new dossier details 2018-09-18 16:48:27 +02:00
Frederic Merizen
63fc0b3bc3 [Fix #2584] Move Field related code to a service 2018-09-18 13:49:34 +02:00
Paul Chavard
18922122b4 Fix SQL ambiguous name error 2018-09-18 13:21:29 +02:00
Paul Chavard
e2f13a8b73 Use helpers rather then view_context 2018-09-18 12:06:27 +02:00
gregoirenovel
f696560a14 Affichage du service dans la liste des démarches 2018-09-18 10:44:49 +02:00
gregoirenovel
cac202342a Remove a new useless helper 2018-09-13 16:27:46 +02:00
gregoirenovel
aba0c1dcd6 Add links to the most popular demarches 2018-09-13 16:27:46 +02:00
gregoirenovel
9fe9f9b616 Add a new demarches page, showing the demarches already done 2018-09-13 16:27:46 +02:00
Frederic Merizen
a94397a70c [Fix #2562] Make dossier filters case insensitive 2018-09-13 10:29:22 +02:00
Paul Chavard
55a9b31b93 Cleanup SIRET champ 2018-09-12 15:53:02 +02:00
Paul Chavard
3f6cc668a7 Implement check_availability route 2018-09-12 12:37:15 +02:00
gregoirenovel
f8a6765367 [Fix #2540] Allow an instructeur to send a dossier to several instructeurs 2018-09-11 18:00:24 +02:00
Paul Chavard
5a794cbb08 Use Procedure#publish_or_reopen! 2018-09-11 10:38:31 +02:00
Paul Chavard
e6485603c4 Add ProcedurePath#valid? 2018-09-11 10:38:31 +02:00
Paul Chavard
de908ef4be Extract ProcedurePath#find_by_path 2018-09-11 10:38:31 +02:00
gregoirenovel
50019e5317 Show user satisfaction in percentages 2018-09-11 10:17:40 +02:00
gregoirenovel
26e0ada3d4 Improve the ratings stats
Make sure that for each data point, we have do not
have any partial data (e.g. a week that hasn’t
finished yet)
2018-09-11 10:17:40 +02:00
gregoirenovel
05d2988f61 Format FeedbackController like the other controllers 2018-09-11 10:10:43 +02:00
gregoirenovel
d504af3216 FeedbacksController should inherit from UserController 2018-09-11 10:10:43 +02:00
Paul Chavard
f3333595a0 Drop text_summary endpoint 2018-09-07 19:41:34 +01:00
Paul Chavard
c49db4b5a4 Add a champs/dossier_link endpoint and use it to fetch dossier info 2018-09-07 19:41:33 +01:00
Paul Chavard
e2a2748e79 Expose authenticated_logged_user! method 2018-09-07 17:11:19 +01:00
Paul Chavard
7e94f7778a Disable csrf forgery protection in test environement 2018-09-07 17:11:19 +01:00
Pierre de La Morinerie
21dc9f8109 messagerie: improve success message 2018-09-07 12:02:26 +02:00
gregoirenovel
23405efd3a Mutualize some code in #update_dossier_and_compute_errors 2018-09-07 10:19:10 +02:00
gregoirenovel
6fe1f912c8 Refactor DossiersController#update
Nested ifs are heavier but easier to understand
as related conditions are visually grouped
2018-09-07 10:19:10 +02:00
gregoirenovel
230bf22b77 Redactor DossierController#update_brouillon 2018-09-07 10:19:10 +02:00
gregoirenovel
f5debfef46 DossierController#draft? → #save_draft? 2018-09-07 10:19:10 +02:00
gregoirenovel
87e59e2bfb Streamline DossierController#update_brouillon and #update 2018-09-07 10:19:10 +02:00
gregoirenovel
1341074325 Add DossierController#update 2018-09-07 10:19:10 +02:00
gregoirenovel
cd46ee06e1 Add DossierController#modifier 2018-09-07 10:19:10 +02:00
gregoirenovel
338ffb8b50 DossierController#update → #update_brouillon 2018-09-07 10:19:10 +02:00
gregoirenovel
5ac8117c69 DossierController#modifier → #brouillon 2018-09-07 10:19:10 +02:00
gregoirenovel
00ecae5f93 Procédure → Démarche 2018-09-05 15:46:24 +02:00
Pierre de La Morinerie
af5df2d661 dossier: add "Messagerie" tab 2018-09-05 14:02:12 +02:00
Pierre de La Morinerie
5cfb200417 dossier: cache the dossier value 2018-09-05 13:56:12 +02:00
gregoirenovel
6b88968889 Formulaire → demande, when not editable 2018-09-05 11:07:11 +02:00
Pierre de La Morinerie
750e1e0c83 gestionnaire: move commentaire creation into a service 2018-09-04 18:52:43 +02:00
gregoirenovel
d05209d28f Make the stats code more robust to empty databases 2018-09-03 17:35:14 +02:00
Paul Chavard
0c582197da Do not send messages to brouillon dossier 2018-08-30 15:12:50 +01:00
Paul Chavard
ea5248dde1 Flatten tags list, cast to array and remove blank elements 2018-08-30 15:12:50 +01:00
Paul Chavard
b60805a54c Use mailto in error message 2018-08-30 15:12:50 +01:00
Paul Chavard
441e123e8a Do not lose form content on errors 2018-08-30 15:12:50 +01:00
gregoirenovel
6a33c30812 Rename the last “Gestionnaire” occurence in the UI to “Instructeur” 2018-08-30 14:42:09 +02:00
Frederic Merizen
37c45f0d29 [#2486] Always order champs
to help activerecord cache the champs collection
2018-08-30 14:13:32 +02:00
gregoirenovel
e60aa0c37b Use scopes when possible 2018-08-30 13:16:14 +02:00
gregoirenovel
47962ef795 Simplify route_authorization 2018-08-30 13:16:14 +02:00
gregoirenovel
bf9f3b40df Remove useless .to_s 2018-08-30 13:16:14 +02:00
gregoirenovel
de48dab031 Alignment 2018-08-30 13:16:14 +02:00
gregoirenovel
15d1b01a90 Code simplification 2018-08-30 13:16:14 +02:00
gregoirenovel
3662b82039 accompagnateur → instructeur 2018-08-29 23:09:08 +02:00
Paul Chavard
5f12ea43a7 Add helpscout webhook 2018-08-29 21:41:14 +01:00
gregoirenovel
4b071ecf06 Use enum to the fullest with Dossier.states 2018-08-29 17:31:08 +02:00
gregoirenovel
2d3b553e4d Use enum to the fullest with TypeDeChamp.type_champs 2018-08-29 17:31:08 +02:00
gregoirenovel
16a719922b Use enum to the fullest with User.loged_in_with_france_connects 2018-08-29 17:31:08 +02:00
Paul Chavard
509613afe6 Use contact_link helper instead of mailto 2018-08-29 16:08:01 +01:00
Paul Chavard
f5579aa14b Add type param to support form 2018-08-29 16:08:01 +01:00
gregoirenovel
0ac160c824 Remove the now useless stats API 2018-08-29 14:54:49 +02:00
gregoirenovel
00610991b7 [Fixes #2480] Add 30-days evolution stats to the stats page 2018-08-29 14:54:49 +02:00
Paul Chavard
bad107ffae Add contact form 2018-08-29 10:44:12 +01:00
Paul Chavard
41815cfb1c Add logged_in? helper 2018-08-29 10:43:47 +01:00
gregoirenovel
6b1ab9b552 Remove a now useless facade 2018-08-28 15:38:39 +02:00
gregoirenovel
4c7f9af73d Order the legend in the same order as the enum 2018-08-27 18:18:26 +02:00
gregoirenovel
577496cb06 Fix a typo 2018-08-27 17:58:53 +02:00
gregoirenovel
18624ff872 Update the stats code to use ratings instead of marks 2018-08-27 17:12:01 +02:00
gregoirenovel
3ba4ce0d37 Create feedbacks with ratings instead of marks 2018-08-27 17:12:01 +02:00
gregoirenovel
62878f9c5a Encourage users that give us feedback to write to us 2018-08-27 14:16:20 +02:00
gregoirenovel
83e081426c Redirect admins requests to the admin page after the form submission 2018-08-27 14:09:43 +02:00
gregoirenovel
b158a92493 Add a graph showing the user satisfaction 2018-08-27 14:00:34 +02:00
gregoirenovel
f381d45d1a Add a chart showing the dossiers state repartition 2018-08-27 14:00:34 +02:00
lucien mollard
9292e243ef Add a button to download the stats in CSV 2018-08-27 14:00:34 +02:00
Paul Chavard
c79827d551 [ENV] Configure default_url_options 2018-08-23 15:55:32 +02:00
simon lehericey
ee43650c32 Demande: add nb_of_procedure, deadline and nb_of_dossier fields 2018-08-23 12:12:39 +02:00
Frederic Merizen
a72388bb37 [#2179] Don't depend on current_gestionnaire in DossierSearchService 2018-08-23 11:57:06 +02:00
Frederic Merizen
57fd59b8d5 [#2179] Move code to DossierSearchService 2018-08-23 11:57:06 +02:00
Frederic Merizen
650a740642 [#2179] Remove dead code 2018-08-23 11:57:06 +02:00
Paul Chavard
097b06e314 Fix test dossier page 2018-08-14 16:47:31 +02:00
lucien mollard
0f790c4b07 separates the homepage into two parts, users/administrations 2018-08-14 16:12:51 +02:00
Pierre de La Morinerie
af95e56b50 dossier: add a page with the form 2018-08-14 15:25:27 +02:00
Paul Chavard
7237ff80cc Drop procedure dossiers when updating brouillon 2018-08-14 11:21:05 +02:00
Paul Chavard
9de3e6e74b Make info extraction method more safe 2018-08-13 18:32:00 +02:00
Paul Chavard
a6a4790a35 Replace logstasher with lograge 2018-08-13 12:44:00 +02:00
lucien mollard
9ecc5f7928 add a user satisfaction form' 2018-08-09 11:41:26 +02:00
simon lehericey
c4dfe34c4a AvisController: clean unused variable 2018-08-08 13:19:54 +02:00
Pierre de La Morinerie
77eb89cb0f dossier: add a stub page for the new dossier details 2018-08-08 11:49:15 +02:00
Pierre de La Morinerie
0ac28da207 dossier: make Dossiers#show a stub redirecting to the correct location 2018-08-08 11:49:15 +02:00
Paul Chavard
8b79c32a55 Do not rely on javascript for form submits without direct upload 2018-08-07 16:58:49 +02:00
Paul Chavard
a0979b1d57 Fix logstasher custom fields 2018-08-07 16:26:44 +02:00
Paul Chavard
c91abe73c5 Remove old user dossier form 2018-08-07 14:13:27 +02:00
Pierre de La Morinerie
1ca2ca9121 invite: support remote forms
This allows to keep the draft content when inviting a new user.
2018-08-01 17:41:12 +02:00
Pierre de La Morinerie
1cac0b80af invite: add button for invite someone to collaborate on a draft 2018-08-01 17:41:12 +02:00
Pierre de La Morinerie
9541e781bb invite: rename 'email' to 'invite_email' 2018-08-01 17:41:12 +02:00
Pierre de La Morinerie
728a92a0b3 siret: improve error messages 2018-07-30 17:49:00 +02:00
Mathieu Magnin
84937e3d43 Fix Sentry error 2755 2018-07-26 17:38:19 +02:00
gregoirenovel
abbd4e3c69 [Fix #2277] Do not crash when creating a service with invalid data 2018-07-25 14:22:44 +02:00
Pierre de La Morinerie
6e5840e838 manager: allow searching for deleted dossier
Deleted dossiers don't appear in the unfiltered list though. You have to
know its id to find it.
2018-07-24 11:06:18 +02:00
gregoirenovel
eb95fce194 [Fix #2272] Add a SIRET field to the Service form 2018-07-19 15:43:13 +02:00
gregoirenovel
81ac3d7c6b Bump development gems
- brakeman (4.3.0 → 4.3.1)
- rubocop (0.56.0 → 0.58.1)
2018-07-17 17:33:28 +02:00
gregoirenovel
ed436bfe77 [Fix #2260] Add a search field in the usager UI 2018-07-17 17:26:42 +02:00
Pierre de La Morinerie
7ca476fc61 manager: add confirmation email actions for the User
- Allow to re-send the confirmation email
- Allow to confirm the email address manually
2018-07-17 12:10:56 +02:00
simon lehericey
0e8a1f1678 [fix #2241] GestionnaireDossierController: allow linked drop down value in update 2018-07-12 14:11:42 +02:00
Pierre de La Morinerie
f5d3adba5e dossiers: remove unused dossiers list code
This code is unused since the user dossiers list uses the new UI.
2018-07-04 12:23:49 +02:00
Pierre de La Morinerie
4ab5d30044 dossiers: move the index method to the top of the controller 2018-07-04 11:49:24 +02:00
Pierre de La Morinerie
592331e9ac procedures: fix double N+1 requests in new_from_existing 2018-07-03 23:55:55 +02:00
Pierre de La Morinerie
b0a9e49549 procedures: group new_from_existing list by organization
As procedures are not grouped by Service (which are unique to an
administrator) but by organization, this allows procedures with the same
organization name to be displayed together.
2018-07-03 23:43:42 +02:00
Pierre de La Morinerie
56987e5147 procedures: add tests for new_from_existing 2018-07-03 23:43:41 +02:00
simon lehericey
49836564ce Manager: can change dossier state to instruction 2018-07-02 15:57:39 +02:00
Pierre de La Morinerie
b4b533f0c5 dossiers: change all links to use the new user dossiers list 2018-07-02 13:58:58 +02:00
Pierre de La Morinerie
f2ee88b278 dossiers: put last updated dossiers first 2018-07-02 13:58:58 +02:00
Mathieu Magnin
9afbd16bbf [Fix #2145] When procedure is archived, usager should not be able to submit a dossier 2018-07-02 11:10:33 +02:00
Frederic Merizen
b003fe9221 [Fix #2176] Allow setting page size in API 2018-06-29 17:34:35 +02:00
Paul Chavard
d0a6957862 Remove old cerfa code 2018-06-28 15:16:20 +02:00