diff --git a/plinth/modules/datetime/__init__.py b/plinth/modules/datetime/__init__.py index ede023cb5..86898e742 100644 --- a/plinth/modules/datetime/__init__.py +++ b/plinth/modules/datetime/__init__.py @@ -52,8 +52,10 @@ def init(): menu.add_urlname(title, 'glyphicon-time', 'datetime:index') global service - service = service_module.Service( - managed_services[0], title, ports=['ntp'], is_external=False) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['ntp'], is_external=False) def setup(helper, old_version=None): diff --git a/plinth/modules/deluge/__init__.py b/plinth/modules/deluge/__init__.py index 36ac38efc..681242c7a 100644 --- a/plinth/modules/deluge/__init__.py +++ b/plinth/modules/deluge/__init__.py @@ -56,9 +56,12 @@ def init(): menu.add_urlname(title, 'glyphicon-magnet', 'deluge:index') global service - service = service_module.Service( - managed_services[0], title, ports=['http', 'https'], is_external=True, - is_enabled=is_enabled, enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['http', 'https'], + is_external=True, is_enabled=is_enabled, enable=enable, + disable=disable) if is_enabled(): add_shortcut() diff --git a/plinth/modules/firewall/templates/firewall.html b/plinth/modules/firewall/templates/firewall.html index faa92a759..f23488719 100644 --- a/plinth/modules/firewall/templates/firewall.html +++ b/plinth/modules/firewall/templates/firewall.html @@ -42,15 +42,18 @@
+ {% for service in services|dictsort:"name" %} - {% if service.is_enabled %} {% if service.ports %} + - {% for port in service.ports %} @@ -88,7 +88,6 @@ {% endfor %} {% endif %} - {% endif %} {% endfor %}
{% trans "View Ports" %} {% trans "Service/Port" %} {% trans "Status" %}
+ + {{ service.name }} {% if service.is_enabled %} @@ -61,9 +64,6 @@ {% trans "Disabled" %} {% endif %} - -
diff --git a/plinth/modules/ikiwiki/__init__.py b/plinth/modules/ikiwiki/__init__.py index f1cdda969..8f0ae8afa 100644 --- a/plinth/modules/ikiwiki/__init__.py +++ b/plinth/modules/ikiwiki/__init__.py @@ -55,9 +55,11 @@ def init(): menu.add_urlname(title, 'glyphicon-edit', 'ikiwiki:index') global service - service = service_module.Service( - 'ikiwiki', title, ports=['http', 'https'], is_external=True, - is_enabled=is_enabled, enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + 'ikiwiki', title, ports=['http', 'https'], is_external=True, + is_enabled=is_enabled, enable=enable, disable=disable) if is_enabled(): add_shortcuts() diff --git a/plinth/modules/minetest/__init__.py b/plinth/modules/minetest/__init__.py index 4438d6e57..f4246eb09 100644 --- a/plinth/modules/minetest/__init__.py +++ b/plinth/modules/minetest/__init__.py @@ -64,9 +64,12 @@ def init(): menu.add_urlname(title, 'glyphicon-th-large', 'minetest:index') global service - service = service_module.Service( - managed_services[0], title, ports=['minetest-plinth'], - is_external=True, enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, + ports=['minetest-plinth'], is_external=True, enable=enable, + disable=disable) if service.is_enabled(): add_shortcut() diff --git a/plinth/modules/mumble/__init__.py b/plinth/modules/mumble/__init__.py index 1e80d556c..26cf670b4 100644 --- a/plinth/modules/mumble/__init__.py +++ b/plinth/modules/mumble/__init__.py @@ -58,9 +58,12 @@ def init(): menu.add_urlname(title, 'glyphicon-headphones', 'mumble:index') global service - service = service_module.Service( - managed_services[0], title, ports=['mumble-plinth'], is_external=True, - enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['mumble-plinth'], + is_external=True, + enable=enable, disable=disable) if service.is_enabled(): add_shortcut() diff --git a/plinth/modules/openvpn/__init__.py b/plinth/modules/openvpn/__init__.py index 5fc083b89..a009e35cf 100644 --- a/plinth/modules/openvpn/__init__.py +++ b/plinth/modules/openvpn/__init__.py @@ -58,8 +58,10 @@ def init(): menu.add_urlname(title, 'glyphicon-lock', 'openvpn:index') global service - service = service_module.Service( - managed_services[0], title, ports=['openvpn'], is_external=True) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['openvpn'], is_external=True) def setup(helper, old_version=None): diff --git a/plinth/modules/owncloud/__init__.py b/plinth/modules/owncloud/__init__.py index 5e1b8bb12..f7fff7d07 100644 --- a/plinth/modules/owncloud/__init__.py +++ b/plinth/modules/owncloud/__init__.py @@ -66,9 +66,11 @@ def init(): menu.add_urlname(title, 'glyphicon-picture', 'owncloud:index') global service - service = service_module.Service( - 'owncloud', title, ports=['http', 'https'], is_external=True, - is_enabled=is_enabled, enable=_enable, disable=_disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + 'owncloud', title, ports=['http', 'https'], is_external=True, + is_enabled=is_enabled, enable=_enable, disable=_disable) def setup(helper, old_version=None): diff --git a/plinth/modules/privoxy/__init__.py b/plinth/modules/privoxy/__init__.py index 14fde4684..54cc70be0 100644 --- a/plinth/modules/privoxy/__init__.py +++ b/plinth/modules/privoxy/__init__.py @@ -68,9 +68,12 @@ def init(): menu.add_urlname(title, 'glyphicon-cloud-upload', 'privoxy:index') global service - service = service_module.Service( - managed_services[0], title, ports=['privoxy'], is_external=False, - enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['privoxy'], + is_external=False, + enable=enable, disable=disable) if service.is_enabled(): add_shortcut() diff --git a/plinth/modules/quassel/__init__.py b/plinth/modules/quassel/__init__.py index 88ad381c4..44d2d4716 100644 --- a/plinth/modules/quassel/__init__.py +++ b/plinth/modules/quassel/__init__.py @@ -66,9 +66,11 @@ def init(): menu.add_urlname(title, 'glyphicon-retweet', 'quassel:index') global service - service = service_module.Service( - managed_services[0], title, ports=['quassel-plinth'], is_external=True, - enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['quassel-plinth'], + is_external=True, enable=enable, disable=disable) if service.is_enabled(): add_shortcut() diff --git a/plinth/modules/radicale/__init__.py b/plinth/modules/radicale/__init__.py index 01da9c94f..dcd3acf5e 100644 --- a/plinth/modules/radicale/__init__.py +++ b/plinth/modules/radicale/__init__.py @@ -61,9 +61,12 @@ def init(): menu.add_urlname(title, 'glyphicon-calendar', 'radicale:index') global service - service = service_module.Service( - managed_services[0], title, ports=['http', 'https'], is_external=True, - enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['http', 'https'], + is_external=True, + enable=enable, disable=disable) if service.is_enabled(): add_shortcut() diff --git a/plinth/modules/repro/__init__.py b/plinth/modules/repro/__init__.py index 4e7f8c66c..f85a6699a 100644 --- a/plinth/modules/repro/__init__.py +++ b/plinth/modules/repro/__init__.py @@ -69,9 +69,12 @@ def init(): menu.add_urlname(title, 'glyphicon-phone-alt', 'repro:index') global service - service = service_module.Service( - managed_services[0], title, ports=['sip', 'sips', 'rtp-plinth'], - is_external=True, enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, + ports=['sip', 'sips', 'rtp-plinth'], + is_external=True, enable=enable, disable=disable) if service.is_enabled(): add_shortcut() diff --git a/plinth/modules/restore/__init__.py b/plinth/modules/restore/__init__.py index 0aa1f2edf..49726f697 100644 --- a/plinth/modules/restore/__init__.py +++ b/plinth/modules/restore/__init__.py @@ -58,8 +58,11 @@ def init(): menu.add_urlname(title, 'glyphicon-hdd', 'restore:index') global service - service = service_module.Service( - managed_services[0], title, ports=['http', 'https'], is_external=False) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['http', 'https'], + is_external=False) def setup(helper, old_version=None): diff --git a/plinth/modules/roundcube/__init__.py b/plinth/modules/roundcube/__init__.py index 4b7a66aaa..6d3c9dc86 100644 --- a/plinth/modules/roundcube/__init__.py +++ b/plinth/modules/roundcube/__init__.py @@ -67,9 +67,11 @@ def init(): menu.add_urlname(title, 'glyphicon-envelope', 'roundcube:index') global service - service = service_module.Service( - 'roundcube', title, ports=['http', 'https'], is_external=True, - is_enabled=is_enabled, enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + 'roundcube', title, ports=['http', 'https'], is_external=True, + is_enabled=is_enabled, enable=enable, disable=disable) if is_enabled(): add_shortcut() diff --git a/plinth/modules/shaarli/__init__.py b/plinth/modules/shaarli/__init__.py index be6b11fe8..9f749744a 100644 --- a/plinth/modules/shaarli/__init__.py +++ b/plinth/modules/shaarli/__init__.py @@ -54,9 +54,11 @@ def init(): menu.add_urlname(title, 'glyphicon-bookmark', 'shaarli:index') global service - service = service_module.Service( - 'shaarli', title, ports=['http', 'https'], is_external=True, - is_enabled=is_enabled, enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + 'shaarli', title, ports=['http', 'https'], is_external=True, + is_enabled=is_enabled, enable=enable, disable=disable) if is_enabled(): add_shortcut() diff --git a/plinth/modules/transmission/__init__.py b/plinth/modules/transmission/__init__.py index 5eb1d5e64..c60c51ee7 100644 --- a/plinth/modules/transmission/__init__.py +++ b/plinth/modules/transmission/__init__.py @@ -55,9 +55,12 @@ def init(): menu.add_urlname(title, 'glyphicon-save', 'transmission:index') global service - service = service_module.Service( - managed_services[0], title, ports=['http', 'https'], is_external=True, - is_enabled=is_enabled, enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['http', 'https'], + is_external=True, is_enabled=is_enabled, + enable=enable, disable=disable) if is_enabled(): add_shortcut() diff --git a/plinth/modules/ttrss/__init__.py b/plinth/modules/ttrss/__init__.py index 6598b3db9..b545cfc4d 100644 --- a/plinth/modules/ttrss/__init__.py +++ b/plinth/modules/ttrss/__init__.py @@ -56,9 +56,12 @@ def init(): menu.add_urlname(title, 'glyphicon-envelope', 'ttrss:index') global service - service = service_module.Service( - managed_services[0], title, ports=['http', 'https'], is_external=True, - is_enabled=is_enabled, enable=enable, disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + managed_services[0], title, ports=['http', 'https'], + is_external=True, + is_enabled=is_enabled, enable=enable, disable=disable) if is_enabled(): add_shortcut() diff --git a/plinth/modules/xmpp/__init__.py b/plinth/modules/xmpp/__init__.py index 05fc18133..90003254f 100644 --- a/plinth/modules/xmpp/__init__.py +++ b/plinth/modules/xmpp/__init__.py @@ -63,10 +63,13 @@ def init(): menu.add_urlname(title, 'glyphicon-comment', 'xmpp:index') global service - service = service_module.Service( - 'ejabberd', title, ports=['xmpp-client', 'xmpp-server', 'xmpp-bosh'], - is_external=True, is_enabled=is_enabled, enable=enable, - disable=disable) + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup': + service = service_module.Service( + 'ejabberd', title, + ports=['xmpp-client', 'xmpp-server', 'xmpp-bosh'], + is_external=True, is_enabled=is_enabled, enable=enable, + disable=disable) pre_hostname_change.connect(on_pre_hostname_change) post_hostname_change.connect(on_post_hostname_change)