applications: firewall: Add time and date for rules and redirects 564/head
authorDaniel Dickinson <openwrt@daniel.thecshore.com>
Wed, 2 Dec 2015 05:52:37 +0000 (00:52 -0500)
committerDaniel Dickinson <openwrt@daniel.thecshore.com>
Tue, 15 Dec 2015 04:26:33 +0000 (23:26 -0500)
UCI config for the firewall has the option of specifying time and date
limitations; add these options the UI.

applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua
modules/luci-base/luasrc/view/cbi/mvalue.htm

index 0cb30b5cda46fca1975cb28804e6441d41726601..60af531d5c9a070d526aaa6c9c317191d230fa57 100644 (file)
@@ -316,4 +316,34 @@ else
                translate("Passes additional arguments to iptables. Use with care!"))
 end
 
+o = s:option(MultiValue, "weekdays", translate("Week Days"))
+o.oneline = true
+o.widget = "checkbox"
+o:value("sun", translate("Sunday"))
+o:value("mon", translate("Monday"))
+o:value("tue", translate("Tuesday"))
+o:value("wed", translate("Wednesday"))
+o:value("thu", translate("Thursday"))
+o:value("fri", translate("Friday"))
+o:value("sat", translate("Saturday"))
+
+o = s:option(MultiValue, "monthdays", translate("Month Days"))
+o.oneline = true
+o.widget = "checkbox"
+for i = 1,31 do
+       o:value(translate(i))
+end
+
+o = s:option(Value, "start_time", translate("Start Time (hh:mm:ss)"))
+o.datatype = "timehhmmss"
+o = s:option(Value, "stop_time", translate("Stop Time (hh:mm:ss)"))
+o.datatype = "timehhmmss"
+o = s:option(Value, "start_date", translate("Start Date (yyyy-mm-dd)"))
+o.datatype = "dateyyyymmdd"
+o = s:option(Value, "stop_date", translate("Stop Date (yyyy-mm-dd)"))
+o.datatype = "dateyyyymmdd"
+
+o = s:option(Flag, "utc_time", translate("Time in UTC"))
+o.default = o.disabled
+
 return m
index 6a0b3881d0605e08347a7e07428ff3dda5e1a2ff..5d092610ed0b9bfce4a78c44121b42d3e512fe5e 100644 (file)
@@ -12,7 +12,7 @@
        c = c + 1
 %>
        <input class="cbi-input-checkbox" type="checkbox" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)"<%= attr("id", cbid..c) .. attr("name", cbid) .. attr("value", key) .. ifattr(luci.util.contains(v, key), "checked", "checked") %> />
-       <label<%= attr("for", cbid..c) %>><%=self.vallist[i]%></label><br />
+       <label<%= attr("for", cbid..c) %>><%=self.vallist[i]%></label><% if not self.oneline then %><br /><% else %> <% end %>
 <% if c == self.size then c = 0 %><br />
 <% end end %>
 <% end %>