diff --git a/plinth/frontpage.py b/plinth/frontpage.py index 2cbd2cf1a..8b3411514 100644 --- a/plinth/frontpage.py +++ b/plinth/frontpage.py @@ -27,7 +27,8 @@ def get_shortcuts(): return sorted(shortcuts.values(), key=lambda item: item['label']) -def add_shortcut(id, label, url, icon, details=None, login_required=False): +def add_shortcut(id, label, url, icon, details=None, configure_url=None, + login_required=False): """Add shortcut to front page.""" if not url: @@ -40,6 +41,7 @@ def add_shortcut(id, label, url, icon, details=None, login_required=False): 'icon': icon, 'login_required': login_required, 'details': details, + 'configure_url': configure_url, } diff --git a/plinth/modules/minetest/__init__.py b/plinth/modules/minetest/__init__.py index 95bc520cd..d25b405ac 100644 --- a/plinth/modules/minetest/__init__.py +++ b/plinth/modules/minetest/__init__.py @@ -51,6 +51,8 @@ description = [ 'is needed.'), box_name=_(cfg.box_name)), ] +configure_url = _('apps/minetest') + def init(): """Initialize the module.""" @@ -75,7 +77,8 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('minetest', title, None, 'glyphicon-th-large', - description, login_required=False) + description, configure_url, + login_required=False) def enable(): diff --git a/plinth/modules/mumble/__init__.py b/plinth/modules/mumble/__init__.py index ef2c9f87f..f6df148fd 100644 --- a/plinth/modules/mumble/__init__.py +++ b/plinth/modules/mumble/__init__.py @@ -51,6 +51,9 @@ description = [ ] +configure_url = _('apps/mumble') + + def init(): """Intialize the Mumble module.""" menu = cfg.main_menu.get('apps:index') @@ -80,7 +83,8 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('mumble', title, None, 'glyphicon-headphones', - description, login_required=False) + description, configure_url, + login_required=False) def enable(): diff --git a/plinth/modules/privoxy/__init__.py b/plinth/modules/privoxy/__init__.py index 07effd6f8..002fbf744 100644 --- a/plinth/modules/privoxy/__init__.py +++ b/plinth/modules/privoxy/__init__.py @@ -54,9 +54,12 @@ description = [ 'While using Privoxy, you can see its configuration details and ' 'documentation at ' 'http://config.privoxy.org/ ' - 'or http://p.p.'), box_name=_(cfg.box_name)) + 'or http://p.p.'), + box_name=_(cfg.box_name)), ] +configure_url = _('apps/privoxy') + service = None @@ -84,7 +87,8 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('privoxy', title, None, 'glyphicon-cloud-upload', - description, login_required=True) + description, configure_url, + login_required=True) def enable(): diff --git a/plinth/modules/quassel/__init__.py b/plinth/modules/quassel/__init__.py index b3bd85fd6..459187c41 100644 --- a/plinth/modules/quassel/__init__.py +++ b/plinth/modules/quassel/__init__.py @@ -55,9 +55,11 @@ description = [ '4242. Clients to connect to Quassel from your ' 'desktop and ' 'mobile devices ' - 'are available.') + 'are available.'), ] +configure_url = _('apps/quassel') + def init(): """Initialize the quassel module.""" @@ -88,7 +90,8 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('quassel', title, None, 'glyphicon-retweet', - description, login_required=True) + description, configure_url, + login_required=True) def enable(): diff --git a/plinth/modules/radicale/__init__.py b/plinth/modules/radicale/__init__.py index 3a61b801d..9fdbdaa0b 100644 --- a/plinth/modules/radicale/__init__.py +++ b/plinth/modules/radicale/__init__.py @@ -51,6 +51,8 @@ description = [ 'login.'), box_name=_(cfg.box_name)), ] +configure_url = _('apps/radicale') + CONFIG_FILE = '/etc/radicale/config' @@ -78,7 +80,8 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('radicale', title, None, 'glyphicon-calendar', - description, login_required=True) + description, configure_url, + login_required=True) def enable(): diff --git a/plinth/modules/repro/__init__.py b/plinth/modules/repro/__init__.py index ec8ab818f..6ee95da2c 100644 --- a/plinth/modules/repro/__init__.py +++ b/plinth/modules/repro/__init__.py @@ -59,6 +59,8 @@ description = [ 'service and re-enable it.'), ] +configure_url = _('apps/repro') + service = None @@ -92,7 +94,8 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('repro', title, None, 'glyphicon-phone-alt', - description, login_required=True) + description, configure_url, + login_required=True) def enable(): diff --git a/plinth/modules/xmpp/__init__.py b/plinth/modules/xmpp/__init__.py index 9463009c6..314bacc76 100644 --- a/plinth/modules/xmpp/__init__.py +++ b/plinth/modules/xmpp/__init__.py @@ -49,9 +49,11 @@ description = [ _('To actually communicate, you can use the web client or any other ' 'XMPP client.') + '>XMPP client.'), ] +configure_url = _('apps/xmpp') + service = None logger = logging.getLogger(__name__) @@ -92,9 +94,10 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('jsxc', _('Chat Client (jsxc)'), reverse_lazy('xmpp:jsxc'), 'glyphicon-comment', - login_required=True) + None, login_required=True) frontpage.add_shortcut('xmpp', title, None, 'glyphicon-comment', - description, login_required=True) + description, configure_url, + login_required=True) def is_enabled(): diff --git a/plinth/templates/index.html b/plinth/templates/index.html index 2e2d1bfba..7bd150421 100644 --- a/plinth/templates/index.html +++ b/plinth/templates/index.html @@ -70,6 +70,13 @@ {{ paragraph|safe }} {% endfor %} + + {% if user.is_authenticated %} +