Amavis extensions fixes.

This commit is contained in:
Antoine Nguyen
2014-11-10 11:42:04 +01:00
parent f80141bcb8
commit 01d0641fd2
6 changed files with 22 additions and 20 deletions
+1
View File
@@ -1 +1,2 @@
django-bower django-bower
django-debug-toolbar
+7 -10
View File
@@ -18,8 +18,9 @@ class ParametersForm(AdminParametersForm):
max_messages_age = forms.IntegerField( max_messages_age = forms.IntegerField(
label=_("Maximum message age"), label=_("Maximum message age"),
initial=14, initial=14,
help_text=_("Quarantine messages maximum age (in days) before deletion"), help_text=_(
widget=forms.TextInput(attrs={"class": "form-control"}) "Quarantine messages maximum age (in days) before deletion"
)
) )
sep1 = SeparatorField(label=_("Messages releasing")) sep1 = SeparatorField(label=_("Messages releasing"))
@@ -49,15 +50,13 @@ class ParametersForm(AdminParametersForm):
am_pdp_port = forms.IntegerField( am_pdp_port = forms.IntegerField(
label=_("PDP server port"), label=_("PDP server port"),
initial=9998, initial=9998,
help_text=_("PDP server port (if inet mode)"), help_text=_("PDP server port (if inet mode)")
widget=forms.TextInput(attrs={"class": "form-control"})
) )
am_pdp_socket = forms.CharField( am_pdp_socket = forms.CharField(
label=_("PDP server socket"), label=_("PDP server socket"),
initial="/var/amavis/amavisd.sock", initial="/var/amavis/amavisd.sock",
help_text=_("Path to the PDP server socket (if unix mode)"), help_text=_("Path to the PDP server socket (if unix mode)")
widget=forms.TextInput(attrs={"class": "form-control"})
) )
user_can_release = YesNoField( user_can_release = YesNoField(
@@ -75,8 +74,7 @@ class ParametersForm(AdminParametersForm):
notifications_sender = forms.EmailField( notifications_sender = forms.EmailField(
label=_("Notifications sender"), label=_("Notifications sender"),
initial="notification@modoboa.org", initial="notification@modoboa.org",
help_text=_("The e-mail address used to send notitications"), help_text=_("The e-mail address used to send notitications")
widget=forms.TextInput(attrs={"class": "form-control"})
) )
lsep = SeparatorField(label=_("Manual learning")) lsep = SeparatorField(label=_("Manual learning"))
@@ -160,6 +158,5 @@ class UserSettings(UserParametersForm):
messages_per_page = forms.IntegerField( messages_per_page = forms.IntegerField(
initial=40, initial=40,
label=_("Number of displayed emails per page"), label=_("Number of displayed emails per page"),
help_text=_("Set the maximum number of messages displayed in a page"), help_text=_("Set the maximum number of messages displayed in a page")
widget=forms.TextInput(attrs={"class": "form-control"})
) )
+11 -7
View File
@@ -9,7 +9,7 @@ from modoboa.extensions.amavis.lib import (
create_user_and_use_policy, delete_user create_user_and_use_policy, delete_user
) )
from .lib import manual_learning_enabled from .lib import manual_learning_enabled
from .models import Users from .models import Policy, Users
@events.observe("UserMenuDisplay") @events.observe("UserMenuDisplay")
@@ -76,7 +76,7 @@ def on_mailbox_deleted(mailbox):
"""Clean amavis database when a mailbox is removed.""" """Clean amavis database when a mailbox is removed."""
if parameters.get_admin("MANUAL_LEARNING") == "no": if parameters.get_admin("MANUAL_LEARNING") == "no":
return return
delete_user_and_policy(mailbox.full_address) delete_user_and_policy("@{0}".format(mailbox.full_address))
@events.observe("MailboxAliasCreated") @events.observe("MailboxAliasCreated")
@@ -87,11 +87,15 @@ def on_mailboxalias_created(user, alias):
""" """
if not manual_learning_enabled(user) or alias.type != "alias": if not manual_learning_enabled(user) or alias.type != "alias":
return return
policy = Policy.objects.get( try:
policy_name=alias.mboxes.all()[0].full_address policy = Policy.objects.get(
) policy_name=alias.mboxes.all()[0].full_address
email = alias.full_address )
Users.objects.create(email=email, policy=policy, fullname=email) except Policy.DoesNotExist:
return
else:
email = alias.full_address
Users.objects.create(email=email, policy=policy, fullname=email)
@events.observe("MailboxAliasDeleted") @events.observe("MailboxAliasDeleted")
+1 -1
View File
@@ -248,7 +248,7 @@ def create_user_and_use_policy(name, policy_name, priority=7):
:param str name: user record name :param str name: user record name
:param str policy_name: policy name :param str policy_name: policy name
""" """
policy = Policy.objects.get(policy_name=policy_name[:32]) policy = Policy.objects.get(policy_name="@{0}".format(policy_name[:32]))
Users.objects.create( Users.objects.create(
email=name, fullname=name, priority=priority, policy=policy email=name, fullname=name, priority=priority, policy=policy
) )
@@ -21,7 +21,7 @@ $(document).ready(function() {
var qm = new Quarantine({ var qm = new Quarantine({
deflocation: "listing/?sort_order=-date&reset_page=true", deflocation: "listing/?sort_order=-date&reset_page=true",
defcallback: "listing_cb", defcallback: "listing_cb",
load_page_url: "{% url 'amavis:mail_page' %}" load_page_url: "{% url 'amavis:mail_page' %}",
check_learning_rcpt: {{ check_learning_rcpt }}, check_learning_rcpt: {{ check_learning_rcpt }},
learning_recipient_url: "{% url 'amavis:learning_recipient_set' %}" learning_recipient_url: "{% url 'amavis:learning_recipient_set' %}"
}); });
+1 -1
View File
@@ -116,7 +116,7 @@ def index(request):
domain_level_learning = parameters.get_admin( domain_level_learning = parameters.get_admin(
"DOMAIN_LEVEL_LEARNING") == "yes" "DOMAIN_LEVEL_LEARNING") == "yes"
if user_level_learning or domain_level_learning: if user_level_learning or domain_level_learning:
check_learning_rcpt = "true" check_learning_rcpt = "true"
return render(request, "amavis/index.html", dict( return render(request, "amavis/index.html", dict(
selection="quarantine", check_learning_rcpt=check_learning_rcpt selection="quarantine", check_learning_rcpt=check_learning_rcpt
)) ))