mirror of
https://github.com/ntop/ntopng.git
synced 2026-05-02 00:40:10 +00:00
Bridge wizard complete
This commit is contained in:
parent
072b419af4
commit
1ee2be27d3
8 changed files with 110 additions and 43 deletions
|
|
@ -1,10 +1,18 @@
|
|||
local template = require "template_utils"
|
||||
local host_pools_utils = require "host_pools_utils"
|
||||
|
||||
local function hasBridgeConfiguration(captive_portal_active)
|
||||
return captive_portal_active
|
||||
or (#host_pools_utils.getPoolsList(_ifstats.id, true) > 1)
|
||||
or (not table.empty(getCaptivePortalUsers()))
|
||||
end
|
||||
|
||||
local captive_portal_supported = isCaptivePortalSupported(_ifstats, prefs)
|
||||
local captive_portal_active = isCaptivePortalActive(_ifstats, prefs)
|
||||
local bridge_anomaly = "" --i18n("bridge_wizard.bridge_missing_ip", {iface="br0"})
|
||||
local bridge_mode = "2+1"
|
||||
local configuration_found = false
|
||||
local configuration_found = hasBridgeConfiguration(captive_portal_active)
|
||||
|
||||
local config_overwrite_warning = "<b>"..string.upper(i18n("warning"))..":</b> "..i18n("bridge_wizard.warning_configuration_exist")
|
||||
|
||||
local captive_portal_status
|
||||
if captive_portal_active then
|
||||
|
|
@ -15,19 +23,16 @@ else
|
|||
captive_portal_status = i18n("bridge_wizard.captive_portal_unavailable")
|
||||
end
|
||||
|
||||
local step_1_ok = i18n("bridge_wizard.intro_1").."<br><br>"..i18n("bridge_wizard.runtime_status")..[[:
|
||||
<ul>
|
||||
<li>]]..i18n("bridge_wizard.bridge_running", {mode=bridge_mode, packets=0})..[[</li>
|
||||
<li>]]..captive_portal_status..[[</li>
|
||||
</ul>
|
||||
<br>]]..ternary(configuration_found, "<b>"..string.upper(i18n("warning"))..":</b> "..i18n("bridge_wizard.warning_configuration_exist").." ", "<br>")..i18n("bridge_wizard.click_on_next")
|
||||
local step_1_ok = i18n("bridge_wizard.intro_1").."<br><br>"..captive_portal_status..[[
|
||||
<br>]]..ternary(configuration_found, "<br><br>"..config_overwrite_warning.."<br><br>", "<br>")..i18n("bridge_wizard.click_on_next")
|
||||
|
||||
local step_1_with_errors = [[<div class="alert alert-danger">]]..bridge_anomaly..[[</div><br><br>]]..i18n("bridge_wizard.check_doc", {url="https://github.com/ntop/ntopng/blob/dev/doc/README.inline"})
|
||||
|
||||
local steps = {
|
||||
{ -- Step 1
|
||||
title = i18n("bridge_wizard.runtime_status"),
|
||||
title = i18n("bridge_wizard.start"),
|
||||
content = ternary(not isEmptyString(bridge_anomaly), step_1_with_errors, step_1_ok),
|
||||
size = 2,
|
||||
}, { -- Step 2
|
||||
title = i18n("bridge_wizard.configure_user"),
|
||||
content = i18n("bridge_wizard.configure_user_message")..[[<br><br>
|
||||
|
|
@ -44,6 +49,7 @@ local steps = {
|
|||
</div>
|
||||
]],
|
||||
disabled = not captive_portal_supported,
|
||||
size = 3,
|
||||
}, { -- Step 3
|
||||
title = i18n("bridge_wizard.configure_host_pools"),
|
||||
content = i18n("bridge_wizard.host_pool_info")..[[<br><br>
|
||||
|
|
@ -57,16 +63,18 @@ local steps = {
|
|||
..ternary(not captive_portal_supported,
|
||||
[[<label>]]..i18n("bridge_wizard.pool_member")..[[</label>
|
||||
<div class="form-group has-feedback" style="margin-bottom:0;">
|
||||
<input class="form-control" name="pool_member" data-member="member" placeholder="]]..i18n("bridge_wizard.member_placeholder")..[[" required/>
|
||||
<input class="form-control" name="member" data-member="member" placeholder="]]..i18n("bridge_wizard.member_placeholder")..[[" required/>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>]], "")
|
||||
</div>]], ""),
|
||||
size = 3,
|
||||
}, { -- Step 4
|
||||
title = i18n("bridge_wizard.policy"),
|
||||
content = i18n("bridge_wizard.define_policy")..[[<br><br><select class="form-control" name="policy_preset">
|
||||
<option value="" selected>]]..i18n("bridge_wizard.no_preset")..[[</option>
|
||||
<option value="children">]]..i18n("bridge_wizard.children_preset")..[[</option>
|
||||
<option value="business">]]..i18n("bridge_wizard.business_preset")..[[</option>
|
||||
</select>]],
|
||||
</select><br><br>]]..i18n("bridge_wizard.fine_tune", {url=ntop.getHttpPrefix().."/lua/if_stats.lua?page=filtering"}),
|
||||
size = 2,
|
||||
}, { -- Step 5
|
||||
title = i18n("bridge_wizard.done"),
|
||||
content = i18n("bridge_wizard.configuration_complete")..[[
|
||||
|
|
@ -76,7 +84,8 @@ local steps = {
|
|||
]]..ternary(captive_portal_active, [[
|
||||
<li><a href="]]..ntop.getHttpPrefix()..[[/lua/admin/users.lua?captive_portal_users=1">]]..i18n("bridge_wizard.captive_portal_users")..[[</a></li>
|
||||
]], "")..[[
|
||||
</ul>]].."<br><br>"..i18n("bridge_wizard.save_notice"),
|
||||
</ul>]]..ternary(configuration_found, "<br>"..config_overwrite_warning, ""),
|
||||
size = 2,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +103,28 @@ local wizard = {
|
|||
}]],
|
||||
steps = steps,
|
||||
cannot_proceed = (not isEmptyString(bridge_anomaly)),
|
||||
form_action = ntop.getHttpPrefix().."/lua/pro/init_bridge.lua?ifid=".._ifstats.id,
|
||||
form_onsubmit = "checkBridgeWizardForm",
|
||||
}
|
||||
|
||||
print[[
|
||||
<script>
|
||||
function checkBridgeWizardForm(form) {
|
||||
var member_input = $("input[name='member']", form);
|
||||
if (member_input.length == 1) {
|
||||
var member = member_input.val();
|
||||
|
||||
if (! is_mac_address(member)) {
|
||||
var is_cidr = is_network_mask(member, true);
|
||||
|
||||
if (is_cidr)
|
||||
member_input.val(is_cidr.address + "/" + is_cidr.mask + "@0");
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
]]
|
||||
print(template.gen("wizard_dialog.html", {wizard = wizard}))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue