Load relay domain list if extension is activated.

see #631
This commit is contained in:
Antoine Nguyen
2014-11-04 16:59:42 +01:00
parent 788c7eb2c9
commit c23451f0a2
@@ -24,13 +24,17 @@ import re
import rrdtool
import string
from optparse import make_option
from django import db
from django.core.management.base import BaseCommand
from modoboa.lib import parameters
from modoboa.core.extensions import exts_pool
from modoboa.extensions.admin.models import Domain
from modoboa.extensions.postfix_relay_domains.models import RelayDomain
from modoboa.extensions.stats import Stats
from modoboa.extensions.stats.grapher import str2Time, Grapher
from modoboa.extensions.stats.graph_templates import MailTraffic
from modoboa.lib import parameters
rrdstep = 60
xpoints = 540
@@ -63,9 +67,7 @@ class LogParser(object):
self.data = {}
self.domains = []
for dom in Domain.objects.all():
self.domains += [str(dom.name)]
self.data[str(dom.name)] = {}
self._load_domain_list()
self.data["global"] = {}
self.workdict = {}
@@ -83,6 +85,23 @@ class LogParser(object):
self._prev_ho = -1
self.cur_t = 0
def _load_domain_list(self):
"""Load the list of allowed domains.
Since the relay domains feature is an extension of the admin
panel, we don't use an event to get the list of all supported
domains...
"""
for dom in Domain.objects.all():
self.domains += [str(dom.name)]
self.data[str(dom.name)] = {}
if not exts_pool.is_extension_enabled("postfix_relay_domains"):
return
for rdom in RelayDomain.objects.all():
self.domains += [str(rdom.name)]
self.data[str(rdom.name)] = {}
def _dprint(self, msg):
"""Print a debug message if required.