+
+ {{ $gettext('Quarantine') }}
+
+
+
+
+
+
diff --git a/modoboa/core/api/v2/viewsets.py b/modoboa/core/api/v2/viewsets.py
index 643848234..3ec528978 100644
--- a/modoboa/core/api/v2/viewsets.py
+++ b/modoboa/core/api/v2/viewsets.py
@@ -177,6 +177,16 @@ class AccountViewSet(core_v1_viewsets.AccountViewSet):
"url": "/admin",
}
)
+ if "modoboa.amavis" in settings.MODOBOA_APPS:
+ apps.append(
+ {
+ "name": "amavis",
+ "label": _("Quarantine"),
+ "icon": "mdi-server-security",
+ "description": _("Amavis quarantine"),
+ "url": "/user/quarantine",
+ }
+ )
if hasattr(request.user, "mailbox"):
if "modoboa.contacts" in settings.MODOBOA_APPS:
apps += [
diff --git a/modoboa/core/management/commands/load_initial_data.py b/modoboa/core/management/commands/load_initial_data.py
index 318bd9bbd..c15df8ea7 100644
--- a/modoboa/core/management/commands/load_initial_data.py
+++ b/modoboa/core/management/commands/load_initial_data.py
@@ -192,3 +192,13 @@ class Command(BaseCommand):
}}
"""
)
+
+
+# ADD SIGNAL FOR THAT
+# def load_initial_data(self):
+# """Create records for existing domains and co."""
+# for dom in Domain.objects.all():
+# policy = create_user_and_policy("@{0}".format(dom.name))
+# for domalias in dom.domainalias_set.all():
+# domalias_pattern = "@{0}".format(domalias.name)
+# create_user_and_use_policy(domalias_pattern, policy)
diff --git a/modoboa/urls_api_v2.py b/modoboa/urls_api_v2.py
index fd1e0b964..e6a77591e 100644
--- a/modoboa/urls_api_v2.py
+++ b/modoboa/urls_api_v2.py
@@ -1,5 +1,6 @@
"""External API urls."""
+from django.conf import settings
from django.urls import include, path
from modoboa.core.extensions import exts_pool
@@ -25,4 +26,9 @@ urlpatterns = [
path("webmail/", include("modoboa.webmail.urls")),
]
+if "modoboa.amavis" in settings.MODOBOA_APPS:
+ urlpatterns += [
+ path("amavis/", include("modoboa.amavis.urls")),
+ ]
+
urlpatterns += exts_pool.get_urls(category="api")
diff --git a/test_project/test_project/settings.py b/test_project/test_project/settings.py
index 441d410ab..2fbb5e308 100644
--- a/test_project/test_project/settings.py
+++ b/test_project/test_project/settings.py
@@ -104,6 +104,7 @@ MODOBOA_APPS = (
"modoboa.contacts",
"modoboa.calendars",
"modoboa.webmail",
+ "modoboa.amavis",
)
try:
@@ -376,6 +377,7 @@ LOGGING = {
SILENCED_SYSTEM_CHECKS = [
"security.W019", # modoboa uses iframes to display e-mails
+ "fields.W342",
]
DISABLE_DASHBOARD_EXTERNAL_QUERIES = False
@@ -387,3 +389,16 @@ LDAP_SERVER_PORT = os.environ.get("LDAP_SERVER_PORT", 3389)
WEBMAIL_DEV_MODE = os.environ.get("WEBMAIL_DEV_MODE", "off") == "on"
WEBMAIL_DEV_USERNAME = os.environ.get("WEBMAIL_DEV_USERNAME", "")
WEBMAIL_DEV_PASSWORD = os.environ.get("WEBMAIL_DEV_PASSWORD", "")
+
+# Amavis
+
+DATABASES["amavis"] = { # NOQA
+ "ENGINE": "django.db.backends.mysql",
+ "HOST": "mariadb",
+ "NAME": "amavis",
+ "USER": "root",
+ "PASSWORD": "Password1000",
+}
+
+DATABASE_ROUTERS = ["modoboa.amavis.dbrouter.AmavisRouter"]
+AMAVIS_DEFAULT_DATABASE_ENCODING = "LATIN1"