diff --git a/plinth/modules/names/templates/names.html b/plinth/modules/names/templates/names.html index e7b3407f3..fffc51897 100644 --- a/plinth/modules/names/templates/names.html +++ b/plinth/modules/names/templates/names.html @@ -42,7 +42,7 @@ {% for name_service in status.name_services %} - {{ name_service.type }}
+ {{ name_service.type }}
{{ name_service.name }} {% for service in name_service.services_enabled %} diff --git a/plinth/modules/pagekite/__init__.py b/plinth/modules/pagekite/__init__.py index 00a99e37f..b83c7e5ae 100644 --- a/plinth/modules/pagekite/__init__.py +++ b/plinth/modules/pagekite/__init__.py @@ -21,7 +21,6 @@ Plinth module to configure PageKite from django.utils.translation import ugettext_lazy as _ from plinth import cfg -from plinth.signals import domain_added from . import utils @@ -37,24 +36,4 @@ def init(): 'glyphicon-flag', 'pagekite:index', 800) # Register kite name with Name Services module. - try: - kite_name = utils.get_kite_details()['kite_name'] - enabled = utils.get_pagekite_config()['enabled'] - except IndexError: - # no data from 'pagekite get-kite' - kite_name = None - enabled_services = None - else: - if enabled and kite_name: - services = utils.get_pagekite_services()[0] - enabled_services = [] - for service in services: - if services[service]: - enabled_services.append(service) - else: - kite_name = None - enabled_services = None - - domain_added.send_robust(sender='pagekite', domain_type='pagekite', - name=kite_name, description=_('Pagekite'), - services=enabled_services) + utils.update_names_module(initial_registration=True) diff --git a/plinth/modules/pagekite/forms.py b/plinth/modules/pagekite/forms.py index 61a18cc4c..73d2f44b0 100644 --- a/plinth/modules/pagekite/forms.py +++ b/plinth/modules/pagekite/forms.py @@ -24,7 +24,6 @@ import json import logging from plinth.errors import ActionError -from plinth.signals import domain_added, domain_removed from . import utils LOGGER = logging.getLogger(__name__) @@ -105,18 +104,8 @@ class ConfigurationForm(forms.Form): utils.run(['restart']) # Update kite name registered with Name Services module. - domain_removed.send_robust( - sender='pagekite', domain_type='pagekite') - if new['enabled'] and new['kite_name']: - services = utils.get_pagekite_services()[0] - enabled_services = [] - for service in services: - if services[service]: - enabled_services.append(service) - domain_added.send_robust( - sender='pagekite', domain_type='pagekite', - name=new['kite_name'], description=_('Pagekite'), - services=enabled_services) + utils.update_names_module(enabled=new['enabled'], + kite_name=new['kite_name']) class StandardServiceForm(forms.Form): @@ -150,26 +139,8 @@ class StandardServiceForm(forms.Form): messages.success(request, _('Service disabled: {name}') .format(name=service_name)) - # Update kite name services registered with Name Services module. - domain_removed.send_robust( - sender='pagekite', domain_type='pagekite') - try: - kite_name = utils.get_kite_details()['kite_name'] - enabled = utils.get_pagekite_config()['enabled'] - except IndexError: - # no data from 'pagekite get-kite' - pass - else: - if enabled and kite_name: - services = utils.get_pagekite_services()[0] - enabled_services = [] - for service in services: - if services[service]: - enabled_services.append(service) - domain_added.send_robust( - sender='pagekite', domain_type='pagekite', - name=kite_name, description=_('Pagekite'), - services=enabled_services) + # Update kite services registered with Name Services module. + utils.update_names_module() class BaseCustomServiceForm(forms.Form): diff --git a/plinth/modules/pagekite/utils.py b/plinth/modules/pagekite/utils.py index 46545307c..c902ce3ca 100644 --- a/plinth/modules/pagekite/utils.py +++ b/plinth/modules/pagekite/utils.py @@ -22,6 +22,7 @@ import os from plinth import actions from plinth import action_utils +from plinth.signals import domain_added, domain_removed LOGGER = logging.getLogger(__name__) @@ -238,6 +239,43 @@ def get_augeas_servicefile_path(protocol): return os.path.join(CONF_PATH, relpath, 'service_on') +def update_names_module(initial_registration=False, enabled=None, + kite_name=None): + """ + Update the PageKite domain and services of the 'names' module. + + - initial_registration: Boolean (optional): Register also if not enabled + - enabled: Boolean (optional) whether PageKite is enabled + - kite_name: String (optional) + """ + domain_removed.send_robust(sender='pagekite', domain_type='pagekite') + + if enabled is None: + try: + enabled = get_pagekite_config()['enabled'] + except IndexError: + enabled = False + + if enabled: + # Get enabled services and kite name + services = get_pagekite_services()[0] + enabled_services = [service for service in services if + services[service]] + if kite_name is None: + try: + kite_name = get_kite_details()['kite_name'] + except IndexError: + pass + else: + enabled_services = None + kite_name = None + + if initial_registration or (enabled and kite_name): + domain_added.send_robust( + sender='pagekite', domain_type='pagekite', name=kite_name, + description=_('Pagekite'), services=enabled_services) + + if __name__ == "__main__": import doctest doctest.testmod()