applications/luci-firewall: offer zone selection in redirect quickadd (#483)
This commit is contained in:
parent
8a23de32d9
commit
e6915e72df
2 changed files with 31 additions and 4 deletions
|
@ -35,7 +35,9 @@ s.template_addremove = "firewall/cbi_addforward"
|
|||
function s.create(self, section)
|
||||
local n = m:formvalue("_newfwd.name")
|
||||
local p = m:formvalue("_newfwd.proto")
|
||||
local E = m:formvalue("_newfwd.extzone")
|
||||
local e = m:formvalue("_newfwd.extport")
|
||||
local I = m:formvalue("_newfwd.intzone")
|
||||
local a = m:formvalue("_newfwd.intaddr")
|
||||
local i = m:formvalue("_newfwd.intport")
|
||||
|
||||
|
@ -43,8 +45,8 @@ function s.create(self, section)
|
|||
created = TypedSection.create(self, section)
|
||||
|
||||
self.map:set(created, "target", "DNAT")
|
||||
self.map:set(created, "src", "wan")
|
||||
self.map:set(created, "dest", "lan")
|
||||
self.map:set(created, "src", E or "wan")
|
||||
self.map:set(created, "dest", I or "lan")
|
||||
self.map:set(created, "proto", (p ~= "other") and p or "all")
|
||||
self.map:set(created, "src_dport", e)
|
||||
self.map:set(created, "dest_ip", a)
|
||||
|
|
|
@ -1,13 +1,28 @@
|
|||
<%-
|
||||
local fw = require "luci.model.firewall".init()
|
||||
local izl = { }
|
||||
local ezl = { }
|
||||
local _, z
|
||||
for _, z in ipairs(fw:get_zones()) do
|
||||
if z:name() ~= "wan" then
|
||||
izl[#izl+1] = z
|
||||
elseif z:name() ~= "lan" then
|
||||
ezl[#ezl+1] = z
|
||||
end
|
||||
end
|
||||
-%>
|
||||
<div class="cbi-section-create cbi-tblsection-create">
|
||||
<br />
|
||||
<table class="cbi-section-table" style="width:700px; margin-left:5px">
|
||||
<table class="cbi-section-table" style="width:810px; margin-left:5px">
|
||||
<tr class="cbi-section-table-titles">
|
||||
<th class="cbi-section-table-cell" colspan="6"><%:New port forward%>:</th>
|
||||
<th class="cbi-section-table-cell" colspan="8"><%:New port forward%>:</th>
|
||||
</tr>
|
||||
<tr class="cbi-section-table-descr">
|
||||
<th class="cbi-section-table-cell"><%:Name%></th>
|
||||
<th class="cbi-section-table-cell"><%:Protocol%></th>
|
||||
<th class="cbi-section-table-cell"><%:External zone%></th>
|
||||
<th class="cbi-section-table-cell"><%:External port%></th>
|
||||
<th class="cbi-section-table-cell"><%:Internal zone%></th>
|
||||
<th class="cbi-section-table-cell"><%:Internal IP address%></th>
|
||||
<th class="cbi-section-table-cell"><%:Internal port%></th>
|
||||
<th class="cbi-section-table-cell"></th>
|
||||
|
@ -24,9 +39,19 @@
|
|||
<option value="other"><%:Other...%></option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="cbi-section-table-cell" style="width:55px">
|
||||
<select class="cbi-input-select" id="_newfwd.extzone" name="_newfwd.extzone">
|
||||
<% for _, z in ipairs(ezl) do -%><option value="<%=z:name()%>"><%=z:name()%></option><%- end %>
|
||||
</select>
|
||||
</td>
|
||||
<td class="cbi-section-table-cell" style="width:110px">
|
||||
<input type="text" class="cbi-input-text" id="_newfwd.extport" name="_newfwd.extport" />
|
||||
</td>
|
||||
<td class="cbi-section-table-cell" style="width:55px">
|
||||
<select class="cbi-input-select" id="_newfwd.intzone" name="_newfwd.intzone">
|
||||
<% for _, z in ipairs(izl) do -%><option value="<%=z:name()%>"><%=z:name()%></option><%- end %>
|
||||
</select>
|
||||
</td>
|
||||
<td class="cbi-section-table-cell" style="width:110px">
|
||||
<input type="text" class="cbi-input-text" id="_newfwd.intaddr" name="_newfwd.intaddr" />
|
||||
</td>
|
||||
|
|
Loading…
Reference in a new issue