Possibility to change default password.

see #1007
This commit is contained in:
Antoine Nguyen
2017-01-18 09:49:02 +01:00
parent 4b86e3d900
commit 1a7b9d85b8
4 changed files with 37 additions and 3 deletions
+2 -1
View File
@@ -238,7 +238,8 @@ class DomainFormOptions(forms.Form):
core_signals.can_create_object.send(
self.__class__, context=user, object_type="mailboxes")
da = User(username=username, email=username, is_active=True)
da.set_password("password")
da.set_password(
param_tools.get_global_parameter("default_password", app="core"))
da.save()
da.role = "DomainAdmins"
da.post_create(user)
+24
View File
@@ -99,6 +99,30 @@ class DomainTestCase(ModoTestCase):
)
self.assertTrue(da.can_access(al))
def test_create_with_template_and_custom_password(self):
"""Test creation of a domain with a template and custom password."""
self.set_global_parameter("default_password", "Toto1234", app="core")
values = {
"name": "pouet.com", "quota": 0, "create_dom_admin": True,
"dom_admin_username": "toto", "create_aliases": True,
"type": "domain", "stepid": 'step3'
}
self.ajax_post(
reverse("admin:domain_add"),
values
)
dom = Domain.objects.get(name="pouet.com")
da = User.objects.get(username="toto@pouet.com")
self.assertIn(da, dom.admins)
al = Alias.objects.get(address="postmaster@pouet.com")
self.assertTrue(
al.aliasrecipient_set.filter(r_mailbox=da.mailbox)
.exists()
)
self.assertTrue(da.can_access(al))
self.assertTrue(
self.client.login(username="toto@pouet.com", password="Toto1234"))
def test_create_using_default_quota(self):
self.set_global_parameter("default_domain_quota", 50)
values = {
+10
View File
@@ -3,6 +3,8 @@ from django import forms
from django.conf import settings
from django.utils.translation import ugettext as _, ugettext_lazy
from passwords import validators
from modoboa.lib import fields as lib_fields
from modoboa.lib.cryptutils import random_key
from modoboa.lib.form_utils import (
@@ -72,6 +74,14 @@ class GeneralParametersForm(param_forms.AdminParametersForm):
widget=forms.TextInput(attrs={"class": "form-control"})
)
default_password = forms.CharField(
label=ugettext_lazy("Default password"),
initial="password",
help_text=ugettext_lazy(
"Default password for automatically created accounts."),
validators=[validators.validate_length, validators.complexity]
)
# LDAP specific settings
ldap_sep = SeparatorField(label=ugettext_lazy("LDAP settings"))
@@ -19,8 +19,7 @@ from ... import signals
class Command(BaseCommand):
"""Command defintion."""
"""Command definition."""
help = "Load Modoboa initial data"