mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
Adding support for alias -> alias import.
This commit is contained in:
+13
-4
@@ -1138,6 +1138,9 @@ class Alias(DatesAware):
|
||||
return False
|
||||
|
||||
def from_csv(self, user, row, expected_elements=5):
|
||||
"""Create a new alias from a CSV file entry
|
||||
|
||||
"""
|
||||
if len(row) < expected_elements:
|
||||
raise AdminError(_("Invalid line: %s" % row))
|
||||
localpart, domname = split_mailbox(row[1].strip())
|
||||
@@ -1161,10 +1164,16 @@ class Alias(DatesAware):
|
||||
ext_rcpts += [rcpt]
|
||||
continue
|
||||
try:
|
||||
int_rcpts += [Mailbox.objects.get(address=localpart,
|
||||
domain__name=domname)]
|
||||
except Mailbox.DoesNotExist:
|
||||
raise AdminError(_("Mailbox %s does not exist" % rcpt))
|
||||
rcpt = Alias.objects.get(domain=domname, address=localpart)
|
||||
except Alias.DoesNotExist:
|
||||
rcpt = None
|
||||
if rcpt is None:
|
||||
try:
|
||||
rcpt = Mailbox.objects.get(address=localpart,
|
||||
domain__name=domname)
|
||||
except Mailbox.DoesNotExist:
|
||||
raise AdminError(_("Local recipient %s not found" % rcpt))
|
||||
int_rcpts += [rcpt]
|
||||
self.save(int_rcpts, ext_rcpts, creator=user)
|
||||
|
||||
def to_csv(self, csvwriter):
|
||||
|
||||
Reference in New Issue
Block a user