Commit graph

1327 commits

Author SHA1 Message Date
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
Pierre de La Morinerie
0cebf60c46 [#1421] replace master/slave by primary/secondary 2018-06-27 17:02:46 +02:00
Frederic Merizen
dad3bc092b [#1421] linked dropdwon user view 2018-06-27 17:02:46 +02:00
Pierre de La Morinerie
9f70e72d83 dossiers: add a button to start a new demarche 2018-06-26 18:13:52 +02:00
simon lehericey
c3610fc96e [fix #2067] Resend confirmation mail if the user is not confirmed 2018-06-20 13:30:32 +02:00
Frederic Merizen
521aec6af9 [#1568] Remove old previsualisation code 2018-06-19 12:42:46 +02:00
Mathieu Magnin
89f82ba92e Move email sending in delete method 2018-06-19 10:05:00 +02:00
Mathieu Magnin
e05fb2d0ae Allow dossier deletion if instruction has not started 2018-06-19 10:05:00 +02:00
simon lehericey
eee41cbf39 Manager: can reinvite a gestionnaire 2018-06-14 16:41:10 +02:00
simon lehericey
e11392981d [fix #2072] DossierController: check the user can update the dossier 2018-06-08 16:24:29 +02:00
gregoirenovel
346b32fbd4 [Fix #1736] Assign the deal and person to the person who accepted them 2018-06-07 16:04:15 +02:00
gregoirenovel
b88cea3c18 Change a deliver into a deliver_later 2018-06-07 15:14:26 +02:00
Frederic Merizen
c3254eddae [Fix #2043] Pre-validate users for gestionnaires
Rather kludgy but better than the double-validation that is required now
2018-06-06 17:45:48 +02:00
gregoirenovel
41e8350cbe [Fix #1735] Sign the admin account creation email 2018-06-01 20:48:50 +02:00
Frederic Merizen
648483ac76 [#1946] Allow admins to edit data retention time 2018-06-01 16:46:39 +02:00
gregoirenovel
185f08f63e Add constants for email addresses 2018-06-01 00:00:11 +02:00
Frederic Merizen
b571f0706c [Fix #2015] Make sur all data is initialised for index view 2018-05-31 18:32:13 +02:00
simon lehericey
18ad227df5 [fix #1897] Procedure: can delete a deliberation 2018-05-31 16:56:28 +02:00
simon lehericey
fa14db1cbf Procedure: add deliberation 2018-05-31 16:56:28 +02:00
simon lehericey
a96889310b Procedure: add legal reference 2018-05-31 16:55:31 +02:00
Paul Chavard
e2a126e37a Add users and gestionnaires to manager 2018-05-31 15:18:24 +02:00
gregoirenovel
0329b1db68 Use User#owns_or_invite? instead of Dossier#owner_or_invite? 2018-05-31 14:39:43 +02:00
gregoirenovel
4e9565a5df Adds User#owns? 2018-05-31 14:39:43 +02:00
gregoirenovel
faa56956c5 [Fix #1744] Remove useless variable 2018-05-31 11:49:25 +02:00
gregoirenovel
dc045bdefb [Fix #1808] Use &. where possible 2018-05-31 11:49:25 +02:00
Mathieu Magnin
eb1fbb7dbc Delete button, notify user and admin then delete dossier 2018-05-30 18:01:36 +02:00
Frederic Merizen
07b1c147d9 [Fix #1972] Always send mails asynchronously 2018-05-28 12:02:13 +02:00
Frederic Merizen
cce00e19c6 [#1972] Avoid passing unsaved templates to ActionMailer
So that all mail arguments can be serialized
2018-05-28 12:02:13 +02:00
Paul Chavard
edc8e24ddd Update gestionnaire filters 2018-05-24 17:54:51 +02:00
Paul Chavard
d99eed122d Use new models in controllers and views 2018-05-24 17:54:51 +02:00
simon lehericey
aaebcd3494 [fix #1701] Use DS form to enroll admin 2018-05-24 17:15:44 +02:00
Mathieu Magnin
aaf1bc0b99 [Fix #1931] User can ask support to delete dossier 2018-05-24 16:42:16 +02:00
Paul Chavard
6345d5d153 Use new primitives in procedures controller 2018-05-23 16:31:27 +02:00
simon lehericey
0b87944368 [#1915] Devise: avoid leaking registered people 2018-05-23 15:55:52 +02:00
simon lehericey
d2dc69cde0 Connection: redirect user to its procedure 2018-05-23 15:55:52 +02:00
simon lehericey
6a69d958da Devise: move after_sign_up to after_confirmation 2018-05-23 15:55:52 +02:00
simon lehericey
5bd589344e Devise: confirm user email 2018-05-23 15:55:52 +02:00
Frederic Merizen
d1bbb8023a Remove smartlisting workaround
As it was fixed upstream in 1.2.2
2018-05-23 15:53:58 +02:00
Paul Chavard
ceddf65f6c Fix crash with inexistent paths 2018-05-23 15:36:50 +02:00
Paul Chavard
94d253c6dc Add commencer/test/:procedure_path route 2018-05-23 11:32:26 +02:00
Paul Chavard
785fe3410e Clone procedure notice 2018-05-22 17:43:44 +02:00
Paul Chavard
0a07e9983a Fix test with ordering failures 2018-05-22 16:24:24 +02:00
simon lehericey
39bb56d1d9 Service: add organisme, email, tel, horaires, adresse 2018-05-18 16:21:27 +02:00
simon lehericey
0be21395ac [fix #1829] Service: add breadcrumbs 2018-05-18 16:21:26 +02:00
simon lehericey
6b8a878ec1 Service: can be destroyed 2018-05-18 16:21:26 +02:00
simon lehericey
af7be58132 Service: add service to procedure 2018-05-18 16:21:26 +02:00
simon lehericey
5d7455f436 Service: keep procedure_id 2018-05-18 16:21:26 +02:00
Frederic Merizen
365cb9b44d Service: can update a service 2018-05-18 16:21:26 +02:00
simon lehericey
c54c85bad8 Service: can create a service 2018-05-18 16:21:26 +02:00
simon lehericey
bda0ca8188 Service: sort services by name in index 2018-05-18 16:21:26 +02:00
simon lehericey
4d0a920e7a Service: add index page 2018-05-18 16:21:26 +02:00
Frederic Merizen
5ef129d960 [#1563] Remove attestation mail attachment 2018-05-09 10:42:40 +02:00
simon lehericey
bb4d29ee8f [fix #1855] Gestionnaire: are now invited to create their password 2018-04-27 14:10:06 +02:00
gregoirenovel
47323ffbf1 [#1872] Managers can enable feature flags from UI 2018-04-26 16:28:45 +02:00
simon lehericey
3d53366678 [fix #1877] add maintenance mode 2018-04-26 15:06:34 +02:00
simon lehericey
6b422ceb7a [#1868] ProcedureController: rescue date parsing 2018-04-25 12:03:39 +02:00
simon lehericey
48c5d5a917 Procedure Preview: add annotations preview 2018-04-24 16:54:05 +02:00