summaryrefslogtreecommitdiffstats
path: root/lbu-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lbu-model.lua')
-rw-r--r--lbu-model.lua34
1 files changed, 11 insertions, 23 deletions
diff --git a/lbu-model.lua b/lbu-model.lua
index 6cdd254..f6c9d2a 100644
--- a/lbu-model.lua
+++ b/lbu-model.lua
@@ -54,19 +54,6 @@ local function availablemedias()
return medias
end
-local function getLbuCommit(flag)
- local err = {}
- local ret = ""
- local f = modelfunctions.run_executable({"lbu", "commit", flag}, true)
- for line in string.gmatch(f, "[^\n]+") do
- ret = ret .. line .. "\n"
- --Look for error messages in output
- local searchrow, search = string.match(line, "^(lbu.*(%-%a).*)")
- if (search) then err[search] = searchrow end
- end
- return ret, err
-end
-
local function getciphers()
local opensslciphers = {}
local watchdog = nil
@@ -361,7 +348,7 @@ function commit(self, input)
local flag = "-v"
if input.value.simulate.value then flag=flag.." -n" end
if input.value.delete.value then flag=flag.." -d" end
- input.descr = getLbuCommit(flag)
+ input.descr, input.errtxt = modelfunctions.run_executable({"lbu", "commit", flag}, true)
end
return input
@@ -380,20 +367,21 @@ end
function get_selectbackup(self, clientdata)
local result = {}
- result.backup = cfe({ value=clientdata.backup or "", label="Backup" })
+ result.backup = cfe({ type="select", value=clientdata.backup or "", label="Backup" })
+ local files = getbackupfiles()
+ result.backup.option = files.value
return cfe({ type="group", value=result, label="Revert to Backup" })
end
function selectbackupfile(self, backuprequest)
- local files = getbackupfiles()
- for i,file in ipairs(files.value) do
- if file == backuprequest.value.backup.value then
- backuprequest.descr, backuprequest.errtxt = modelfunctions.run_executable({"lbu", "revert", file})
- if not backuprequest.errtxt and backuprequest.descr == "" then
- backuprequest.descr = "Reverted to backup "..file
- end
- break
+ local success = modelfunctions.validate_select(backuprequest.value.backup)
+ if success then
+ backuprequest.descr, backuprequest.errtxt = modelfunctions.run_executable({"lbu", "revert", backuprequest.value.backup.value})
+ if not backuprequest.errtxt and backuprequest.descr == "" then
+ backuprequest.descr = "Reverted to backup "..file
end
+ else
+ backuprequest.errtxt = "Failed to revert to backup"
end
return backuprequest
end