diff --git a/plinth/modules/email_server/__init__.py b/plinth/modules/email_server/__init__.py index fc10d4d57..7b4065c41 100644 --- a/plinth/modules/email_server/__init__.py +++ b/plinth/modules/email_server/__init__.py @@ -147,7 +147,6 @@ class EmailServerApp(plinth.app.App): results = super().diagnose() results.extend([r.summarize() for r in audit.ldap.get()]) results.extend([r.summarize() for r in audit.spam.get()]) - results.extend([r.summarize() for r in audit.rcube.get()]) return results @@ -179,7 +178,6 @@ def setup(helper, old_version=None): helper.call('post', audit.domain.set_domains) helper.call('post', audit.ldap.repair) helper.call('post', audit.spam.repair) - helper.call('post', audit.rcube.repair) # Reload actions.superuser_run('service', ['reload', 'postfix']) diff --git a/plinth/modules/email_server/audit/__init__.py b/plinth/modules/email_server/audit/__init__.py index e35045731..1dc17ee18 100644 --- a/plinth/modules/email_server/audit/__init__.py +++ b/plinth/modules/email_server/audit/__init__.py @@ -3,8 +3,6 @@ Provides diagnosis and repair of email server configuration issues """ -from . import aliases, domain, home, ldap, models, rcube, spam, tls +from . import aliases, domain, home, ldap, models, spam, tls -__all__ = [ - 'aliases', 'domain', 'home', 'ldap', 'models', 'rcube', 'spam', 'tls' -] +__all__ = ['aliases', 'domain', 'home', 'ldap', 'models', 'spam', 'tls'] diff --git a/plinth/modules/email_server/audit/rcube.py b/plinth/modules/email_server/audit/rcube.py deleted file mode 100644 index 3395a3329..000000000 --- a/plinth/modules/email_server/audit/rcube.py +++ /dev/null @@ -1,90 +0,0 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later - -import json -import logging -import os - -from django.utils.translation import gettext_lazy as _ - -from plinth import actions -from plinth.modules.email_server.lock import Mutex -from plinth.modules.email_server.modconf import ConfigInjector - -from . import models - -config_path = '/etc/roundcube/config.inc.php' -boundary_pattern = '//[ ]*--[ ]*(BEGIN|END)[ ]+FREEDOMBOX CONFIG$' -boundary_format = '//-- {} FREEDOMBOX CONFIG' - -rconf_template = """// -// The following section is managed by FreedomBox -// Be careful not to edit -include_once("/etc/roundcube/freedombox_mail.inc.php"); -""" - -logger = logging.getLogger(__name__) -rcube_mutex = Mutex('rcube-config') - - -def get(): - translation = { - 'rc_installed': _('RoundCube availability'), - 'rc_config_header': _('RoundCube configured for FreedomBox email'), - } - - output = actions.superuser_run('email_server', ['rcube', 'check']) - results = json.loads(output) - for i in range(0, len(results)): - results[i] = models.Diagnosis.from_json(results[i], translation.get) - - return results - - -def repair(): - actions.superuser_run('email_server', ['rcube', 'set_up']) - - -def repair_component(action): - action_to_services = {'set_up': []} - if action not in action_to_services: - return - actions.superuser_run('email_server', ['rcube', action]) - return action_to_services[action] - - -def action_check(): - results = _action_check() - for i in range(0, len(results)): - results[i] = results[i].to_json() - print(json.dumps(results)) - - -def _action_check(): - results = [] - if not os.path.exists(config_path): - diagnosis = models.Diagnosis('rc_installed') - diagnosis.error('Config file was missing') - diagnosis.error('Check that RoundCube has been installed') - results.append(diagnosis) - return results - - diagnosis = models.Diagnosis('rc_config_header', action='set_up') - injector = ConfigInjector(boundary_pattern, boundary_format) - if not injector.has_header_line(config_path): - diagnosis.error('FreedomBox header line was missing') - results.append(diagnosis) - return results - - -def action_set_up(): - with rcube_mutex.lock_all(): - _inject_rcube_config() - - -def _inject_rcube_config(): - if not os.path.exists(config_path): - logger.warning('Roundcube has not been installed') - return - logger.info('Opening rcube config file %s', config_path) - injector = ConfigInjector(boundary_pattern, boundary_format) - injector.do_template_string(rconf_template, config_path) diff --git a/plinth/modules/email_server/data/etc/roundcube/freedombox_mail.inc.php b/plinth/modules/email_server/data/etc/roundcube/freedombox_mail.inc.php deleted file mode 100644 index 62d858db0..000000000 --- a/plinth/modules/email_server/data/etc/roundcube/freedombox_mail.inc.php +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/plinth/modules/email_server/templates/email_server.html b/plinth/modules/email_server/templates/email_server.html index c963e1cff..b18fdaa54 100644 --- a/plinth/modules/email_server/templates/email_server.html +++ b/plinth/modules/email_server/templates/email_server.html @@ -5,11 +5,6 @@ {% load i18n %} -{% block content %} - {{ tabs|safe }} - {{ block.super }} -{% endblock %} - {% block subsubmenu %} {% trans "Manage Spam" %} @@ -20,46 +15,3 @@ {% trans "Manage Aliases" %} {% endblock %} - -{% block extra_content %} - {% if related_diagnostics %} -