diff --git a/modoboa_installer/scripts/base.py b/modoboa_installer/scripts/base.py index 104ba4f..ef775e3 100644 --- a/modoboa_installer/scripts/base.py +++ b/modoboa_installer/scripts/base.py @@ -42,6 +42,20 @@ class Installer(object): self.dbuser = self.config.get(self.appname, "dbuser") self.dbpasswd = self.config.get(self.appname, "dbpassword") + @property + def modoboa_2_2_or_greater(self): + # Check if modoboa version > 2.2 + modoboa_version = python.get_package_version( + "modoboa", + self.self.config.get("modoboa", "venv_path"), + sudo_user=self.config.get("modoboa", "user") + ) + condition = ( + (modoboa_version[0] == 2 and modoboa_version[1] >= 2) or + modoboa_version[0] > 2 + ) + return condition + @property def config_dir(self): """Return main configuration directory.""" diff --git a/modoboa_installer/scripts/dovecot.py b/modoboa_installer/scripts/dovecot.py index 8f0ca08..321a342 100644 --- a/modoboa_installer/scripts/dovecot.py +++ b/modoboa_installer/scripts/dovecot.py @@ -31,22 +31,6 @@ class Dovecot(base.Installer): "conf.d/10-master.conf", "conf.d/20-lmtp.conf", "conf.d/10-ssl-keys.try"] with_user = True - def __init__(self, *args, **kwargs): - super.__init__(*args, **kwargs) - # Check if modoboa version > 2.2 - modoboa_version = python.get_package_version( - "modoboa", - self.config.get("modoboa", "venv_path"), - sudo_user=self.user - ) - self.modoboa_2_2_or_greater = False - condition = ( - (modoboa_version[0] == 2 and modoboa_version[1] >= 2) or - modoboa_version[0] > 2 - ) - if condition: - self.modoboa_2_2_or_greater = True - def setup_user(self): """Setup mailbox user.""" super().setup_user() diff --git a/modoboa_installer/scripts/modoboa.py b/modoboa_installer/scripts/modoboa.py index 2b36c8c..a2f683c 100644 --- a/modoboa_installer/scripts/modoboa.py +++ b/modoboa_installer/scripts/modoboa.py @@ -63,22 +63,6 @@ class Modoboa(base.Installer): self.opendkim_enabled = self.config.getboolean("opendkim", "enabled") self.dkim_cron_enabled = False - # Check if modoboa version > 2.2 - modoboa_version = python.get_package_version( - "modoboa", - self.venv_path, - sudo_user=self.user - ) - self.modoboa_2_2_or_greater = False - condition = ( - (modoboa_version[0] == 2 and modoboa_version[1] >= 2) or - modoboa_version[0] > 2 - ) - if condition: - self.modoboa_2_2_or_greater = True - if not self.modoboa_2_2_or_greater and self.opendkim_enabled: - self.dkim_cron_enabled = True - def is_extension_ok_for_version(self, extension, version): """Check if extension can be installed with this modo version.""" if extension not in compatibility_matrix.EXTENSIONS_AVAILABILITY: @@ -244,6 +228,8 @@ class Modoboa(base.Installer): extensions = self.config.get("modoboa", "extensions") extensions = extensions.split() random_hour = random.randint(0, 6) + self.dkim_cron_enabled = (not self.modoboa_2_2_or_greater and + self.opendkim_enabled) context.update({ "sudo_user": ( "uwsgi" if package.backend.FORMAT == "rpm" else context["user"]