mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-21 07:55:00 +00:00
system: Add tags to all remaining apps
Tests: - Visit the system page and notice that tags appear as expected for all items on the page. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
parent
0ae2df12a9
commit
3a0db947b2
@ -46,7 +46,8 @@ class AvahiApp(app_module.App):
|
||||
is_essential=True, depends=['names'],
|
||||
name=_('Service Discovery'), icon='fa-compass',
|
||||
description=_description,
|
||||
manual_page='ServiceDiscovery')
|
||||
manual_page='ServiceDiscovery',
|
||||
tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-avahi', info.name, None, info.icon,
|
||||
|
||||
@ -3,8 +3,12 @@
|
||||
Application manifest for avahi.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
# Services that intend to make themselves discoverable will drop files into
|
||||
# /etc/avahi/services. Currently, we don't intend to make that customizable.
|
||||
# There is no necessity for backup and restore. This manifest will ensure that
|
||||
# avahi enable/disable setting is preserved.
|
||||
backup: dict = {}
|
||||
|
||||
tags = [_('Auto-discovery'), _('Local'), _('mDNS')]
|
||||
|
||||
@ -16,7 +16,7 @@ from plinth import app as app_module
|
||||
from plinth import cfg, glib, menu
|
||||
from plinth.package import Packages
|
||||
|
||||
from . import api, privileged
|
||||
from . import api, manifest, privileged
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -43,7 +43,8 @@ class BackupsApp(app_module.App):
|
||||
app_id=self.app_id, version=self._version, is_essential=True,
|
||||
depends=['storage'], name=_('Backups'), icon='fa-files-o',
|
||||
description=_description, manual_page='Backups',
|
||||
donation_url='https://www.borgbackup.org/support/fund.html')
|
||||
donation_url='https://www.borgbackup.org/support/fund.html',
|
||||
tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-backups', info.name, None, info.icon,
|
||||
|
||||
@ -3,7 +3,20 @@
|
||||
Application manifest for backups.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
# Currently, backup application does not have any settings. However, settings
|
||||
# such as scheduler settings, backup location, secrets to connect to remove
|
||||
# servers need to be backed up.
|
||||
backup: dict = {}
|
||||
|
||||
tags = [
|
||||
_('Restore'),
|
||||
_('Encrypted'),
|
||||
_('Schedules'),
|
||||
_('Local'),
|
||||
_('Remote'),
|
||||
_('App data'),
|
||||
_('Configuration'),
|
||||
_('Borg')
|
||||
]
|
||||
|
||||
@ -13,6 +13,7 @@ backup = {
|
||||
}
|
||||
|
||||
tags = [
|
||||
_('Name server'),
|
||||
_('DNS resolver'),
|
||||
_('DNS'),
|
||||
_('Server'),
|
||||
_('Resolver'),
|
||||
]
|
||||
|
||||
@ -20,8 +20,11 @@ clients = [{
|
||||
backup: dict = {}
|
||||
|
||||
tags = [
|
||||
_('Server manager'),
|
||||
_('Terminal'),
|
||||
_('Disks'),
|
||||
_('RAID'),
|
||||
_('Advanced administration'),
|
||||
_('Web terminal'),
|
||||
_('Storage'),
|
||||
_('Networking'),
|
||||
_('Services'),
|
||||
_('Logs'),
|
||||
_('Performance'),
|
||||
]
|
||||
|
||||
@ -12,7 +12,7 @@ from plinth.modules.apache import (get_users_with_website, user_of_uws_url,
|
||||
from plinth.package import Packages
|
||||
from plinth.privileged import service as service_privileged
|
||||
|
||||
from . import privileged
|
||||
from . import manifest, privileged
|
||||
|
||||
_description = [
|
||||
_('Here you can set some general configuration options '
|
||||
@ -39,7 +39,7 @@ class ConfigApp(app_module.App):
|
||||
depends=['apache', 'firewall', 'names'
|
||||
], name=_('General Configuration'),
|
||||
icon='fa-cog', description=_description,
|
||||
manual_page='Configure')
|
||||
manual_page='Configure', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-config', _('Configure'), None, info.icon,
|
||||
|
||||
8
plinth/modules/config/manifest.py
Normal file
8
plinth/modules/config/manifest.py
Normal file
@ -0,0 +1,8 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
Application manifest for configure.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
tags = [_('Homepage'), _('Logging'), _('Advanced apps')]
|
||||
@ -67,7 +67,7 @@ class DateTimeApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Date & Time'),
|
||||
icon='fa-clock-o', description=_description,
|
||||
manual_page='DateTime')
|
||||
manual_page='DateTime', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-datetime', info.name, None, info.icon,
|
||||
|
||||
@ -3,9 +3,13 @@
|
||||
Application manifest for datetime.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup = {
|
||||
'data': {
|
||||
'files': ['/etc/localtime']
|
||||
},
|
||||
'services': ['systemd-timedated'],
|
||||
}
|
||||
|
||||
tags = [_('Network time'), _('Timezone')]
|
||||
|
||||
@ -52,7 +52,7 @@ class DiagnosticsApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Diagnostics'),
|
||||
icon='fa-heartbeat', description=_description,
|
||||
manual_page='Diagnostics')
|
||||
manual_page='Diagnostics', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-diagnostics', info.name, None, info.icon,
|
||||
|
||||
@ -3,4 +3,8 @@
|
||||
Application manifest for diagnostics.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup: dict = {}
|
||||
|
||||
tags = [_('Detect problems'), _('Repair'), _('Daily')]
|
||||
|
||||
@ -60,7 +60,7 @@ class DynamicDNSApp(app_module.App):
|
||||
is_essential=True, depends=['names'],
|
||||
name=_('Dynamic DNS Client'), icon='fa-refresh',
|
||||
description=_description,
|
||||
manual_page='DynamicDNS')
|
||||
manual_page='DynamicDNS', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-dynamicdns', info.name, None, info.icon,
|
||||
|
||||
@ -1,4 +1,9 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
Application manifest for Dynamic DNS.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup = {
|
||||
'config': {
|
||||
@ -8,3 +13,5 @@ backup = {
|
||||
'dynamicdns_enable', 'dynamicdns_config', 'dynamicdns_status'
|
||||
],
|
||||
}
|
||||
|
||||
tags = [_('Domain'), _('Free'), _('Needs public IP')]
|
||||
|
||||
@ -60,7 +60,7 @@ class FirewallApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Firewall'),
|
||||
icon='fa-shield', description=_description,
|
||||
manual_page='Firewall')
|
||||
manual_page='Firewall', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-firewall', info.name, None, info.icon,
|
||||
|
||||
@ -3,4 +3,8 @@
|
||||
Application manifest for firewall.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup: dict = {}
|
||||
|
||||
tags = [_('Ports'), _('Blocking'), _('Status'), _('Automatic')]
|
||||
|
||||
@ -53,7 +53,7 @@ class NamesApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Name Services'),
|
||||
icon='fa-tags', description=_description,
|
||||
manual_page='NameServices')
|
||||
manual_page='NameServices', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-names', info.name, None, info.icon,
|
||||
|
||||
@ -3,4 +3,12 @@
|
||||
Application manifest for names.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup: dict = {}
|
||||
|
||||
tags = [
|
||||
_('Domains'),
|
||||
_('Hostname'),
|
||||
_('DNS Resolution'),
|
||||
]
|
||||
|
||||
@ -13,7 +13,7 @@ from plinth.diagnostic_check import DiagnosticCheck
|
||||
from plinth.modules.firewall.components import Firewall
|
||||
from plinth.package import Packages
|
||||
|
||||
from . import privileged
|
||||
from . import manifest, privileged
|
||||
|
||||
_description = [
|
||||
_('Configure network devices. Connect to the Internet via Ethernet, Wi-Fi '
|
||||
@ -41,7 +41,7 @@ class NetworksApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Networks'),
|
||||
icon='fa-signal', description=_description,
|
||||
manual_page='Networks')
|
||||
manual_page='Networks', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-networks', info.name, None, info.icon,
|
||||
|
||||
8
plinth/modules/networks/manifest.py
Normal file
8
plinth/modules/networks/manifest.py
Normal file
@ -0,0 +1,8 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
Application manifest for networks.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
tags = [_('Internet'), _('Wi-Fi'), _('Local network'), _('Topology')]
|
||||
@ -12,4 +12,8 @@ backup = {
|
||||
'services': ['pagekite']
|
||||
}
|
||||
|
||||
tags = [_('Tunneling'), _('NAT traversal'), _('Remote access')]
|
||||
tags = [
|
||||
_('Reachability'),
|
||||
_('Remote access'),
|
||||
_('Tunneling'),
|
||||
]
|
||||
|
||||
@ -30,7 +30,7 @@ class PowerApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Power'),
|
||||
icon='fa-power-off', description=_description,
|
||||
manual_page='Power')
|
||||
manual_page='Power', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-power', info.name, None, info.icon,
|
||||
|
||||
@ -3,4 +3,8 @@
|
||||
Application manifest for power.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup: dict = {}
|
||||
|
||||
tags = [_('Reboot'), _('Shutdown')]
|
||||
|
||||
@ -31,7 +31,7 @@ class PrivacyApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Privacy'),
|
||||
icon='fa-eye-slash', description=_description,
|
||||
manual_page=None)
|
||||
manual_page=None, tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-privacy', info.name,
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""Application manifest for privacy app."""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from . import privileged
|
||||
|
||||
backup = {'config': {'files': [str(privileged.CONFIG_FILE)]}}
|
||||
|
||||
tags = [_('Usage reporting'), _('Fallback DNS')]
|
||||
|
||||
@ -33,7 +33,8 @@ class SecurityApp(app_module.App):
|
||||
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Security'),
|
||||
icon='fa-lock', manual_page='Security')
|
||||
icon='fa-lock', manual_page='Security',
|
||||
tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-security', info.name, None, info.icon,
|
||||
|
||||
@ -3,4 +3,8 @@
|
||||
Application manifest for security.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup = {'config': {'files': ['/etc/security/access.d/50freedombox.conf']}}
|
||||
|
||||
tags = [_('Automatic bans'), _('Reports')]
|
||||
|
||||
@ -49,7 +49,7 @@ class SnapshotApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Storage Snapshots'),
|
||||
icon='fa-film', description=_description,
|
||||
manual_page='Snapshots')
|
||||
manual_page='Snapshots', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-snapshot', info.name, None, info.icon,
|
||||
|
||||
@ -3,8 +3,12 @@
|
||||
Application manifest for snapshot.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup = {
|
||||
'config': {
|
||||
'files': ['/etc/snapper/configs/root', '/etc/default/snapper']
|
||||
}
|
||||
}
|
||||
|
||||
tags = [_('Periodic'), _('Restore'), _('Known good state'), _('Btrfs')]
|
||||
|
||||
@ -39,9 +39,9 @@ class SSHApp(app_module.App):
|
||||
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True,
|
||||
name=_('Secure Shell (SSH) Server'),
|
||||
name=_('Secure Shell Server'),
|
||||
icon='fa-terminal', description=_description,
|
||||
manual_page='SecureShell')
|
||||
manual_page='SecureShell', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-ssh', info.name, None, info.icon,
|
||||
|
||||
@ -3,6 +3,8 @@
|
||||
Application manifest for ssh.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup = {
|
||||
'config': {
|
||||
'files': ['/etc/ssh/sshd_config.d/freedombox.conf']
|
||||
@ -16,3 +18,5 @@ backup = {
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
tags = [_('SSH'), _('Remote terminal'), _('Fingerprints')]
|
||||
|
||||
@ -46,7 +46,7 @@ class StorageApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Storage'),
|
||||
icon='fa-hdd-o', description=_description,
|
||||
manual_page='Storage')
|
||||
manual_page='Storage', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-storage', info.name, None, info.icon,
|
||||
|
||||
@ -2,5 +2,8 @@
|
||||
"""
|
||||
Application manifest for storage.
|
||||
"""
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup: dict = {}
|
||||
|
||||
tags = [_('Disks'), _('Usage'), _('Auto-mount'), _('Expand partition')]
|
||||
|
||||
@ -63,7 +63,7 @@ class UpgradesApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Software Update'),
|
||||
icon='fa-refresh', description=_description,
|
||||
manual_page='Upgrades')
|
||||
manual_page='Upgrades', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-upgrades', info.name, None, info.icon,
|
||||
|
||||
@ -3,4 +3,8 @@
|
||||
Application manifest for upgrades.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
backup = {'config': {'files': ['/etc/apt/apt.conf.d/20auto-upgrades']}}
|
||||
|
||||
tags = [_('Security'), _('Automatic'), _('Reboots'), _('New features')]
|
||||
|
||||
@ -18,7 +18,7 @@ from plinth.diagnostic_check import (DiagnosticCheck,
|
||||
from plinth.package import Packages
|
||||
from plinth.privileged import service as service_privileged
|
||||
|
||||
from . import privileged
|
||||
from . import manifest, privileged
|
||||
from .components import UsersAndGroups
|
||||
|
||||
first_boot_steps = [
|
||||
@ -58,7 +58,7 @@ class UsersApp(app_module.App):
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
is_essential=True, name=_('Users and Groups'),
|
||||
icon='fa-users', description=_description,
|
||||
manual_page='Users')
|
||||
manual_page='Users', tags=manifest.tags)
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-users', info.name, None, info.icon,
|
||||
|
||||
8
plinth/modules/users/manifest.py
Normal file
8
plinth/modules/users/manifest.py
Normal file
@ -0,0 +1,8 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
Application manifest for users and groups.
|
||||
"""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
tags = [_('Manage accounts'), _('App permissions')]
|
||||
Loading…
x
Reference in New Issue
Block a user