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()