diff --git a/plinth/frontpage.py b/plinth/frontpage.py index 6b819199a..2cbd2cf1a 100644 --- a/plinth/frontpage.py +++ b/plinth/frontpage.py @@ -27,8 +27,9 @@ def get_shortcuts(): return sorted(shortcuts.values(), key=lambda item: item['label']) -def add_shortcut(id, label, url, icon, details=None): +def add_shortcut(id, label, url, icon, details=None, login_required=False): """Add shortcut to front page.""" + if not url: url = '?selected={id}'.format(id=id) @@ -37,6 +38,7 @@ def add_shortcut(id, label, url, icon, details=None): 'label': label, 'url': url, 'icon': icon, + 'login_required': login_required, 'details': details, } diff --git a/plinth/modules/deluge/__init__.py b/plinth/modules/deluge/__init__.py index dcda57808..36ac38efc 100644 --- a/plinth/modules/deluge/__init__.py +++ b/plinth/modules/deluge/__init__.py @@ -73,7 +73,8 @@ def setup(helper, old_version=None): def add_shortcut(): - frontpage.add_shortcut('deluge', title, '/deluge', 'glyphicon-magnet') + frontpage.add_shortcut('deluge', title, '/deluge', 'glyphicon-magnet', + login_required=True) def is_enabled(): diff --git a/plinth/modules/ikiwiki/__init__.py b/plinth/modules/ikiwiki/__init__.py index 225c02fce..f1cdda969 100644 --- a/plinth/modules/ikiwiki/__init__.py +++ b/plinth/modules/ikiwiki/__init__.py @@ -76,7 +76,8 @@ def add_shortcuts(): sites = [name for name in sites if name != ''] for site in sites: frontpage.add_shortcut( - 'ikiwiki_' + site, site, '/ikiwiki/' + site, 'glyphicon-edit') + 'ikiwiki_' + site, site, '/ikiwiki/' + site, 'glyphicon-edit', + login_required=False) def is_enabled(): diff --git a/plinth/modules/minetest/__init__.py b/plinth/modules/minetest/__init__.py index 3cad72b43..95bc520cd 100644 --- a/plinth/modules/minetest/__init__.py +++ b/plinth/modules/minetest/__init__.py @@ -75,7 +75,7 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('minetest', title, None, 'glyphicon-th-large', - description) + description, login_required=False) def enable(): diff --git a/plinth/modules/mumble/__init__.py b/plinth/modules/mumble/__init__.py index 88d59ac43..ef2c9f87f 100644 --- a/plinth/modules/mumble/__init__.py +++ b/plinth/modules/mumble/__init__.py @@ -80,7 +80,7 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('mumble', title, None, 'glyphicon-headphones', - description) + description, login_required=False) def enable(): diff --git a/plinth/modules/privoxy/__init__.py b/plinth/modules/privoxy/__init__.py index e7c4e0a0d..07effd6f8 100644 --- a/plinth/modules/privoxy/__init__.py +++ b/plinth/modules/privoxy/__init__.py @@ -84,7 +84,7 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('privoxy', title, None, 'glyphicon-cloud-upload', - description) + description, login_required=True) def enable(): diff --git a/plinth/modules/quassel/__init__.py b/plinth/modules/quassel/__init__.py index 31fa2a44b..b3bd85fd6 100644 --- a/plinth/modules/quassel/__init__.py +++ b/plinth/modules/quassel/__init__.py @@ -88,7 +88,7 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('quassel', title, None, 'glyphicon-retweet', - description) + description, login_required=True) def enable(): diff --git a/plinth/modules/radicale/__init__.py b/plinth/modules/radicale/__init__.py index 6467651e5..3a61b801d 100644 --- a/plinth/modules/radicale/__init__.py +++ b/plinth/modules/radicale/__init__.py @@ -78,7 +78,7 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('radicale', title, None, 'glyphicon-calendar', - description) + description, login_required=True) def enable(): diff --git a/plinth/modules/repro/__init__.py b/plinth/modules/repro/__init__.py index 1677cff06..ec8ab818f 100644 --- a/plinth/modules/repro/__init__.py +++ b/plinth/modules/repro/__init__.py @@ -92,7 +92,7 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('repro', title, None, 'glyphicon-phone-alt', - description) + description, login_required=True) def enable(): diff --git a/plinth/modules/roundcube/__init__.py b/plinth/modules/roundcube/__init__.py index 7c0886483..4b7a66aaa 100644 --- a/plinth/modules/roundcube/__init__.py +++ b/plinth/modules/roundcube/__init__.py @@ -85,7 +85,8 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut( - 'roundcube', title, '/roundcube', 'glyphicon-envelope') + 'roundcube', title, '/roundcube', 'glyphicon-envelope', + login_required=True) def is_enabled(): diff --git a/plinth/modules/shaarli/__init__.py b/plinth/modules/shaarli/__init__.py index 2c1f51112..be6b11fe8 100644 --- a/plinth/modules/shaarli/__init__.py +++ b/plinth/modules/shaarli/__init__.py @@ -70,7 +70,8 @@ def setup(helper, old_version=None): def add_shortcut(): - frontpage.add_shortcut('shaarli', title, '/shaarli', 'glyphicon-bookmark') + frontpage.add_shortcut('shaarli', title, '/shaarli', 'glyphicon-bookmark', + login_required=True) def is_enabled(): diff --git a/plinth/modules/transmission/__init__.py b/plinth/modules/transmission/__init__.py index fa9e9f34a..5eb1d5e64 100644 --- a/plinth/modules/transmission/__init__.py +++ b/plinth/modules/transmission/__init__.py @@ -79,7 +79,8 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut( - 'transmission', title, '/transmission', 'glyphicon-save') + 'transmission', title, '/transmission', 'glyphicon-save', + login_required=True) def is_enabled(): diff --git a/plinth/modules/ttrss/__init__.py b/plinth/modules/ttrss/__init__.py index 98a8b9007..6598b3db9 100644 --- a/plinth/modules/ttrss/__init__.py +++ b/plinth/modules/ttrss/__init__.py @@ -74,7 +74,8 @@ def setup(helper, old_version=None): def add_shortcut(): - frontpage.add_shortcut('ttrss', title, '/tt-rss', 'glyphicon-envelope') + frontpage.add_shortcut('ttrss', title, '/tt-rss', 'glyphicon-envelope', + login_required=True) def is_enabled(): diff --git a/plinth/modules/xmpp/__init__.py b/plinth/modules/xmpp/__init__.py index d02164f23..77d8b503e 100644 --- a/plinth/modules/xmpp/__init__.py +++ b/plinth/modules/xmpp/__init__.py @@ -91,9 +91,10 @@ def setup(helper, old_version=None): def add_shortcut(): frontpage.add_shortcut('jsxc', _('Chat Client (jsxc)'), - reverse_lazy('xmpp:jsxc'), 'glyphicon-comment') + reverse_lazy('xmpp:jsxc'), 'glyphicon-comment', + login_required=False) frontpage.add_shortcut('xmpp', title, None, 'glyphicon-comment', - description) + description, login_required=True) def is_enabled(): diff --git a/plinth/templates/index.html b/plinth/templates/index.html index 06cc31b5e..2e2d1bfba 100644 --- a/plinth/templates/index.html +++ b/plinth/templates/index.html @@ -26,21 +26,23 @@ {% if shortcuts %} {% for shortcut in shortcuts %} -