Add live Disable Telnet action to Web Access Control
Adds a standalone DISABLE TELNET button (no enable counterpart, per requirement) alongside the existing HTTPS enable/disable toggle. Reuses the same target/concurrency controls and SSH push flow, backed by a new "disable_telnet" action mapped to "no ip telnet" on the switch. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CLfUJoQTaUePx1m1d2v2j9
This commit is contained in:
+12
-3
@@ -646,6 +646,11 @@
|
||||
<button class="btn-wa btn-wa-enable" id="btn-wa-enable" disabled>ENABLE</button>
|
||||
<button class="btn-wa btn-wa-disable" id="btn-wa-disable" disabled>DISABLE</button>
|
||||
</div>
|
||||
|
||||
<div class="setting-label" style="margin:14px 0 5px">Telnet Access</div>
|
||||
<div class="wa-btn-row" style="grid-template-columns: 1fr">
|
||||
<button class="btn-wa btn-wa-disable" id="btn-wa-disable-telnet" disabled>DISABLE TELNET</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Settings accordion -->
|
||||
@@ -1253,6 +1258,7 @@ const waConcurrency = document.getElementById('wa-concurrency');
|
||||
const waConcurVal = document.getElementById('wa-concurrency-val');
|
||||
const btnWaEnable = document.getElementById('btn-wa-enable');
|
||||
const btnWaDisable = document.getElementById('btn-wa-disable');
|
||||
const btnWaDisableTelnet = document.getElementById('btn-wa-disable-telnet');
|
||||
|
||||
waConcurrency.addEventListener('input', () => {
|
||||
waConcurVal.textContent = waConcurrency.value;
|
||||
@@ -1267,6 +1273,7 @@ function updateWaButtons() {
|
||||
const enabled = (target === 'selected') ? hasSelected : hasAny;
|
||||
btnWaEnable.disabled = !enabled;
|
||||
btnWaDisable.disabled = !enabled;
|
||||
btnWaDisableTelnet.disabled = !enabled;
|
||||
}
|
||||
|
||||
function getWaTargetSwitches() {
|
||||
@@ -1332,8 +1339,8 @@ function showWaResults(action, targetList) {
|
||||
document.getElementById('wa-results-panel').classList.add('active');
|
||||
|
||||
const badge = document.getElementById('wa-action-badge');
|
||||
badge.textContent = action.toUpperCase();
|
||||
badge.className = 'wa-action-badge ' + action;
|
||||
badge.textContent = action.replace('_', ' ').toUpperCase();
|
||||
badge.className = 'wa-action-badge ' + (action === 'enable' ? 'enable' : 'disable');
|
||||
|
||||
const body = document.getElementById('wa-results-body');
|
||||
body.innerHTML = '';
|
||||
@@ -1366,6 +1373,7 @@ async function runWaOperation(action) {
|
||||
|
||||
btnWaEnable.disabled = true;
|
||||
btnWaDisable.disabled = true;
|
||||
btnWaDisableTelnet.disabled = true;
|
||||
|
||||
const rows = showWaResults(action, targetList);
|
||||
let done = 0;
|
||||
@@ -1400,12 +1408,13 @@ async function runWaOperation(action) {
|
||||
}
|
||||
);
|
||||
|
||||
showToast(`Web access ${action} complete — ${targetList.length} switches`, 'ok');
|
||||
showToast(`Web access ${action.replace('_', ' ')} complete — ${targetList.length} switches`, 'ok');
|
||||
updateWaButtons();
|
||||
}
|
||||
|
||||
btnWaEnable.addEventListener('click', () => runWaOperation('enable'));
|
||||
btnWaDisable.addEventListener('click', () => runWaOperation('disable'));
|
||||
btnWaDisableTelnet.addEventListener('click', () => runWaOperation('disable_telnet'));
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user