Development

This commit is contained in:
Matthew Grotke 2026-06-05 22:54:12 -04:00
parent cb0fb0bdaf
commit 82df24f294
5 changed files with 56 additions and 3 deletions

View file

@ -84,6 +84,10 @@ def addrule_add():
return redirect(f'/{_PAGE}')
cfg = load_config()
err = validate.check_portfwd_restricted_vlan(entry['nat_ip'], cfg.get('vlans', []))
if err:
flash(err, 'error')
return redirect(f'/{_PAGE}')
cfg.setdefault('port_forwarding', []).append(entry)
for desc in validate.disable_portfwd_on_restricted_vlans(cfg):
flash(f"Port forwarding rule '{desc}' was disabled because its destination is on a restricted VLAN.", 'info')
@ -115,9 +119,15 @@ def rules_toggle():
flash('Entry not found.', 'error')
return redirect(f'/{_PAGE}')
old_enabled = items[idx].get('enabled', True)
old_enabled = items[idx].get('enabled', True)
new_enabled = not old_enabled
if new_enabled:
err = validate.check_portfwd_restricted_vlan(items[idx].get('nat_ip', ''), cfg.get('vlans', []))
if err:
flash(err, 'error')
return redirect(f'/{_PAGE}')
before = copy.deepcopy(items[idx])
items[idx]['enabled'] = not old_enabled
items[idx]['enabled'] = new_enabled
for desc in validate.disable_portfwd_on_restricted_vlans(cfg):
flash(f"Port forwarding rule '{desc}' was disabled because its destination is on a restricted VLAN.", 'info')
errors = validate.validate_config(cfg)
@ -152,6 +162,11 @@ def rules_edit():
flash('Entry not found.', 'error')
return redirect(f'/{_PAGE}')
if request.form.get('enabled') == 'on':
err = validate.check_portfwd_restricted_vlan(entry['nat_ip'], cfg.get('vlans', []))
if err:
flash(err, 'error')
return redirect(f'/{_PAGE}')
before = copy.deepcopy(items[idx])
items[idx] = entry
items[idx]['enabled'] = request.form.get('enabled') == 'on'