mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Ticket #10 + CSS bugfix
This commit is contained in:
+27
-36
@@ -21,23 +21,13 @@ class Domain(models.Model):
|
||||
return exec_as_vuser("mkdir -p %s" % path)
|
||||
|
||||
def rename_dir(self, newname):
|
||||
code, output = exec_pipe("sudo -u %s mv %s/%s %s/%s" \
|
||||
% (settings.VIRTUAL_UID,
|
||||
settings.STORAGE_PATH, self.name,
|
||||
settings.STORAGE_PATH, newname))
|
||||
if code:
|
||||
os.system("echo '%s' >> /tmp/vmail.log" % output)
|
||||
return False
|
||||
return True
|
||||
return exec_as_vuser("mv %s/%s %s/%s" \
|
||||
% (settings.STORAGE_PATH, self.name,
|
||||
settings.STORAGE_PATH, newname))
|
||||
|
||||
def delete_dir(self):
|
||||
code, output = exec_pipe("sudo -u %s rm -r %s/%s" \
|
||||
% (settings.VIRTUAL_UID,
|
||||
settings.STORAGE_PATH,
|
||||
self.name))
|
||||
if code:
|
||||
return False
|
||||
return True
|
||||
return exec_as_vuser("rm -r %s/%s" \
|
||||
% (settings.STORAGE_PATH, self.name))
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
@@ -60,6 +50,17 @@ class Mailbox(models.Model):
|
||||
("view_mailboxes", "View mailboxes"),
|
||||
)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(Mailbox, self).__init__(*args, **kwargs)
|
||||
try:
|
||||
self.mbtype = getattr(settings, "MAILBOX_TYPE")
|
||||
except AttributeError:
|
||||
self.mbtype = "maildir"
|
||||
try:
|
||||
self.mdirroot = getattr(settings, "MAILDIR_ROOT")
|
||||
except AttributeError:
|
||||
self.mdirroot = ".maildir"
|
||||
|
||||
def __str__(self):
|
||||
return "%s" % (self.address)
|
||||
|
||||
@@ -67,11 +68,7 @@ class Mailbox(models.Model):
|
||||
path = "%s/%s/%s" % (settings.STORAGE_PATH, domain.name, self.address)
|
||||
if not exec_as_vuser("mkdir -p %s" % path):
|
||||
return False
|
||||
try:
|
||||
mbtype = getattr(settings, "MAILBOX_TYPE")
|
||||
except AttributeError:
|
||||
mbtype = "maildir"
|
||||
if mbtype == "mbox":
|
||||
if self.mbtype == "mbox":
|
||||
template = ["Inbox", "Drafts", "Sent", "Trash", "Junk"]
|
||||
for dir in template:
|
||||
exec_as_vuser("touch %s/%s" % (path, dir))
|
||||
@@ -81,29 +78,23 @@ class Mailbox(models.Model):
|
||||
template = [".Drafts/", ".Sent/", ".Trash/", ".Junk/"]
|
||||
for dir in template:
|
||||
for sdir in ["cur", "new", "tmp"]:
|
||||
exec_as_vuser("mkdir -p %s/.maildir/%s/%s" % (path, dir, sdir))
|
||||
self.path = "%s/%s/.maildir/" % (domain.name, self.address)
|
||||
exec_as_vuser("mkdir -p %s/%s/%s/%s" \
|
||||
% (path, self.mdirroot, dir, sdir))
|
||||
self.path = "%s/%s/%s/" % (domain.name, self.address, self.mdirroot)
|
||||
return True
|
||||
|
||||
def rename_dir(self, domain, newaddress):
|
||||
path = "%s/%s" % (settings.STORAGE_PATH, domain)
|
||||
code, output = exec_pipe("sudo -u %s mv %s/%s %s/%s" \
|
||||
% (settings.VIRTUAL_UID,
|
||||
path, self.address, path, newaddress))
|
||||
code = exec_as_vuser("mv %s/%s %s/%s" \
|
||||
% (path, self.address, path, newaddress))
|
||||
if code:
|
||||
os.system("echo '%s' >> /tmp/vmail.log" % output)
|
||||
return False
|
||||
self.path = "%s/%s/.maildir/" % (domain, newaddress)
|
||||
return True
|
||||
self.path = "%s/%s/%s/" % (domain, newaddress, self.mdirroot)
|
||||
return code
|
||||
|
||||
def delete_dir(self):
|
||||
code, output = exec_pipe("sudo -u %s rm -r %s/%s/%s" \
|
||||
% (settings.VIRTUAL_UID,
|
||||
settings.STORAGE_PATH,
|
||||
self.domain.name, self.name))
|
||||
if code:
|
||||
return False
|
||||
return True
|
||||
return exec_as_vuser("rm -r %s/%s/%s" \
|
||||
% (settings.STORAGE_PATH,
|
||||
self.domain.name, self.address))
|
||||
|
||||
class Alias(models.Model):
|
||||
address = models.CharField(_('address'), max_length=100)
|
||||
|
||||
@@ -98,5 +98,8 @@ VIRTUAL_GID = "vmail"
|
||||
# Mailboxes format: maildir (default) or mbox
|
||||
# MAILBOX_TYPE = ""
|
||||
|
||||
# Maildir storage directory
|
||||
# MAILDIR_ROOT = ".maildir"
|
||||
|
||||
# Autoreplies sending timeout (default: 86400s)
|
||||
# AUTOREPLIES_TIMEOUT =
|
||||
|
||||
@@ -284,7 +284,9 @@ body {
|
||||
}
|
||||
|
||||
#domcontent {
|
||||
margin: 10px auto;
|
||||
margin: 0 auto;
|
||||
margin-top: 60px;
|
||||
margin-bottom: 10px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user