Commit graph

4011 commits

Author SHA1 Message Date
gregoirenovel
5fa5f2aa37 Bump development gems
- rubocop (0.61.1 → 0.62.0)
2019-01-05 11:47:55 +01:00
Pierre de La Morinerie
dbbe96d333 signature: replace RbNaCl by ActiveSupport::MessageVerifier 2019-01-03 17:48:53 +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
da675bb47e api: fix formatting error when a request fails 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
Pierre de La Morinerie
d77530c461 Make Procedure state consistent after switching types de champ order
Fixes an issue where, after clicking the "move champ up" button,
the new form is rendered with an incoherent order.
2019-01-03 15:13:14 +01:00
gregoirenovel
9466442aff Remove the TypeDeChamp decorators 2019-01-03 12:08:25 +01:00
gregoirenovel
9c130c41da Remove ProcedureDecorator 2019-01-03 12:08:25 +01:00
gregoirenovel
b41764ec03 Remove ChampDecorator 2019-01-03 12:08:25 +01:00
gregoirenovel
b8f57415cd Remove the unused decorator DossierDecorator 2019-01-03 12:08:25 +01:00
gregoirenovel
559df6b82a Remove the unused decorator ProceduresDecorator 2019-01-03 12:08:24 +01:00
gregoirenovel
6565ce9c3c Remove the unused decorator DossiersDecorator 2019-01-03 12:08:24 +01:00
gregoirenovel
71c8083b92 Remove the unused decorator UserDecorator 2019-01-03 12:08:24 +01:00
gregoirenovel
4f30e30a08 Remove the unused decorator FranceConnectInformationDecorator 2019-01-03 12:08:24 +01:00
gregoirenovel
0c8b228fbf Enable the Lint/UselessAssignment cop 2019-01-03 10:53:50 +01:00
gregoirenovel
0336ecf639 Remove useless arguments from some methods 2019-01-03 10:53:50 +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
186e362701 Enable the Layout/SpaceInsideArrayLiteralBrackets 2019-01-03 10:53:50 +01:00
gregoirenovel
386fbce776 Enable the Layout/SpaceBeforeBlockBraces cop 2019-01-03 10:53:50 +01:00
gregoirenovel
8b0b8162f0 Enable the Layout/SpaceAfterComma cop 2019-01-03 10:53:50 +01:00
gregoirenovel
d6e4f775ba Add some space between the Merci content and the footer 2018-12-28 19:03:19 +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
Chaïb Martinez
e88a3f8dbf Add a message to the démarches library page if the admin has 0 demarches 2018-12-28 18:25:15 +01:00
Chaïb Martinez
c19b1bb6cf Make the “New démarche from scratch ” button bigger 2018-12-28 18:25:12 +01:00
Chaïb Martinez
d0d11edf61 Make a démarches library title bigger 2018-12-28 18:24:59 +01:00
maatinito
4ad3a60e25 [Fix #2575] Créer automatiquement un compte instructeur aux administrateurs 2018-12-26 09:44:20 -10:00
gregoirenovel
03eb47016c Fix a gestionnaire sign in bug 2018-12-26 18:14:04 +01:00
Chaïb Martinez
1a7d0f2e12 Remove mailto contact DS into admin header 2018-12-26 14:43:34 +01:00
Chaïb Martinez
1c4eb72fa5 Suspect by defaut 2018-12-22 11:49:15 +01:00
Chaïb Martinez
905d2f1635 Add phone number from pipedrive 2018-12-22 11:49:15 +01:00
maatinito
384dbf3e1b Add an intro to the last week overview email 2018-12-20 17:07:19 +01:00
maatinito
10cd16656d Improve the style of the last week overview email 2018-12-20 17:07:17 +01:00
maatinito
15ad7bae53 Improve the style of the avis invitation email 2018-12-20 17:07:15 +01:00
maatinito
5ca9267065 Improve the style of the dossier expiration summary email 2018-12-20 17:07:11 +01:00
maatinito
87cccae17a Change the title of the avis invitation 2018-12-20 17:07:07 +01:00
maatinito
249a64f1a6 Improve the copy of the invite guest email 2018-12-20 17:07:06 +01:00
maatinito
e4883aa152 [Fix #325] Set InviteMailer’s layout 2018-12-20 16:21:27 +01:00
maatinito
a1a11adb83 [#325] Make the notification layout inherit from the general layout 2018-12-20 16:21:27 +01:00
maatinito
d80bf601e1 [#325] Add support for a footer in layout.html.erb 2018-12-20 16:21:27 +01:00
Mathieu Magnin
b40c706d98 [Fix #3192] Clone service if procedure is transferred 2018-12-20 15:45:48 +01:00
Chaïb Martinez
0fe473b84e Add 2 new categories in admin contact form 2018-12-20 15:29:49 +01:00
Chaïb Martinez
206f17be90 Add warning text in email field 2018-12-20 15:29:49 +01:00
Mathieu Magnin
1dcc8303a6 Add html links in invitation mail templates 2018-12-20 15:01:04 +01:00
Paul Chavard
eb9edc1cee Order types de champ in scope 2018-12-20 14:14:15 +01:00
gregoirenovel
af21618652 Improve the avis invitation email footer 2018-12-20 11:57:07 +01:00
maatinito
b72fd330b5 Use the layout's footer for the avis invitation email 2018-12-20 11:20:10 +01:00
maatinito
e554cc3644 Unify the emails' intro tag 2018-12-20 11:20:10 +01:00
maatinito
2de328da64 Unify the emails' intro sentence 2018-12-20 11:20:10 +01:00
maatinito
f51cdd0e48 Add a partial for the emails' signature 2018-12-20 11:20:10 +01:00
Frederic Merizen
2a758d0759 [Fix #3196] Convert YAML to JSON 2018-12-19 23:17:55 +01:00
Frederic Merizen
36d6a43084 [#3196] Make TypeDeChamp#options compatible with raw JSON
instead of YAML inside a JSON string.
We still need to support the YAML form until the data has been migrated
2018-12-19 18:43:56 +01:00
Paul Chavard
5d1c24f3d8 Add type de champ repetition models (with row) 2018-12-19 15:31:11 +01:00
gregoirenovel
df7e0a9881 Remove dead code 2018-12-19 14:59:15 +01:00
gregoirenovel
4b0e632abb Enable the Style/ColonMethodCall cop 2018-12-19 13:56:10 +01:00
gregoirenovel
616e9305e9 Enable the Style/ClassCheck cop 2018-12-19 13:56:10 +01:00
gregoirenovel
fba8d97256 Enable the Stlye/BlockDelimiters cop 2018-12-19 13:56:10 +01:00
gregoirenovel
a8f700b572 Enable the Style/FormatString cop 2018-12-19 13:56:10 +01:00
pedong
09552ed9ff [fix #3188] replace a to link_to in footer 2018-12-19 13:18:01 +01:00
gregoirenovel
85a20f9b28 Remove double spaces 2018-12-19 12:35:22 +01:00
Chaïb Martinez
408ee31595 Add Sendinbue subscribe form
Remove Mailjet newsletter subscribe popin
2018-12-19 12:35:22 +01:00
Frederic Merizen
d1cfe4468d Encourager la création de champs PJ plutôt que de vieilles PJS 2018-12-19 11:57:23 +01:00
gregoirenovel
336ee6aba0 Remove the Tour de France banner from the administration landing page 2018-12-19 10:57:28 +01:00
gregoirenovel
e69310fe07 ModuleApiCartoService → ApiCartoService 2018-12-19 10:29:11 +01:00
gregoirenovel
129df93fb1 Add a blank line to ease readability 2018-12-18 22:49:27 +01:00
gregoirenovel
3ce3d203d4 Simplify some code 2018-12-18 22:49:27 +01:00
gregoirenovel
81ee1c2961 Use a method instead of a comparison 2018-12-18 22:18:38 +01:00
gregoirenovel
026fd1aaa2 Use parentheses 2018-12-18 22:18:38 +01:00
maatinito
008793d844 [Fix #1318] ETQ Instructeur, j'aimerais être averti que le texte de la motivation sera visible par les utilisateurs 2018-12-18 16:27:51 +01:00
Mathieu Magnin
8435ff004f Add annotations privées to procedure page on manager 2018-12-18 12:15:50 +01:00
Frederic Merizen
57a136c861 Make champ PJ generally available 2018-12-18 11:11:23 +01:00
Pierre de La Morinerie
d614ea6bd5 stats: display contact rate 2018-12-18 10:38:59 +01:00
Mathieu Magnin
5ab0853f1c Harmonize user champ pj purge route to gestionnaire 2018-12-14 11: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
gregoirenovel
ebb76c57f1 Fix a typo 2018-12-12 11:29:59 +01:00
gregoirenovel
56dcbb5b64 Update message so that it reflects the reality 2018-12-10 17:25:44 +01:00
pedong
de5de75869 [fix #2985] del champ_linked_dropdown in feature 2018-12-10 16:47:22 +01:00
simon lehericey
5a87fad02e [fix #3154] order export 2018-12-10 16:41:37 +01:00
Pierre de La Morinerie
30774aa189 api_geo: cache requests for one day
This should make the 500 errors that we get in production less frequent.

NB: Unfortunately we can't write a spec for the caching behavior, as the
VCR mocks are never cached.
2018-12-10 11:41:07 +01:00
Pierre de La Morinerie
a0ae1afb45 typhoeus: add a cache store for successful requests 2018-12-10 11:41:07 +01:00
gregoirenovel
3b0562949c Ask API Entreprise for insee v3 2018-12-10 10:49:56 +01:00
gregoirenovel
31250b4642 Make more ApiEntreprise::API methods private 2018-12-10 10:48:57 +01:00
pedong
f70f276ae9 [fix #2813] set lien_notice nil when clone a procedure 2018-12-06 21:28:08 +01:00
Chaïb Martinez
80133601c7 Add Matomo tracking code for logged usagers 2018-12-06 19:44:50 +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
ee93b4e33d Revert legacy carte API to parsed json 2018-12-05 18:19:15 +01:00
Paul Chavard
35494df78e Procedure export dossiers with champs siret 2018-12-05 17:09:39 +01:00
Pierre de La Morinerie
e206f3d4d4 gestionnaire: display draft procedures in the list
Fix #3088
2018-12-05 15:38:20 +01:00
Paul Chavard
a08f170dbd Assign users and gestionnaires to commentaires
fix #2052
2018-12-05 13:40:57 +01:00
Paul Chavard
2f2aa580f8 Update activestorage.js 2018-12-04 11:37:00 +01:00
Paul Chavard
c492e1cd88 Update webpacker (babel7) 2018-12-04 11:37:00 +01:00
Paul Chavard
f2f8770bb5 Fix wording on services page 2018-12-04 10:55:15 +01:00
pedong
1532d287ae [fix #3026] change champ date for archivage auto 2018-12-03 13:45:40 +01:00
pedong
c14f9900d6 [fix #2969] use JS replace semicolon by comma in the list email 2018-12-03 12:59:40 +01:00
Paul Chavard
e873b6a9c4 Expose selection utilisateur size on champ carte 2018-12-03 12:49:03 +01:00
Paul Chavard
d77a5c9f15 More tests and fixes on carte champ 2018-11-30 13:28:30 +01:00
Paul Chavard
097a15d624 Test and fix all possible cases of champ carte serialization 2018-11-30 12:02:27 +01:00
Paul Chavard
35d2bc36fc cleanup selection_utilisateur geo_json 2018-11-29 17:10:14 +01:00
Paul Chavard
ca147969ab Fix number champs validation 2018-11-29 15:12:31 +01:00
Paul Chavard
8d22275742 Make type_de_champ API ids stable 2018-11-29 11:41:13 +01:00
Paul Chavard
1883c57c87 Add stable ids to types_de_champ after every update 2018-11-29 11:41:13 +01:00
Paul Chavard
c18796d02a Fix geojson exposed on legacy carto API 2018-11-29 08:43:51 +01:00
Paul Chavard
9b39934e8b Destroy dossier_operation_logs when dossier is destroyed 2018-11-28 17:06:54 +01:00
Paul Chavard
b9af07b845 Add admin support contact form 2018-11-28 16:50:37 +01:00
gregoirenovel
5053d4a7d9 Change the admin landing tagline 2018-11-28 16:41:56 +01:00
gregoirenovel
6a39e0e831 Improve the admin landing page 2018-11-28 16:41:56 +01:00
gregoirenovel
684314c117 Fix a typo 2018-11-28 16:41:56 +01:00
Mathieu Magnin
b51bf759b1 [Fix #3081] If a dossier is destroyed, then destroy the attestation 2018-11-28 16:33:12 +01:00
Mathieu Magnin
fc5f698207 Fog was recently updated, NotFound Module changed 2018-11-28 16:15:33 +01:00
Paul Chavard
575a437f97 Remove carto from admin/procedure controller 2018-11-27 16:11:25 +01:00
Paul Chavard
c6ef30f3e1 Remove unused carto from instructeur interface 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
d988638c58 Simplify API carte serializer 2018-11-27 16:11:25 +01:00
Paul Chavard
36f6f54337 Remove unused carto models 2018-11-27 16:11:25 +01:00
Paul Chavard
5632929d3d Remove old caro editor 2018-11-27 16:11:25 +01:00
Paul Chavard
37a7e26fc3 Remove unused users/carte_controller 2018-11-27 16:11:25 +01:00
Pierre de La Morinerie
ea8bc0c961 mailers: improve notification layout 2018-11-27 15:51:26 +01:00
Pierre de La Morinerie
3702b0967d mailers: ensure new_answer link is an actual a element 2018-11-27 15:42:09 +01:00
Mathieu Magnin
91115ea847 [Fix sentry-26] if file does not exist, filename should be nil 2018-11-27 14:10:43 +01:00
Paul Chavard
0f0ca2ec65 Lod dossier operations 2018-11-27 12:49:40 +01:00
Paul Chavard
85e3eb04f4 Add DossierOperationLog model 2018-11-27 12:49:40 +01:00
Paul Chavard
98d388b64d Use state change methods on dossier in dossier auto archive job 2018-11-27 12:49:40 +01:00
Paul Chavard
b5b6832be8 Use state change methods on dossier in dossier auto recieve job 2018-11-27 12:49:40 +01:00
Paul Chavard
a079eaea5c Add procedure gestionnaire_for_cron_job method 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
9843666bdc Implement state change methods on dossier 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
Mathieu Magnin
718a30639f [Fix #2929] Improve readability of invitation for avis 2018-11-23 13:18:36 +01:00
pedong
0d02f5896e [Fix #1339] properly display avis confidentiality to experts 2018-11-22 18:38:31 +01:00
Frederic Merizen
ad991a2fe5 Show user on dossier page in manager 2018-11-22 15:27:01 +01:00
gregoirenovel
251bd635c2 Prepare for champ_id deletion 2018-11-22 12:27:48 +01:00
gregoirenovel
e8c24c27e5 [Fix #110] Remove any reference left to facades 2018-11-22 11:25:55 +01:00
gregoirenovel
55143b94fc [Fix #1698] Show the footer on the “Merci” page 2018-11-22 10:04:41 +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
gregoirenovel
dffd132564 Remove a useless file 2018-11-22 01:51:55 +01:00
gregoirenovel
5b24d116d9 [Fix #324] Convert the last text email to html 2018-11-22 01:38:21 +01:00
gregoirenovel
5c5175d37c [Fix #463] Use l instead of I18n.l in views 2018-11-22 01:33:10 +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
Mathieu Magnin
5c2fe50319 Fix width in manager procedure detail 2018-11-21 14:24:09 +01:00
Mathieu Magnin
7c1768e5bb [Fix #3016] Do not crash if PJ has no extension 2018-11-21 14:15:45 +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
Pierre de La Morinerie
38b5c77ad3 mailers: use notification layout for 'new answer' email
Fix #2224
2018-11-20 14:46:31 +01:00
Pierre de La Morinerie
a5f9be00e0 mailers: add preview URL to all previewable mailers 2018-11-20 14:46:31 +01:00
Pierre de La Morinerie
e5303fd986 mailers: streamline the NotificationMailer
Notifications are now only for demarche-templated emails.
2018-11-20 14:46:31 +01:00
Paul Chavard
7ba9624a3f Fix instructeurs list filter
fix #3002
2018-11-20 14:27:32 +01:00
Paul Chavard
d43068ace5 Disable carto for new procedures 2018-11-20 12:14:10 +01:00
Paul Chavard
e374a5c726 Refactor ChampSerializer 2018-11-20 10:53:14 +01:00
Paul Chavard
0b017580c5 Expose migrated legacy carto champs on api 2018-11-20 10:53:14 +01:00
Paul Chavard
fe630847e9 Refactor legacy carto serializer 2018-11-20 10:53:14 +01:00
Paul Chavard
31099b782f Remove dead code 2018-11-20 10:53:14 +01:00
Paul Chavard
d92364b90b Add user_geo_area do champ carte 2018-11-20 10:53:14 +01:00
Paul Chavard
971a08c92a Add expose legacy carto api flag 2018-11-20 10:53:14 +01:00
Paul Chavard
18815e88a3 Rename champ.zones to champ.geo_json 2018-11-20 10:53:14 +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
Frederic Merizen
238c0c707b [#2180] Bump Carrierwave 2018-11-16 11:11:39 +01:00
pengfei
0593299def tronquer uniquement label et mettre close-icon avant le text 2018-11-15 15:10:41 +01:00
pengfei
89daaedbe4 [fix #2719] tronquer les textes dans le filtre, max=50 2018-11-15 15:10:41 +01:00
Paul Chavard
2eb61bd6ed Move dossier invites handler to invites controller 2018-11-14 15:16:49 +01:00
Pierre de La Morinerie
83031b5cdd procedure: compute the usual instruction time only for the last month 2018-11-13 17:23:31 +01:00
Pierre de La Morinerie
b02d50dac8 manager: improve code to hide production features 2018-11-13 16:38:56 +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
simon lehericey
2613d05a4f An admin has always a gestionnaire role 2018-11-13 10:41:45 +01:00
Pierre de La Morinerie
7a7093503a dossier: avoid the estimated duration to dangle on a new line 2018-11-12 10:22:21 +01:00
Pierre de La Morinerie
7635aede98 dossier: improve wording of estimated time
Ref #2970
2018-11-12 10:21:57 +01:00
Pierre de La Morinerie
e59bec51ef procedure: use 90th percentile to estimate the completion delay 2018-11-08 18:29:17 +01:00
Pierre de La Morinerie
5c921182ea procedure: rename mean_instruction_time to usual_instruction_time
Ref #2970
2018-11-08 17:20:06 +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
Pierre de La Morinerie
c927e6651d footer: fix extra horizontal pixels being added to the page 2018-11-08 16:20:05 +01:00
Paul Chavard
33c6ddc452 Remove dead code related to dossier state 2018-11-08 14:56:45 +01:00
Paul Chavard
eede94a59f Use dossier_legacy_state helper 2018-11-08 14:56:45 +01:00
Paul Chavard
0fe59a7c65 Add dossier_legacy_state helper 2018-11-08 14:56:45 +01:00
Paul Chavard
a524c72add Use dossier_display_state helper 2018-11-08 14:56:45 +01:00
Paul Chavard
f09a7a01c8 Add dossier_display_state helper 2018-11-08 14:56:45 +01:00
Paul Chavard
624b442cd7 Remove “Outil de changement d'état d'un dossier” 2018-11-08 14:56:45 +01:00
Paul Chavard
6706b9004f Fix includes on api queries 2018-11-08 14:45:09 +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
Chaïb Martinez
3187b5b05a Add Matomo tracking code 2018-11-07 17:34:10 +01:00
Paul Chavard
a7de2e68ed Refactor types_de_champ views to use service instead of facade 2018-11-07 11:36:10 +01:00
Paul Chavard
1c87eda6e1 Move types_de_champ helper to service 2018-11-07 11:36:10 +01:00
Paul Chavard
2d647f9fa7 Move types_de_champ facade to service 2018-11-07 11:36:10 +01:00
Paul Chavard
9acb1950a4 Remove dossier 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
simon lehericey
9d406770a8 [fix #2956] YesNo: fixing to_s 2018-11-06 16:59:47 +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