Development

This commit is contained in:
Matthew Grotke 2026-06-03 16:04:51 -04:00
parent 8ab88094b3
commit 6ebf7027fd
4 changed files with 65 additions and 23 deletions

View file

@ -2,7 +2,7 @@ from pathlib import Path
from flask import Blueprint, request, redirect, flash, session
from auth import require_level
from config_utils import (flush_pending_to_queue, get_dashboard_pending,
revert_group, queued_msg,
revert_group, revert_group_chain, queued_msg,
DASHBOARD_PENDING, _db)
_PAGE = Path(__file__).parent.name
@ -37,17 +37,21 @@ def history_revert():
if not selected_uuids:
flash('No items selected.', 'info')
return redirect(f'/{_PAGE}')
succeeded, failed = 0, 0
for uuid in selected_uuids:
msg, ok = revert_group(uuid)
if ok:
succeeded += 1
else:
flash(msg, 'error')
failed += 1
if len(selected_uuids) != 1:
flash('Please select exactly one change to revert.', 'error')
return redirect(f'/{_PAGE}')
behavior = request.form.get('revert_behavior', 'revert_subsequent')
errors, succeeded, failed = revert_group_chain(selected_uuids[0])
for msg in errors:
flash(msg, 'error')
if succeeded:
plural = 's' if succeeded != 1 else ''
flash(f'{succeeded} change{plural} reverted.', 'success')
s = 's' if succeeded != 1 else ''
if behavior == 'restore_state':
flash(f'Config restored to selected state ({succeeded} change{s} reverted).', 'success')
else:
flash(f'{succeeded} change{s} reverted.', 'success')
return redirect(f'/{_PAGE}')