diff --git a/INSTALL b/INSTALL index 8f958d161..d78c1a479 100644 --- a/INSTALL +++ b/INSTALL @@ -250,6 +250,11 @@ requires a migration. Before executing a schema/data migration, I recommend that you make a copy of your existing database. +0.9: global UI refactoring, new *limits* extension and more +----------------------------------------------------------- + + + 0.8.8: CSV import feature and minor fixes ----------------------------------------- diff --git a/admin/tables.py b/admin/tables.py index 39b1c2660..34aaf4245 100644 --- a/admin/tables.py +++ b/admin/tables.py @@ -1,5 +1,5 @@ # coding: utf-8 -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from modoboa.lib import tables from templatetags.admin_extras import * @@ -8,21 +8,21 @@ class DomainsTable(tables.Table): idkey = "id" name = tables.LinkColumn( - "name", label=ugettext_noop("Name"), + "name", label=ugettext_lazy("Name"), urlpattern="modoboa.admin.views.editdomain", title=_("Edit domain"), modal=True, modalcb="domainform_cb" ) - domaliases = tables.Column("domainalias_count", label=ugettext_noop("Domain aliases"), + domaliases = tables.Column("domainalias_count", label=ugettext_lazy("Domain aliases"), width="100px", align="center") - mboxes = tables.Column("mailbox_count", label=ugettext_noop("Mailboxes"), + mboxes = tables.Column("mailbox_count", label=ugettext_lazy("Mailboxes"), width="100px", align="center") - mbaliases = tables.Column("mbalias_count", label=ugettext_noop("Mailbox aliases"), + mbaliases = tables.Column("mbalias_count", label=ugettext_lazy("Mailbox aliases"), width="100px", align="center") - quota = tables.Column("quota", label=ugettext_noop("Quota"), + quota = tables.Column("quota", label=ugettext_lazy("Quota"), width="50px", align="center") enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="50px", align="center") - actions = tables.ActionColumn("actions", label=ugettext_noop("Actions"), width="70px", + actions = tables.ActionColumn("actions", label=ugettext_lazy("Actions"), width="70px", align="center", defvalue=domain_actions) cols_order = ["name", "domaliases", "mboxes", "mbaliases", @@ -46,23 +46,23 @@ class DomainsTable(tables.Table): class ExtensionsTable(tables.Table): idkey = "id" selection = tables.SelectionColumn("selection", width="4%", header=False) - name = tables.Column("name", label=ugettext_noop("Name"), width="15%") - version = tables.Column("version", label=ugettext_noop("Version"), width="6%") - descr = tables.Column("description", label=ugettext_noop("Description")) + name = tables.Column("name", label=ugettext_lazy("Name"), width="15%") + version = tables.Column("version", label=ugettext_lazy("Version"), width="6%") + descr = tables.Column("description", label=ugettext_lazy("Description")) cols_order = ["selection", "name", "version", "descr"] class IdentitiesTable(tables.Table): idkey = "id" identity = tables.LinkColumn( - "identity", label=ugettext_noop("Email/Username"), + "identity", label=ugettext_lazy("Email/Username"), modal=True, urlpattern={"User" : "modoboa.admin.views.editaccount", "Alias" : "modoboa.admin.views.editdlist"}, modalcb={"User" : "editaccount_cb", "Alias" : "dlistform_cb"} ) - name_or_rcpt = tables.Column("name_or_rcpt", label=ugettext_noop("Fullname/Recipient")) - actions = tables.ActionColumn("actions", label=ugettext_noop("Actions"), + name_or_rcpt = tables.Column("name_or_rcpt", label=ugettext_lazy("Fullname/Recipient")) + actions = tables.ActionColumn("actions", label=ugettext_lazy("Actions"), width="70px", align="center", defvalue=identity_actions) diff --git a/extensions/postfix_autoreply/forms.py b/extensions/postfix_autoreply/forms.py index e3f9d9584..4c4420a81 100644 --- a/extensions/postfix_autoreply/forms.py +++ b/extensions/postfix_autoreply/forms.py @@ -1,12 +1,14 @@ +# coding: utf-8 from django import forms from models import ARmessage -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_lazy import datetime class ARmessageForm(forms.ModelForm): untildate = forms.DateField( - label=_('Until'), required=False, - help_text=_("Activate your auto reply until this date") + label=ugettext_lazy('Until'), + required=False, + help_text=ugettext_lazy("Activate your auto reply until this date") ) class Meta: diff --git a/userprefs/forms.py b/userprefs/forms.py index f5de949e5..6aa566913 100644 --- a/userprefs/forms.py +++ b/userprefs/forms.py @@ -1,6 +1,6 @@ from django import forms from modoboa.admin.models import Domain, Mailbox -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from modoboa.lib.emailutils import split_mailbox from modoboa.lib import parameters @@ -8,11 +8,11 @@ class BadDestination(Exception): pass class ChangePasswordForm(forms.Form): - oldpassword = forms.CharField(label=ugettext_noop("Old password"), + oldpassword = forms.CharField(label=ugettext_lazy("Old password"), widget=forms.PasswordInput) - newpassword = forms.CharField(label=ugettext_noop("New password"), + newpassword = forms.CharField(label=ugettext_lazy("New password"), widget=forms.PasswordInput) - confirmation = forms.CharField(label=ugettext_noop("Confirmation"), + confirmation = forms.CharField(label=ugettext_lazy("Confirmation"), widget=forms.PasswordInput) def __init__(self, target, *args, **kwargs): @@ -33,8 +33,8 @@ class ChangePasswordForm(forms.Form): return self.cleaned_data["confirmation"] class ForwardForm(forms.Form): - dest = forms.CharField(label=_("Destination(s)"), widget=forms.Textarea) - keepcopies = forms.BooleanField(label=_("Keep local copies"), required=False) + dest = forms.CharField(label=ugettext_lazy("Destination(s)"), widget=forms.Textarea) + keepcopies = forms.BooleanField(label=ugettext_lazy("Keep local copies"), required=False) def parse_dest(self): self.dests = []