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. -->