diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1126a99..735bc9a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,7 @@ and this project adheres to
### Fixed
+- 💄(mail) improve mailbox creation email #462
- 🐛(frontend) fix update accesses form #448
- 🛂(backend) do not duplicate user when disabled
diff --git a/src/backend/core/static/images/messagerie.png b/src/backend/core/static/images/messagerie.png
new file mode 100644
index 0000000..541b58f
Binary files /dev/null and b/src/backend/core/static/images/messagerie.png differ
diff --git a/src/backend/debug/urls.py b/src/backend/debug/urls.py
index f9e29b4..f162285 100644
--- a/src/backend/debug/urls.py
+++ b/src/backend/debug/urls.py
@@ -4,6 +4,7 @@ from django.urls import path
from .views import (
DebugViewHtml,
+ DebugViewNewMailboxHtml,
DebugViewTxt,
)
@@ -18,4 +19,9 @@ urlpatterns = [
DebugViewTxt.as_view(),
name="debug.mail.invitation_txt",
),
+ path(
+ "__debug__/mail/new_mailbox_html",
+ DebugViewNewMailboxHtml.as_view(),
+ name="debug.mail.new_mailbox_html",
+ ),
]
diff --git a/src/backend/debug/views.py b/src/backend/debug/views.py
index 29e5277..4ce629c 100644
--- a/src/backend/debug/views.py
+++ b/src/backend/debug/views.py
@@ -25,3 +25,17 @@ class DebugViewTxt(DebugBaseView):
"""Debug View for Text Email Layout"""
template_name = "mail/text/invitation.txt"
+
+
+class DebugViewNewMailboxHtml(DebugBaseView):
+ """Debug view for new mailbox email layout"""
+
+ template_name = "mail/html/new_mailbox.html"
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ context["mailbox_data"] = {
+ "email": "john.doe@example.com",
+ "password": "6HGVAsjoog_v",
+ }
+ return context
diff --git a/src/backend/locale/fr_FR/LC_MESSAGES/django.mo b/src/backend/locale/fr_FR/LC_MESSAGES/django.mo
index 9862a19..be3eeb9 100644
Binary files a/src/backend/locale/fr_FR/LC_MESSAGES/django.mo and b/src/backend/locale/fr_FR/LC_MESSAGES/django.mo differ
diff --git a/src/backend/locale/fr_FR/LC_MESSAGES/django.po b/src/backend/locale/fr_FR/LC_MESSAGES/django.po
index fbbd6cc..185ba95 100644
--- a/src/backend/locale/fr_FR/LC_MESSAGES/django.po
+++ b/src/backend/locale/fr_FR/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lasuite-people\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-03-21 19:26+0000\n"
+"POT-Creation-Date: 2024-10-15 10:52+0000\n"
"PO-Revision-Date: 2024-01-03 23:15\n"
"Last-Translator: \n"
"Language-Team: French\n"
@@ -17,212 +17,251 @@ msgstr ""
"X-Crowdin-File: backend.pot\n"
"X-Crowdin-File-ID: 2\n"
-#: core/admin.py:70
+#: core/admin.py:45
msgid "Personal info"
msgstr ""
-#: core/admin.py:72
+#: core/admin.py:47
msgid "Permissions"
msgstr ""
-#: core/admin.py:84
+#: core/admin.py:59
msgid "Important dates"
msgstr ""
-#: core/authentication.py:81
+#: core/admin.py:97
+msgid "User"
+msgstr ""
+
+#: core/authentication/backends.py:82
msgid "User info contained no recognizable user identification"
msgstr ""
-#: core/authentication.py:114
+#: core/authentication/backends.py:90
+msgid "User account is disabled"
+msgstr ""
+
+#: core/authentication/backends.py:102
msgid "Claims contained no recognizable user identification"
msgstr ""
-#: core/models.py:38
+#: core/enums.py:23
+msgid "Failure"
+msgstr ""
+
+#: core/enums.py:24 mailbox_manager/enums.py:20
+msgid "Pending"
+msgstr ""
+
+#: core/enums.py:25
+msgid "Success"
+msgstr ""
+
+#: core/models.py:42
msgid "Member"
msgstr ""
-#: core/models.py:39
+#: core/models.py:43 mailbox_manager/enums.py:13
msgid "Administrator"
msgstr ""
-#: core/models.py:40
+#: core/models.py:44 mailbox_manager/enums.py:14
msgid "Owner"
msgstr ""
-#: core/models.py:52
+#: core/models.py:56
msgid "id"
msgstr ""
-#: core/models.py:53
+#: core/models.py:57
msgid "primary key for the record as UUID"
msgstr ""
-#: core/models.py:59
+#: core/models.py:63
msgid "created at"
msgstr ""
-#: core/models.py:60
+#: core/models.py:64
msgid "date and time at which a record was created"
msgstr ""
-#: core/models.py:65
+#: core/models.py:69
msgid "updated at"
msgstr ""
-#: core/models.py:66
+#: core/models.py:70
msgid "date and time at which a record was last updated"
msgstr ""
-#: core/models.py:97
+#: core/models.py:101
msgid "full name"
msgstr ""
-#: core/models.py:98
+#: core/models.py:102
msgid "short name"
msgstr ""
-#: core/models.py:103
+#: core/models.py:107
msgid "contact information"
msgstr ""
-#: core/models.py:104
+#: core/models.py:108
msgid "A JSON object containing the contact information"
msgstr ""
-#: core/models.py:118
+#: core/models.py:122
msgid "contact"
msgstr ""
-#: core/models.py:119
+#: core/models.py:123
msgid "contacts"
msgstr ""
-#: core/models.py:160 core/models.py:263 core/models.py:483
-msgid "email address"
-msgstr ""
-
-#: core/models.py:172
-msgid "language"
-msgstr ""
-
-#: core/models.py:173
-msgid "The language in which the user wants to see the interface."
-msgstr ""
-
-#: core/models.py:179
-msgid "The timezone in which the user wants to see times."
-msgstr ""
-
-#: core/models.py:182
-msgid "device"
-msgstr ""
-
-#: core/models.py:184
-msgid "Whether the user is a device or a real user."
-msgstr ""
-
-#: core/models.py:187
-msgid "staff status"
-msgstr ""
-
-#: core/models.py:189
-msgid "Whether the user can log into this admin site."
-msgstr ""
-
-#: core/models.py:192
-msgid "active"
-msgstr ""
-
-#: core/models.py:195
-msgid ""
-"Whether this user should be treated as active. Unselect this instead of "
-"deleting accounts."
-msgstr ""
-
-#: core/models.py:207
-msgid "user"
-msgstr ""
-
-#: core/models.py:208
-msgid "users"
-msgstr ""
-
-#: core/models.py:248
+#: core/models.py:167
msgid ""
"Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/"
"_ characters."
msgstr ""
-#: core/models.py:255
+#: core/models.py:173
msgid "sub"
msgstr ""
-#: core/models.py:257
+#: core/models.py:175
msgid ""
"Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_ "
"characters only."
msgstr ""
-#: core/models.py:264
+#: core/models.py:181 core/models.py:489
+msgid "email address"
+msgstr ""
+
+#: core/models.py:182 mailbox_manager/models.py:20
msgid "name"
msgstr ""
-#: core/models.py:266
-msgid "main"
+#: core/models.py:194
+msgid "language"
msgstr ""
-#: core/models.py:268
-msgid "Designates whether the email is the main one."
+#: core/models.py:195
+msgid "The language in which the user wants to see the interface."
msgstr ""
-#: core/models.py:274
-msgid "identity"
+#: core/models.py:201
+msgid "The timezone in which the user wants to see times."
msgstr ""
-#: core/models.py:275
-msgid "identities"
+#: core/models.py:204
+msgid "device"
msgstr ""
-#: core/models.py:282
-msgid "This email address is already declared for this user."
+#: core/models.py:206
+msgid "Whether the user is a device or a real user."
msgstr ""
-#: core/models.py:356
+#: core/models.py:209
+msgid "staff status"
+msgstr ""
+
+#: core/models.py:211
+msgid "Whether the user can log into this admin site."
+msgstr ""
+
+#: core/models.py:214
+msgid "active"
+msgstr ""
+
+#: core/models.py:217
+msgid ""
+"Whether this user should be treated as active. Unselect this instead of "
+"deleting accounts."
+msgstr ""
+
+#: core/models.py:229
+msgid "user"
+msgstr ""
+
+#: core/models.py:230
+msgid "users"
+msgstr ""
+
+#: core/models.py:306
msgid "Team"
msgstr ""
-#: core/models.py:357
+#: core/models.py:307
msgid "Teams"
msgstr ""
-#: core/models.py:417
+#: core/models.py:367
msgid "Team/user relation"
msgstr ""
-#: core/models.py:418
+#: core/models.py:368
msgid "Team/user relations"
msgstr ""
-#: core/models.py:423
+#: core/models.py:373
msgid "This user is already in this team."
msgstr ""
-#: core/models.py:500
+#: core/models.py:462
+msgid "url"
+msgstr ""
+
+#: core/models.py:463
+msgid "secret"
+msgstr ""
+
+#: core/models.py:472
+msgid "Team webhook"
+msgstr ""
+
+#: core/models.py:473
+msgid "Team webhooks"
+msgstr ""
+
+#: core/models.py:506
msgid "Team invitation"
msgstr ""
-#: core/models.py:501
+#: core/models.py:507
msgid "Team invitations"
msgstr ""
-#: core/models.py:526
+#: core/models.py:532
msgid "This email is already associated to a registered user."
msgstr ""
-#: core/models.py:568 core/models.py:573
+#: core/models.py:574 core/models.py:580
msgid "Invitation to join Desk!"
msgstr ""
+#: core/templates/mail/html/hello.html:159 core/templates/mail/text/hello.txt:3
+msgid "Company logo"
+msgstr ""
+
+#: core/templates/mail/html/hello.html:188 core/templates/mail/text/hello.txt:5
+#, python-format
+msgid "Hello %(name)s"
+msgstr ""
+
+#: core/templates/mail/html/hello.html:188 core/templates/mail/text/hello.txt:5
+msgid "Hello"
+msgstr ""
+
+#: core/templates/mail/html/hello.html:189 core/templates/mail/text/hello.txt:6
+msgid "Thank you very much for your visit!"
+msgstr ""
+
+#: core/templates/mail/html/hello.html:221
+#, python-format
+msgid ""
+"This mail has been sent to %(email)s by %(name)s"
+msgstr ""
+
#: core/templates/mail/html/invitation.html:160
#: core/templates/mail/text/invitation.txt:3
msgid "La Suite Numérique"
@@ -246,7 +285,7 @@ msgstr ""
#: core/templates/mail/html/invitation.html:226
#: core/templates/mail/text/invitation.txt:14
msgid ""
-"We are delighted to welcome you to our community on Equipes, your new "
+"We are delighted to welcome you to our community on Régie, your new "
"companion to simplify the management of your groups efficiently, "
"intuitively, and securely."
msgstr ""
@@ -260,7 +299,7 @@ msgstr ""
#: core/templates/mail/html/invitation.html:236
#: core/templates/mail/text/invitation.txt:16
-msgid "With Equipes, you will be able to:"
+msgid "With Régie, you will be able to:"
msgstr ""
#: core/templates/mail/html/invitation.html:237
@@ -294,13 +333,13 @@ msgstr ""
#: core/templates/mail/html/invitation.html:252
#: core/templates/mail/text/invitation.txt:23
-msgid "Visit Equipes"
+msgid "Visit Régie"
msgstr ""
#: core/templates/mail/html/invitation.html:261
#: core/templates/mail/text/invitation.txt:25
msgid ""
-"We are confident that Equipes will help you increase efficiency and "
+"We are confident that Régie will help you increase efficiency and "
"productivity while strengthening the bond among members."
msgstr ""
@@ -320,19 +359,126 @@ msgid ""
msgstr ""
#: core/templates/mail/html/invitation.html:278
+#: core/templates/mail/html/new_mailbox.html:272
#: core/templates/mail/text/invitation.txt:29
+#: core/templates/mail/text/new_mailbox.txt:15
msgid "Sincerely,"
-msgstr ""
+msgstr "Cordialement,"
#: core/templates/mail/html/invitation.html:279
#: core/templates/mail/text/invitation.txt:31
msgid "The La Suite Numérique Team"
+msgstr "L'équipe de La Suite Numérique"
+
+#: core/templates/mail/html/new_mailbox.html:159
+#: core/templates/mail/text/new_mailbox.txt:3
+msgid "La Messagerie"
+msgstr "La Messagerie"
+
+#: core/templates/mail/html/new_mailbox.html:188
+#: core/templates/mail/text/new_mailbox.txt:5
+msgid "Welcome to La Messagerie"
+msgstr "Bienvenue dans La Messagerie"
+
+#: core/templates/mail/html/new_mailbox.html:193
+#: core/templates/mail/text/new_mailbox.txt:6
+msgid "La Messagerie is the email solution of La Suite."
+msgstr "La Messagerie est la solution de mail de La Suite."
+
+#: core/templates/mail/html/new_mailbox.html:199
+#: core/templates/mail/text/new_mailbox.txt:7
+msgid "Your mailbox has been created."
+msgstr "Votre boîte mail a été créée."
+
+#: core/templates/mail/html/new_mailbox.html:204
+#: core/templates/mail/text/new_mailbox.txt:8
+msgid "Please find below your login info: "
+msgstr "Voici vos identifiants de connexion :"
+
+#: core/templates/mail/html/new_mailbox.html:228
+#: core/templates/mail/text/new_mailbox.txt:10
+msgid "Email address: "
+msgstr "Adresse email : "
+
+#: core/templates/mail/html/new_mailbox.html:233
+#: core/templates/mail/text/new_mailbox.txt:11
+msgid "Temporary password (to be modify on first login): "
+msgstr "Mot de passe temporaire (à modifier à la première connexion) :"
+
+#: core/templates/mail/html/new_mailbox.html:261
+#: core/templates/mail/text/new_mailbox.txt:13
+msgid "Go to La Messagerie"
+msgstr "Accéder à La Messagerie"
+
+#: core/templates/mail/html/new_mailbox.html:273
+#: core/templates/mail/text/new_mailbox.txt:17
+msgid "La Suite Team"
+msgstr "L'équipe de La Suite"
+
+#: core/templates/mail/text/hello.txt:8
+#, python-format
+msgid "This mail has been sent to %(email)s by %(name)s [%(href)s]"
msgstr ""
-#: people/settings.py:133
-msgid "English"
+#: mailbox_manager/enums.py:12
+msgid "Viewer"
+msgstr ""
+
+#: mailbox_manager/enums.py:21
+msgid "Enabled"
+msgstr ""
+
+#: mailbox_manager/enums.py:22
+msgid "Failed"
+msgstr ""
+
+#: mailbox_manager/enums.py:23
+msgid "Disabled"
+msgstr ""
+
+#: mailbox_manager/models.py:31
+msgid "Mail domain"
+msgstr ""
+
+#: mailbox_manager/models.py:32
+msgid "Mail domains"
+msgstr ""
+
+#: mailbox_manager/models.py:98
+msgid "User/mail domain relation"
+msgstr ""
+
+#: mailbox_manager/models.py:99
+msgid "User/mail domain relations"
+msgstr ""
+
+#: mailbox_manager/models.py:171
+msgid "local_part"
+msgstr ""
+
+#: mailbox_manager/models.py:185
+msgid "secondary email address"
+msgstr ""
+
+#: mailbox_manager/models.py:190
+msgid "Mailbox"
+msgstr ""
+
+#: mailbox_manager/models.py:191
+msgid "Mailboxes"
+msgstr ""
+
+#: mailbox_manager/utils/dimail.py:137
+msgid "Your new mailbox information"
msgstr ""
#: people/settings.py:134
+msgid "English"
+msgstr ""
+
+#: people/settings.py:135
msgid "French"
msgstr ""
+
+#~ msgid "Regards,"
+#~ msgstr "Cordialement,"
diff --git a/src/mail/mjml/new_mailbox.mjml b/src/mail/mjml/new_mailbox.mjml
index d94c31b..4cb07a7 100644
--- a/src/mail/mjml/new_mailbox.mjml
+++ b/src/mail/mjml/new_mailbox.mjml
@@ -3,39 +3,36 @@
-
+
-
+
-
+
-
-
{{ title }}
-
-
-
-
{% trans "Your new mailbox is ready !" %}
-
-
-
-
-
+ {% trans "Welcome to La Messagerie" %}
+ {% trans "La Messagerie is the email solution of La Suite." %}
- {% trans "Here are your credentials for your new mailbox ! " %}
- {% trans "Email address : "%}{{ mailbox_data.email }}
- {% trans "Temporary password : "%}{{ mailbox_data.password }}
- {% trans "You can access your mails on " %}{{ webmail_url }}.
-
-
- {% trans "Visit La Régie" %}
+ {% trans "Your mailbox has been created." %}
+ {% trans "Please find below your login info: " %}
+
+
+
+
+ {% trans "Email address: "%}{{ mailbox_data.email }}
+ {% trans "Temporary password (to be modify on first login): "%}{{ mailbox_data.password }}
+
+
+
+
+
+ {% trans "Go to La Messagerie" %}
-