Commit graph

3450 commits

Author SHA1 Message Date
Pierre de La Morinerie
bc55afba51 invite: clarify logic of sign-up redirection 2018-09-19 12:41:09 +02:00
gregoirenovel
8ea021fb69 Factorize code in a method 2018-09-19 12:31:59 +02:00
gregoirenovel
6b98c36dad Add Dossier#mean_traitement_time for the upcoming page de garde 2018-09-19 12:31:59 +02:00
gregoirenovel
f3a257d81d Show the mean verification time in the Résumé tab 2018-09-19 12:31:59 +02:00
gregoirenovel
d55c9dff4d Show the mean instruction time in the Résumé tab 2018-09-19 12:31:59 +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
Paul Chavard
9a338ec140 Change how we format brouillon démarche label 2018-09-19 11:27:55 +02:00
gregoirenovel
a0660d17eb Refactor SiretFormatValidator#luhn_checksum 2018-09-19 10:32:43 +02:00
gregoirenovel
9d18f4187c Simplify SiretFormatValidator
We can remove nil checks as we never get nil
values
2018-09-19 10:32:43 +02:00
gregoirenovel
4e4b7c617f [Fix #2618] Do not enforce Luhn for La Poste SIRET numbers 2018-09-19 10:29:43 +02:00
gregoirenovel
940dfe422b Further refactor SiretFormatValidator#validate_each 2018-09-19 10:28:07 +02:00
gregoirenovel
36950b985b Refactor SiretFormatValidator#validate_each 2018-09-19 10:15:44 +02:00
gregoirenovel
49d872452a Improve SiretFormatValidator readability 2018-09-19 10:15:44 +02:00
Pierre de La Morinerie
38f6d11c57 dossier: finish feature-switch for enabled new dossier details 2018-09-18 16:48:27 +02:00
Paul Chavard
36812793d4 Do not clone procedure path 2018-09-18 14:40:02 +02:00
Frederic Merizen
89a1d990e9 [#2584] Minor cleanup of DossierFieldService 2018-09-18 13:49:49 +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
b042efdcba Update procedure path attribute when procedure_path changes 2018-09-18 13:21:29 +02:00
Paul Chavard
b772256a97 Read from path attribute instead of procedure_path when possible 2018-09-18 13:21:18 +02:00
Paul Chavard
2787f040af Add path attribute to Procedure model 2018-09-18 13:21:18 +02:00
Paul Chavard
e2f13a8b73 Use helpers rather then view_context 2018-09-18 12:06:27 +02:00
Paul Chavard
db1a93ab35 fix procédure -> démarche 2018-09-18 11:22:06 +02:00
gregoirenovel
f696560a14 Affichage du service dans la liste des démarches 2018-09-18 10:44:49 +02:00
Pierre de La Morinerie
a820f2118a dossier: improve wording for 'en instruction' 2018-09-18 10:33:11 +02:00
Pierre de La Morinerie
4a5218ffe9 dossier: improve wording for 'en construction' 2018-09-18 10:33:11 +02:00
Pierre de La Morinerie
ea3267c0d7 dossier: don't display 'brouillon' in the timeline if not required
Unless the user is actually editing a brouillon, we don't need to show
this state.
2018-09-18 10:33:11 +02:00
Pierre de La Morinerie
de07171acd dossier: improve styling of finished dossier infos 2018-09-17 16:29:48 +02:00
Pierre de La Morinerie
a7cb4b6514 dossier: add download icon to attestation link 2018-09-17 16:29:48 +02:00
Pierre de La Morinerie
27727eabf3 dossier: add link to attestation when accepted 2018-09-17 16:29:48 +02:00
Pierre de La Morinerie
fd7f07a244 dossier: add link to messagerie when rejected 2018-09-17 16:29:48 +02:00
Pierre de La Morinerie
2de480d6e9 dossier: show latest message only when dossier is pending 2018-09-17 16:29:48 +02:00
gregoirenovel
cac202342a Remove a new useless helper 2018-09-13 16:27:46 +02:00
gregoirenovel
747992025b 'Create a new demarche' links now point to the demarches page 2018-09-13 16:27:46 +02:00
gregoirenovel
734efd0822 Scope the new demarche page to add space before the footer 2018-09-13 16:27:46 +02:00
gregoirenovel
118ba12d2b Add a footer to the new demarches page 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
523fdb5d45 Add a link to the page with all the 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
gregoirenovel
1f6870cd5e Display a footer in the dossiers index page 2018-09-13 10:46:32 +02:00
gregoirenovel
5166b79167 Extract the general footer row in a partial 2018-09-13 10:46:32 +02:00
gregoirenovel
cedf1ba427 footer → dossier_footer 2018-09-13 10:46:32 +02:00
gregoirenovel
6745b67dc4 Add some space before the footer on the dossier pages 2018-09-13 10:46:32 +02:00
gregoirenovel
8ec27d4348 Add a clearfix below the edit-form button
To avoid an overlap with the footer
2018-09-13 10:46:32 +02:00
gregoirenovel
20c7733a48 Display the dossier footer on all the dossier pages 2018-09-13 10:46:32 +02:00
Frederic Merizen
a94397a70c [Fix #2562] Make dossier filters case insensitive 2018-09-13 10:29:22 +02:00
Paul Chavard
bfe7240235 Fix event bubbling on Mobile Safari 2018-09-13 09:19:09 +02:00
gregoirenovel
0b6debf9a6 Fix a typo 2018-09-12 18:33:54 +02:00
Paul Chavard
55a9b31b93 Cleanup SIRET champ 2018-09-12 15:53:02 +02:00
gregoirenovel
2330d4ba71 In the messagerie, reduce the space between the file input and its label 2018-09-12 15:39:21 +02:00
Paul Chavard
3f6cc668a7 Implement check_availability route 2018-09-12 12:37:15 +02:00
Paul Chavard
14bf543976 Add enable and disable element helpers 2018-09-12 11:00:01 +02:00
Pierre de La Morinerie
926dc3e107 dossier: display latest message on summary page 2018-09-12 10:09:16 +02:00
Pierre de La Morinerie
b4eb382e26 Extract a part of #commentaire_is_from_me_class 2018-09-12 10:09:16 +02:00
gregoirenovel
f9230b85b2 Change CommentaireHelper#commentaire_is_from_me_class’s signature 2018-09-12 10:09:16 +02:00
Paul Chavard
2f189826ab Add some usefull polyfills for old browsers 2018-09-11 20:37:08 +02:00
gregoirenovel
c1bec7cf0b Pass the connected_user object instead of its email 2018-09-11 18:17:40 +02:00
gregoirenovel
f8a6765367 [Fix #2540] Allow an instructeur to send a dossier to several instructeurs 2018-09-11 18:00:24 +02:00
gregoirenovel
523edac4c5 Scope the select2 config call 2018-09-11 18:00:23 +02:00
gregoirenovel
fc470e9c71 Fix some spacing issues in the footer 2018-09-11 16:30:54 +02:00
gregoirenovel
04c5667b92 For footer columns, keep the same bottom margin at any width 2018-09-11 16:30:15 +02:00
gregoirenovel
61c41fa9cb Lower the footer inner padding 2018-09-11 16:28:08 +02:00
gregoirenovel
1def444d0f Do not add an empty ul to the DOM 2018-09-11 16:02:09 +02:00
Paul Chavard
631df3197a Add uniqueness validation to procedure path 2018-09-11 10:38:31 +02:00
Paul Chavard
2770f1db82 Archive only when path changes owner 2018-09-11 10:38:31 +02:00
Paul Chavard
be51802983 Add reopen aasm event 2018-09-11 10:38:31 +02:00
Paul Chavard
5a794cbb08 Use Procedure#publish_or_reopen! 2018-09-11 10:38:31 +02:00
Paul Chavard
ec3a0dc4cf Use Procedure#publish_with_path! 2018-09-11 10:38:31 +02:00
Paul Chavard
b3f8b68b99 Add Procedure#publish_with_path! 2018-09-11 10:38:31 +02:00
Paul Chavard
e6485603c4 Add ProcedurePath#valid? 2018-09-11 10:38:31 +02:00
Paul Chavard
f2f3c54147 Procedure: update -> update! 2018-09-11 10:38:31 +02:00
Paul Chavard
7a322266fa Make aasm related methods private 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
gregoirenovel
ce458764f1 from-me is only relevant when the message is in a messages-list 2018-09-08 10:12:28 +02:00
gregoirenovel
6a475981e3 The relative message width is only relevant in messages-list 2018-09-08 10:12:28 +02:00
gregoirenovel
afae82c5ba Remove a useless import in messagerie.scss 2018-09-08 10:12:28 +02:00
gregoirenovel
7482b859d5 Extract the message class into its own file 2018-09-08 10:12:28 +02:00
gregoirenovel
a4367c0809 Extract some more CSS classes from .messagerie to .messagge 2018-09-08 10:12:28 +02:00
gregoirenovel
94e5f856d3 Extract some CSS in a .message class 2018-09-08 10:12:28 +02:00
gregoirenovel
e2091fabdf Unscope .messages-list 2018-09-08 10:12:28 +02:00
Paul Chavard
b63038faca Allow administrateur to try dossier info on aperçu page 2018-09-07 19:41:34 +01:00
Paul Chavard
f3333595a0 Drop text_summary endpoint 2018-09-07 19:41:34 +01:00
Paul Chavard
212dee1565 Drop unused js 2018-09-07 19:41:33 +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
Paul Chavard
5dadaa1a8d Show brouillon tag on procedure names in user and instructeur lists 2018-09-07 11:21:50 +01:00
Paul Chavard
23017f4b17 Show better lien information on procedure page 2018-09-07 11:21:07 +01:00
Paul Chavard
23170f54c0 Instructeur should see published drafts 2018-09-07 11:20:16 +01:00
Pierre de La Morinerie
1da0321c26 messagerie: never display full sender email
See #2307
2018-09-07 12:02:26 +02:00
Pierre de La Morinerie
353ab812fc messagerie: fix 'Invité' label in message sender 2018-09-07 12:02:26 +02:00
Pierre de La Morinerie
211674435e messagerie: better format message dates 2018-09-07 12:02:26 +02:00
Pierre de La Morinerie
fe13871380 messagerie: add explanation for usagers 2018-09-07 12:02:26 +02:00
Pierre de La Morinerie
21dc9f8109 messagerie: improve success message 2018-09-07 12:02:26 +02:00
Pierre de La Morinerie
a6aac28b66 messagerie: move "Send" button to the right 2018-09-07 12:02:26 +02:00
Pierre de La Morinerie
6cd88db853 messagerie: make "Send" button primary 2018-09-07 12:02:26 +02:00
gregoirenovel
9c6a66ae75 Change the route for DossierController#modifier
If we submit the form, and there’s an error, the
URL would be `/dossiers/:id`, therefore
`dossier_path(dossier)`, so the Résumé tab would
be active, not the messagerie tab. This change
prevents this behaviour.
2018-09-07 11:30:00 +02:00
gregoirenovel
038cabfae3 The Demande tab should be active when we’re editing the demande 2018-09-07 11:30:00 +02:00
gregoirenovel
ee4d71a3f4 dynamic_tab_item now handles url arrays 2018-09-07 11:30:00 +02:00
gregoirenovel
59e809f029 active_tab_item → dynamic_tab_item 2018-09-07 11:06: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
Paul Chavard
f1c1eb573c Do not triger validation errors on path field on description page 2018-09-06 15:48:11 +01:00
Paul Chavard
8c8e7f3ef3 Patch remote ujs handler with debounced input support 2018-09-06 15:09:02 +01:00
Paul Chavard
fb883e2ebc Fix contact_link tag rendering on a11y page 2018-09-06 14:15:58 +01:00
Pierre de La Morinerie
19908ede25 gestionnaire: fix dossier printing page
Fix the invalid template, and add tests.
2018-09-05 16:17:26 +02:00
gregoirenovel
088d1c74d3 Commentaires → Messages 2018-09-05 15:59:41 +02:00
gregoirenovel
00ecae5f93 Procédure → Démarche 2018-09-05 15:46:24 +02:00
lucien mollard
b2f2e75f43 mailer: add layout for notifications emails 2018-09-05 15:31:08 +02:00
gregoirenovel
80c35c284f Properly handle a long title in a stats card 2018-09-05 14:32:11 +02:00
gregoirenovel
21776e360b Improve a stats title to better reflect reality 2018-09-05 14:32:11 +02:00
gregoirenovel
18a7d4c794 Fix typo 2018-09-05 14:32:11 +02:00
gregoirenovel
43b406e51c Procédures → démarches 2018-09-05 14:32:11 +02:00
gregoirenovel
be3b9382e5 Rename status partial to status_badge 2018-09-05 14:10:13 +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
Pierre de La Morinerie
63472f00e6 messagerie: generalize the current user email 2018-09-05 13:56:12 +02:00
Pierre de La Morinerie
4e2a5f0b9b messagerie: move templates to a shared location 2018-09-05 13:56:12 +02:00
Pierre de La Morinerie
d99e606206 dossier: rename status_progress to status_overview 2018-09-05 11:52:04 +02:00
gregoirenovel
37c0552c64 Add titles 2018-09-05 11:35:03 +02:00
gregoirenovel
6b88968889 Formulaire → demande, when not editable 2018-09-05 11:07:11 +02:00
gregoirenovel
b9a32633bb Rename a file with a more explicit filename 2018-09-05 10:09:59 +02:00
gregoirenovel
81e94ca631 Improve _status.html.haml 2018-09-05 10:09:59 +02:00
Pierre de La Morinerie
750e1e0c83 gestionnaire: move commentaire creation into a service 2018-09-04 18:52:43 +02:00
gregoirenovel
b2dc502ed5 Use an env var for Carrierwave's cache_dir 2018-09-04 16:07:59 +02:00
gregoirenovel
d05209d28f Make the stats code more robust to empty databases 2018-09-03 17:35:14 +02:00
gregoirenovel
df742421a8 Remove an env var 2018-09-03 16:13:38 +02:00
gregoirenovel
e927f56e0d Use a proper HAML comment 2018-09-03 11:41:25 +02:00
gregoirenovel
bdb961f280 Rename support-navigator-banner to outdated-browser-banner 2018-09-03 11:41:03 +02:00
gregoirenovel
1b545123fa Improve the outdated browser support banner style
- In the new design, it is now at the top of the
  page
- In the new design, it no longer covers up the UI
- In the new design, the text is now left-aligned
  which makes it easier to read
- In the new design, its height has been reduced
  which makes it less annoying
2018-09-03 11:35:08 +02:00
gregoirenovel
75ee41b7fa [Fix #2494] Improve deletion warning text 2018-08-31 15:41:51 +02:00
Paul Chavard
72dded2a5a Fix safari bug
Fix #2452
2018-08-31 11:58:33 +01:00
gregoirenovel
66af573ca4 Add a warning in the attachements part of the form 2018-08-31 00:10:16 +02:00
Frederic Merizen
559d080ca6 [#1946] Show data retention time in footer 2018-08-30 18:03:01 +02:00
Paul Chavard
5d5a356ade Cleanup contact_link helper 2018-08-30 15:12:50 +01:00
Paul Chavard
0c582197da Do not send messages to brouillon dossier 2018-08-30 15:12:50 +01:00
Paul Chavard
854bc62caa Fix class name 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
Paul Chavard
7ac4dc355f Add default dossier_id to contact form on dossier pages 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
gregoirenovel
c015365057 Fix case typos 2018-08-30 14:23:45 +02:00
Frederic Merizen
7326065590 [fix #2486] Include all needed attributes on downloadable_sorted
to avoid N+1 select
2018-08-30 14:13:32 +02:00
Frederic Merizen
9403d4c042 [#2486] followers_gestionnaires should not be a method
To help activerecord caching
2018-08-30 14:13:32 +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
04c6a653da Unify the CSS filenames’ case 2018-08-30 13:16:14 +02:00
gregoirenovel
89af9c2b36 Remove extra blank lines 2018-08-30 13:16:14 +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
gregoirenovel
606b56033a Use enum to the fullest with VirusScan.statuses 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
a5bc8a0b09 Add contact_link helper 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
85105ea156 Add some space below the title in big number cards 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
Paul Chavard
6453b53a41 Add helpscout API adapter 2018-08-29 10:43:00 +01:00
gregoirenovel
6b1ab9b552 Remove a now useless facade 2018-08-28 15:38:39 +02:00
gregoirenovel
cccad7dbdf Remove a now useless method 2018-08-28 15:19:54 +02:00
gregoirenovel
19789b6848 Remove the stats part of the procedure info page for admins
- the numbers are wrong (:termine state does not
  exist)
- the chart does not work
2018-08-28 15:19:31 +02:00
Paul Chavard
b8ef5d823f Fix modal close action 2018-08-28 12:18:43 +01:00
Paul Chavard
3d506a8cdc Fix autocomplete 2018-08-28 11:04:44 +01:00
gregoirenovel
9284afc649 Use a constant for the API Entreprise URL 2018-08-28 10:44:16 +02:00
gregoirenovel
66c5f080cc Add AR validation for Feedback rating 2018-08-28 10:36:36 +02:00
gregoirenovel
9f3650b12f Remove 2 months old call for suggestions 2018-08-28 10:11:09 +02:00
gregoirenovel
4c7f9af73d Order the legend in the same order as the enum 2018-08-27 18:18:26 +02:00
gregoirenovel
b535f7ce3b Fix the colors in the satisfaction graph
I forgot to change it after I switched to an enum
in the previous PR and changed the values order
2018-08-27 18:18:07 +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
4103861f90 Add the rating column to feedbacks 2018-08-27 17:03:11 +02:00
gregoirenovel
c81206f4d1 Scroll to top after having given feedback 2018-08-27 14:16:20 +02:00
gregoirenovel
62878f9c5a Encourage users that give us feedback to write to us 2018-08-27 14:16:20 +02:00
gregoirenovel
3d7b239f2b Improve the feedback form question 2018-08-27 14:16:20 +02:00
gregoirenovel
98f70cc815 Allow a user to rate the service each month 2018-08-27 14:16:20 +02:00
gregoirenovel
a700fc16cf Remove a now useless GA call 2018-08-27 14:09:43 +02:00
gregoirenovel
047d022c8a Add a CTA at the bottom of the admin landing page 2018-08-27 14:09:43 +02:00
gregoirenovel
83e081426c Redirect admins requests to the admin page after the form submission 2018-08-27 14:09:43 +02:00