mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
PEP8 fixes and module renames.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
from django import forms
|
||||
from django.conf import settings
|
||||
from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
from modoboa.lib.formutils import YesNoField, SeparatorField, InlineRadioSelect
|
||||
from modoboa.lib.form_utils import YesNoField, SeparatorField, InlineRadioSelect
|
||||
from modoboa.lib.cryptutils import random_key
|
||||
from modoboa.lib import parameters
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ from modoboa.core.extensions import exts_pool
|
||||
from modoboa.core.password_hashers import get_password_hasher
|
||||
|
||||
try:
|
||||
from modoboa.lib.ldaputils import LDAPAuthBackend
|
||||
from modoboa.lib.ldap_utils import LDAPAuthBackend
|
||||
ldap_available = True
|
||||
except ImportError:
|
||||
ldap_available = False
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from django import forms
|
||||
from django.conf import settings
|
||||
from django.utils.translation import ugettext_lazy
|
||||
from modoboa.lib.formutils import YesNoField, SeparatorField
|
||||
from modoboa.lib.form_utils import YesNoField, SeparatorField
|
||||
from modoboa.lib.sysutils import exec_cmd
|
||||
from modoboa.lib import parameters
|
||||
import os
|
||||
|
||||
@@ -6,7 +6,7 @@ from modoboa.lib import events, parameters
|
||||
from modoboa.lib.exceptions import PermDeniedException, Conflict, NotFound
|
||||
from modoboa.lib.permissions import get_account_roles
|
||||
from modoboa.lib.emailutils import split_mailbox
|
||||
from modoboa.lib.formutils import (
|
||||
from modoboa.lib.form_utils import (
|
||||
DomainNameField, DynamicForm, TabForms, WizardForm
|
||||
)
|
||||
from modoboa.lib.webutils import render_to_json_response
|
||||
|
||||
@@ -3,7 +3,7 @@ from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
from django.http import QueryDict
|
||||
from modoboa.lib.exceptions import BadRequest, NotFound, Conflict
|
||||
from modoboa.lib.emailutils import split_mailbox
|
||||
from modoboa.lib.formutils import (
|
||||
from modoboa.lib.form_utils import (
|
||||
DynamicForm
|
||||
)
|
||||
from modoboa.extensions.admin.models import (
|
||||
|
||||
@@ -5,7 +5,7 @@ from django.core.urlresolvers import reverse
|
||||
|
||||
from modoboa.lib import events, parameters
|
||||
from modoboa.lib.exceptions import ModoboaException, Conflict
|
||||
from modoboa.lib.formutils import (
|
||||
from modoboa.lib.form_utils import (
|
||||
DomainNameField, YesNoField, WizardForm, DynamicForm, TabForms
|
||||
)
|
||||
from modoboa.lib.webutils import render_to_json_response
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from modoboa.lib.formutils import SeparatorField, YesNoField, InlineRadioSelect
|
||||
from modoboa.lib.form_utils import SeparatorField, YesNoField, InlineRadioSelect
|
||||
from modoboa.lib.parameters import AdminParametersForm, UserParametersForm
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ from django import forms
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from modoboa.lib import parameters
|
||||
from modoboa.lib.formutils import InlineRadioSelect
|
||||
from modoboa.lib.form_utils import InlineRadioSelect
|
||||
from .models import Policy, Users
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from modoboa.lib.parameters import AdminParametersForm
|
||||
from modoboa.lib.formutils import SeparatorField
|
||||
from modoboa.lib.form_utils import SeparatorField
|
||||
|
||||
|
||||
class ParametersForm(AdminParametersForm):
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
from django.utils.translation import ugettext_lazy
|
||||
from django import forms
|
||||
from modoboa.lib.parameters import AdminParametersForm
|
||||
from modoboa.lib.formutils import SeparatorField
|
||||
from modoboa.lib.form_utils import SeparatorField
|
||||
|
||||
|
||||
class ParametersForm(AdminParametersForm):
|
||||
|
||||
@@ -103,7 +103,7 @@ def extra_mailform_fields(form_name, mailbox=None):
|
||||
:param str form_name: form name (must be 'mailform')
|
||||
:param Mailbox mailbox: mailbox
|
||||
"""
|
||||
from modoboa.lib.formutils import YesNoField
|
||||
from modoboa.lib.form_utils import YesNoField
|
||||
|
||||
if form_name != "mailform":
|
||||
return []
|
||||
|
||||
@@ -6,7 +6,7 @@ from django import forms
|
||||
from django.utils.translation import ugettext_lazy
|
||||
|
||||
from modoboa.lib import parameters
|
||||
from modoboa.lib.formutils import SeparatorField
|
||||
from modoboa.lib.form_utils import SeparatorField
|
||||
|
||||
|
||||
class AdminParametersForm(parameters.AdminParametersForm):
|
||||
|
||||
@@ -6,7 +6,7 @@ from django.http import QueryDict
|
||||
from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
from django.core.urlresolvers import reverse
|
||||
from modoboa.lib import events
|
||||
from modoboa.lib.formutils import DynamicForm, DomainNameField, TabForms
|
||||
from modoboa.lib.form_utils import DynamicForm, DomainNameField, TabForms
|
||||
from modoboa.lib.webutils import render_to_json_response
|
||||
from modoboa.extensions.admin.models import Domain, DomainAlias
|
||||
from .models import RelayDomain, RelayDomainAlias
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from django.utils.translation import ugettext_lazy
|
||||
from django import forms
|
||||
from modoboa.lib.parameters import AdminParametersForm
|
||||
from modoboa.lib.formutils import SeparatorField, YesNoField
|
||||
from modoboa.lib.form_utils import SeparatorField, YesNoField
|
||||
|
||||
|
||||
class ParametersForm(AdminParametersForm):
|
||||
|
||||
@@ -5,7 +5,7 @@ from django import forms
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
from modoboa.lib.webutils import render_to_json_response
|
||||
from modoboa.lib.formutils import WizardForm, TabForms, DynamicForm
|
||||
from modoboa.lib.form_utils import WizardForm, TabForms, DynamicForm
|
||||
from modoboa.extensions.admin.models import Domain, Mailbox
|
||||
from modoboa.extensions.radicale.models import UserCalendar, SharedCalendar
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||
from django import forms
|
||||
from sievelib.managesieve import SUPPORTED_AUTH_MECHS
|
||||
from modoboa.lib.parameters import AdminParametersForm, UserParametersForm
|
||||
from modoboa.lib.formutils import SeparatorField, YesNoField, InlineRadioSelect
|
||||
from modoboa.lib.form_utils import SeparatorField, YesNoField, InlineRadioSelect
|
||||
|
||||
|
||||
def supported_auth_mechs():
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
from django.utils.translation import ugettext_lazy
|
||||
from django import forms
|
||||
from modoboa.lib.parameters import AdminParametersForm
|
||||
from modoboa.lib.formutils import SeparatorField
|
||||
from modoboa.lib.form_utils import SeparatorField
|
||||
|
||||
|
||||
class ParametersForm(AdminParametersForm):
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from modoboa.lib.parameters import AdminParametersForm, UserParametersForm
|
||||
from modoboa.lib.formutils import SeparatorField, YesNoField, InlineRadioSelect
|
||||
from modoboa.lib.form_utils import SeparatorField, YesNoField, InlineRadioSelect
|
||||
|
||||
|
||||
class ParametersForm(AdminParametersForm):
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
"""Custom authentication backends."""
|
||||
|
||||
from django.contrib.auth.backends import ModelBackend
|
||||
|
||||
from modoboa.core.models import User
|
||||
from modoboa.lib import parameters
|
||||
from modoboa.lib.emailutils import split_mailbox
|
||||
@@ -6,6 +9,8 @@ from modoboa.lib.emailutils import split_mailbox
|
||||
|
||||
class SimpleBackend(ModelBackend):
|
||||
|
||||
"""Simple authentication backend."""
|
||||
|
||||
def authenticate(self, username=None, password=None):
|
||||
try:
|
||||
user = User.objects.get(username=username)
|
||||
|
||||
@@ -8,12 +8,15 @@ This module provides a simple way of managing events between Modoboa
|
||||
core application and additional components.
|
||||
|
||||
"""
|
||||
from functools import wraps
|
||||
import inspect
|
||||
import re
|
||||
from functools import wraps
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
from modoboa.lib.sysutils import guess_extension_name
|
||||
|
||||
|
||||
events = []
|
||||
callbacks = {}
|
||||
|
||||
|
||||
@@ -1,24 +1,28 @@
|
||||
# coding: utf-8
|
||||
import re
|
||||
import abc
|
||||
|
||||
from django.shortcuts import render
|
||||
from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
from django.forms import ChoiceField
|
||||
from django.forms.widgets import RadioSelect, RadioInput
|
||||
from django.forms.fields import CharField, Field
|
||||
"""Form management utilities."""
|
||||
|
||||
import abc
|
||||
import re
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.forms import ChoiceField
|
||||
from django.forms.fields import CharField, Field
|
||||
from django.forms.widgets import RadioSelect, RadioInput
|
||||
from django.shortcuts import render
|
||||
from django.utils.encoding import force_unicode
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.html import conditional_escape
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
|
||||
from modoboa.lib.exceptions import BadRequest
|
||||
from modoboa.lib.webutils import render_to_json_response
|
||||
|
||||
|
||||
class WizardStep(object):
|
||||
"""A wizard step.
|
||||
"""
|
||||
|
||||
"""A wizard step."""
|
||||
|
||||
def __init__(self, cls, title, formtpl=None, new_args=None):
|
||||
"""Constructor.
|
||||
|
||||
@@ -65,8 +69,9 @@ class WizardStep(object):
|
||||
|
||||
|
||||
class WizardForm(object):
|
||||
"""Custom wizard.
|
||||
"""
|
||||
|
||||
"""Custom wizard."""
|
||||
|
||||
__metaclass__ = abc.ABCMeta
|
||||
|
||||
template_name = "common/wizard_forms.html"
|
||||
@@ -159,12 +164,15 @@ class WizardForm(object):
|
||||
|
||||
|
||||
class DynamicForm(object):
|
||||
"""A form which accepts dynamic fields.
|
||||
|
||||
"""
|
||||
A form which accepts dynamic fields.
|
||||
|
||||
We consider a field to be dynamic when it can appear multiple
|
||||
times within the same request.
|
||||
|
||||
"""
|
||||
|
||||
def _create_field(self, typ, name, value=None, pos=None):
|
||||
"""Create a new form field.
|
||||
"""
|
||||
@@ -222,8 +230,9 @@ class TabForms(object):
|
||||
args.append(request.POST)
|
||||
if instances is not None:
|
||||
self.instances = instances
|
||||
if hasattr(self, "check_%s" % fd["id"]):
|
||||
if not getattr(self, "check_%s" % fd["id"])(instances[fd["id"]]):
|
||||
mname = "check_%s" % fd["id"]
|
||||
if hasattr(self, mname):
|
||||
if not getattr(self, mname)(instances[fd["id"]]):
|
||||
to_remove += [fd]
|
||||
continue
|
||||
kwargs["instance"] = instances[fd["id"]]
|
||||
@@ -231,7 +240,7 @@ class TabForms(object):
|
||||
fd["instance"] = classes[fd["id"]](*args, **kwargs)
|
||||
else:
|
||||
fd["instance"] = fd["cls"](*args, **kwargs)
|
||||
self.forms = [form for form in self.forms if not form in to_remove]
|
||||
self.forms = [form for form in self.forms if form not in to_remove]
|
||||
if self.forms:
|
||||
self.active_id = self.forms[0]["id"]
|
||||
|
||||
@@ -263,10 +272,9 @@ class TabForms(object):
|
||||
to_remove = []
|
||||
for f in self.forms:
|
||||
if mandatory_only and \
|
||||
(not 'mandatory' in f or not f["mandatory"]):
|
||||
('mandatory' not in f or not f["mandatory"]):
|
||||
continue
|
||||
elif optional_only and \
|
||||
('mandatory' in f and f["mandatory"]):
|
||||
elif optional_only and ('mandatory' in f and f["mandatory"]):
|
||||
continue
|
||||
if not self._before_is_valid(f):
|
||||
to_remove.append(f)
|
||||
@@ -274,7 +282,7 @@ class TabForms(object):
|
||||
if not f["instance"].is_valid():
|
||||
self.active_id = f["id"]
|
||||
return False
|
||||
self.forms = [f for f in self.forms if not f in to_remove]
|
||||
self.forms = [f for f in self.forms if f not in to_remove]
|
||||
return True
|
||||
|
||||
@abc.abstractmethod
|
||||
@@ -334,11 +342,11 @@ class TabForms(object):
|
||||
|
||||
|
||||
def is_valid_host(host):
|
||||
"""IDN compatible domain validator
|
||||
"""
|
||||
"""IDN compatible domain validator."""
|
||||
host = host.encode('idna').lower()
|
||||
if not hasattr(is_valid_host, '_re'):
|
||||
is_valid_host._re = re.compile(r'^([0-9a-z][-\w]*[0-9a-z]\.)+[a-z0-9\-]{2,15}$')
|
||||
is_valid_host._re = re.compile(
|
||||
r'^([0-9a-z][-\w]*[0-9a-z]\.)+[a-z0-9\-]{2,15}$')
|
||||
return bool(is_valid_host._re.match(host))
|
||||
|
||||
|
||||
@@ -9,9 +9,11 @@ will be available and modifiable directly from the web interface.
|
||||
Only super users will be able to access this part of the web interface.
|
||||
"""
|
||||
from django import forms
|
||||
|
||||
from modoboa.lib import events
|
||||
from modoboa.lib.sysutils import guess_extension_name
|
||||
from modoboa.lib.exceptions import ModoboaException
|
||||
from modoboa.lib.sysutils import guess_extension_name
|
||||
|
||||
|
||||
_params = {'A': {}, 'U': {}}
|
||||
|
||||
@@ -92,7 +94,7 @@ class AdminParametersForm(GenericParametersForm):
|
||||
|
||||
def save(self):
|
||||
from .models import Parameter
|
||||
from modoboa.lib.formutils import SeparatorField
|
||||
from modoboa.lib.form_utils import SeparatorField
|
||||
|
||||
for name, value in self.cleaned_data.items():
|
||||
if type(self.fields[name]) is SeparatorField:
|
||||
@@ -138,7 +140,7 @@ class UserParametersForm(GenericParametersForm):
|
||||
|
||||
def save(self):
|
||||
from .models import UserParameter
|
||||
from modoboa.lib.formutils import SeparatorField
|
||||
from modoboa.lib.form_utils import SeparatorField
|
||||
|
||||
for name, value in self.cleaned_data.items():
|
||||
if type(self.fields[name]) is SeparatorField:
|
||||
@@ -162,7 +164,7 @@ def register(formclass, label):
|
||||
:param formclass: a form class
|
||||
:param string label: the label to display in parameters or settings pages
|
||||
"""
|
||||
from modoboa.lib.formutils import SeparatorField
|
||||
from modoboa.lib.form_utils import SeparatorField
|
||||
|
||||
if issubclass(formclass, AdminParametersForm):
|
||||
level = 'A'
|
||||
|
||||
@@ -6,7 +6,7 @@ from django import forms
|
||||
from django import template
|
||||
from django.template.loader import render_to_string
|
||||
|
||||
from modoboa.lib.formutils import SeparatorField
|
||||
from modoboa.lib.form_utils import SeparatorField
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user