From 579d59adef6ffdacb911419e0e63c599cd393530 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Thu, 30 Oct 2008 15:42:33 +0000 Subject: Added modules controller. git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@1570 ab2d0c66-481e-0410-8bed-d214d4d58bed --- Makefile | 1 + alpine-baselayout.roles | 4 ++-- modules-controller.lua | 14 ++++++++++++++ modules-edit-html.lsp | 43 +++++++++++++++++++++++++++++++++++++++++++ modules-model.lua | 18 ++++++++++++++++++ modules.menu | 2 ++ 6 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 modules-controller.lua create mode 100644 modules-edit-html.lsp create mode 100644 modules-model.lua create mode 100644 modules.menu diff --git a/Makefile b/Makefile index 3f8d9e6..a6317e2 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,7 @@ APP_DIST=\ skins* \ rc* \ password* \ + modules* \ EXTRA_DIST=README Makefile config.mk diff --git a/alpine-baselayout.roles b/alpine-baselayout.roles index c9b2a07..f241ca8 100644 --- a/alpine-baselayout.roles +++ b/alpine-baselayout.roles @@ -1,5 +1,5 @@ GUEST=health:system,hostname:read USER=health:storage,health:proc,health:network,health:modules,health:networkstats,interfaces:status,interfaces:read,interfaces:restart,logfiles:status,logfiles:view,logfiles:download,logfiles:tail,skins:update,skins:read,syslog:status,syslog:loginfo,syslog:startstop,rc:status EDITOR=hostname:edit,interfaces:delete,interfaces:create,interfaces:update,interfaces:ifup,interfaces:ifdown,logfiles:delete,syslog:config,rc:edit -EXPERT=syslog:expert,interfaces:editintfile -ADMIN=health:system,hostname:read,health:storage,health:proc,health:network,health:modules,health:networkstats,interfaces:status,interfaces:read,interfaces:restart,logfiles:status,logfiles:view,logfiles:download,logfiles:tail,skins:update,skins:read,syslog:status,syslog:loginfo,syslog:startstop,rc:status,hostname:edit,interfaces:delete,interfaces:create,interfaces:update,interfaces:ifup,interfaces:ifdown,logfiles:delete,syslog:config,rc:edit,syslog:expert,interfaces:editintfile,password:edit +EXPERT=syslog:expert,interfaces:editintfile,modules:edit,modules:reload +ADMIN=health:system,hostname:read,health:storage,health:proc,health:network,health:modules,health:networkstats,interfaces:status,interfaces:read,interfaces:restart,logfiles:status,logfiles:view,logfiles:download,logfiles:tail,skins:update,skins:read,syslog:status,syslog:loginfo,syslog:startstop,rc:status,hostname:edit,interfaces:delete,interfaces:create,interfaces:update,interfaces:ifup,interfaces:ifdown,logfiles:delete,syslog:config,rc:edit,syslog:expert,interfaces:editintfile,modules:edit,modules:reload,password:edit diff --git a/modules-controller.lua b/modules-controller.lua new file mode 100644 index 0000000..f1da11c --- /dev/null +++ b/modules-controller.lua @@ -0,0 +1,14 @@ +-- the interfaces controller +require("controllerfunctions") + +module (..., package.seeall) + +default_action = "edit" + +edit = function(self) + return controllerfunctions.handle_form(self, self.model.read_file, self.model.write_file, self.clientdata, "Save", "Edit Modules file", "File saved") +end + +reload = function(self) + return self:redirect_to_referrer(self.model.reloadmodules()) +end diff --git a/modules-edit-html.lsp b/modules-edit-html.lsp new file mode 100644 index 0000000..75c360f --- /dev/null +++ b/modules-edit-html.lsp @@ -0,0 +1,43 @@ +<% local form, viewlibrary, page_info, session = ... %> +<% require("viewfunctions") %> + +<% displaycommandresults({"reload"}, session) %> + +<% if form.type == "form" then %> +

Configuration

+

Expert Configuration

+<% else %> +

View File

+<% end %> +

File Details

+
+<% +displayitem(form.value.filename) +displayitem(form.value.filesize) +displayitem(form.value.mtime) +%> +
+ +

File Content

+<% if form.type == "form" then %> +<% form.action = page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action %> +<% displayformstart(form) %> + +<% end %> + +<% if form.value.filecontent.errtxt then %>

<%= string.gsub(form.value.filecontent.errtxt, "\n", "
") %>

<% end %> +<% if form.value.filecontent.descr then %>

<%= string.gsub(form.value.filecontent.descr, "\n", "
") %>

<% end %> + +<% if form.type == "form" then %> +

Save

+<% displayformend(form) %> +<% end %> + + +

Reload Modules

+
+
Reload Modules
+
">
+
diff --git a/modules-model.lua b/modules-model.lua new file mode 100644 index 0000000..751aa3d --- /dev/null +++ b/modules-model.lua @@ -0,0 +1,18 @@ +module (..., package.seeall) + +require("modelfunctions") +require("fs") + +local configfile = "/etc/modules" + +function read_file() + return modelfunctions.getfiledetails(configfile) +end + +function write_file(filedetails) + return modelfunctions.setfiledetails(filedetails, {configfile}) +end + +function reloadmodules() + return modelfunctions.startstop_service("modutils", "start") +end diff --git a/modules.menu b/modules.menu new file mode 100644 index 0000000..4f96581 --- /dev/null +++ b/modules.menu @@ -0,0 +1,2 @@ +# Cat Group Tab Action +System 20Modules Status edit -- cgit v1.2.3