wizard.lua 744 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. local wizard_dir = "/lib/gluon/config-mode/wizard/"
  2. local i18n = luci.i18n
  3. local uci = luci.model.uci.cursor()
  4. local fs = require "luci.fs"
  5. local f, s
  6. local wizard = {}
  7. local files = fs.dir(wizard_dir)
  8. table.sort(files)
  9. for _, entry in ipairs(files) do
  10. if entry:sub(1, 1) ~= '.' then
  11. table.insert(wizard, dofile(wizard_dir .. '/' .. entry))
  12. end
  13. end
  14. f = SimpleForm("wizard")
  15. f.reset = false
  16. f.template = "gluon-config-mode/cbi/wizard"
  17. for _, s in ipairs(wizard) do
  18. s.section(f)
  19. end
  20. function f.handle(self, state, data)
  21. if state == FORM_VALID then
  22. for _, s in ipairs(wizard) do
  23. s.handle(data)
  24. end
  25. luci.http.redirect(luci.dispatcher.build_url("gluon-config-mode", "reboot"))
  26. end
  27. return true
  28. end
  29. return f