diff --git a/plugins/backups/api/routes.py b/plugins/backups/api/routes.py
index 9bed80c6..86ac20ba 100644
--- a/plugins/backups/api/routes.py
+++ b/plugins/backups/api/routes.py
@@ -179,7 +179,11 @@ def asset_info(assetid):
# The card names the PC a snapshot came from, and chains its diff on the
# same value. Passed from the column rather than read out of the stored
# manifest, which carries its own copy that can disagree.
- sourcehostname=revision.sourcehostname)
+ sourcehostname=revision.sourcehostname,
+ # Where the snapshot actually is. Read off the revision rather than
+ # composed from the configured share root, so a snapshot written before
+ # the layout changed still points at where it was really put.
+ sharepath=revision.sharepath)
data['backuprevisionid'] = revision.backuprevisionid
data['collectedat'] = _utciso(revision.collectedat)
return success_response(data)
diff --git a/plugins/backups/frontend/routes.js b/plugins/backups/frontend/routes.js
index db2870be..ee75326d 100644
--- a/plugins/backups/frontend/routes.js
+++ b/plugins/backups/frontend/routes.js
@@ -12,6 +12,17 @@
* JWT + a backups.* permission; an anonymous visit would only render errors.
*/
export default [
+ {
+ // The plugin's five settings had no page at all until this one: the core
+ // settings catalog is a hardcoded list that a plugin cannot extend, so
+ // backups_shareroot and friends were reachable only through the API or a
+ // shell on the server. Paired with get_settings_cards in plugin.py, which
+ // puts the card in the rail - both vanish when the plugin is disabled.
+ path: 'settings/backups',
+ name: 'backups-settings',
+ component: () => import('./views/BackupsSettings.vue'),
+ meta: { requiresAuth: true, requiresAdmin: true, plugin: 'backups' }
+ },
{
path: 'backups/asset/:assetid',
name: 'backups-asset-history',
diff --git a/plugins/backups/frontend/views/BackupHistory.vue b/plugins/backups/frontend/views/BackupHistory.vue
index 6ab4fec3..803c8571 100644
--- a/plugins/backups/frontend/views/BackupHistory.vue
+++ b/plugins/backups/frontend/views/BackupHistory.vue
@@ -66,6 +66,16 @@
UNC path so the tech can open it directly. -->
{{ rev.sharepath }}
+
+