module(..., package.seeall) default_action = "status" function status(self) return self.model.getstatus() end function details(self) return self.model.getstatusdetails() end function filterrules(self) return self.model.getrules("filter") end function natrules(self) return self.model.getrules("nat") end function manglerules(self) return self.model.getrules("mangle") end function editchain(self) return self.handle_form(self, function() return self.model.read_chain(self.clientdata.table, self.clientdata.chain or "") end, self.model.update_chain, self.clientdata, "Save", "Edit Chain", "Chain saved") end function createchain(self) return self.handle_form(self, function() return self.model.read_chain(self.clientdata.table) end, self.model.create_chain, self.clientdata, "Create", "Create New Chain", "Chain created") end function deletechain(self) return self.handle_form(self, self.model.get_delete_chain, self.model.delete_chain, self.clientdata, "Delete", "Delete Chain", "Chain deleted") end function editrule(self) return self.handle_form(self, function() return self.model.read_rule(self.clientdata.table, self.clientdata.chain or "", self.clientdata.position or "") end, self.model.update_rule, self.clientdata, "Save", "Edit Rule", "Rule saved") end function createrule(self) return self.handle_form(self, function() return self.model.read_rule(self.clientdata.table, self.clientdata.chain, self.clientdata.position) end, self.model.create_rule, self.clientdata, "Create", "Create New Rule", "Rule created") end function deleterule(self) return self.handle_form(self, self.model.get_delete_rule, self.model.delete_rule, self.clientdata, "Delete", "Delete Rule", "Rule deleted") end function expert(self) return self.handle_form(self, self.model.readrulesfile, self.model.updaterulesfile, self.clientdata, "Save", "Edit Rules File", "Rules File Saved") end function startstop(self) return self.handle_form(self, self.model.get_startstop, self.model.startstop_service, self.clientdata) end