mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-11-13 09:04:04 +01:00
* Possibility to export domains and identities (see #116)
* Display Modoboa version nicely (fix #304)
This commit is contained in:
+26
-4
@@ -335,6 +335,11 @@ class User(DUser):
|
||||
if ooentry.content_object.is_owner(obj):
|
||||
return True
|
||||
return False
|
||||
|
||||
def to_csv(self, csvwriter):
|
||||
csvwriter.writerow(["account", self.username.encode("utf-8"), self.password,
|
||||
self.first_name.encode("utf-8"), self.last_name.encode("utf-8"),
|
||||
self.email])
|
||||
|
||||
class ObjectAccess(models.Model):
|
||||
user = models.ForeignKey(User)
|
||||
@@ -481,6 +486,9 @@ class Domain(DatesAware):
|
||||
self.enabled = True
|
||||
self.save()
|
||||
|
||||
def to_csv(self, csvwriter):
|
||||
csvwriter.writerow(["domain", self.name, self.quota])
|
||||
|
||||
class DomainAlias(DatesAware):
|
||||
name = models.CharField(ugettext_lazy("name"), max_length=100, unique=True,
|
||||
help_text=ugettext_lazy("The alias name"))
|
||||
@@ -768,11 +776,13 @@ class Alias(DatesAware):
|
||||
|
||||
@property
|
||||
def tags(self):
|
||||
cpt = len(self.mboxes.all())
|
||||
if cpt:
|
||||
label = _("alias") if cpt == 1 else _("distribution list")
|
||||
else:
|
||||
cpt = len(self.get_recipients())
|
||||
if cpt > 1:
|
||||
label = _("distribution list")
|
||||
elif self.extmboxes != "":
|
||||
label = _("forward")
|
||||
else:
|
||||
label = _("alias")
|
||||
return '<span class="label">%s</span>' % label
|
||||
|
||||
def save(self, int_rcpts, ext_rcpts, *args, **kwargs):
|
||||
@@ -844,6 +854,18 @@ class Alias(DatesAware):
|
||||
raise AdminError(_("Mailbox %s does not exist" % rcpt))
|
||||
self.save(int_rcpts, ext_rcpts)
|
||||
|
||||
def to_csv(self, csvwriter):
|
||||
cpt = len(self.get_recipients())
|
||||
if cpt > 1:
|
||||
altype = "dlist"
|
||||
elif self.extmboxes != "":
|
||||
altype = "forward"
|
||||
else:
|
||||
altype = "alias"
|
||||
row = [altype, self.address]
|
||||
row += self.get_recipients()
|
||||
csvwriter.writerow(row)
|
||||
|
||||
class Extension(models.Model):
|
||||
name = models.CharField(max_length=150)
|
||||
enabled = models.BooleanField(
|
||||
|
||||
Reference in New Issue
Block a user