Development
This commit is contained in:
parent
cb0fb0bdaf
commit
82df24f294
5 changed files with 56 additions and 3 deletions
|
|
@ -151,6 +151,10 @@
|
|||
"type": "raw_html",
|
||||
"html": "<p class=\"form-hint\" style=\"margin-top:-1rem\">This exception only applies to traffic matching the selected protocol and destination port range.</p>"
|
||||
},
|
||||
{
|
||||
"type": "raw_html",
|
||||
"html": "<br>"
|
||||
},
|
||||
{
|
||||
"type": "field",
|
||||
"label": "Enabled",
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@
|
|||
"label": "NAT IP",
|
||||
"name": "nat_ip",
|
||||
"input_type": "text",
|
||||
"validate": "VALIDATION_IPV4_FORMAT",
|
||||
"validate": "VALIDATION_IPV4_FORMAT|VALIDATION_UNRESTRICTED",
|
||||
"placeholder": "e.g. 192.168.1.50"
|
||||
},
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue