summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-radicale2/luasrc/controller/radicale2.lua
diff options
context:
space:
mode:
authorDaniel F. Dickinson <cshored@thecshore.com>2019-01-02 06:18:40 -0500
committerDaniel F. Dickinson <cshored@thecshore.com>2019-01-10 05:52:12 -0500
commit29e01e0e5b4bf9a25e88de7309637b0f461ef6a9 (patch)
tree92343df8693a4ef380504fe2f2359d21a4eced20 /applications/luci-app-radicale2/luasrc/controller/radicale2.lua
parent1893892581707fcd83e684a7a03dd6b5d3c2c3a2 (diff)
luci-app-radicale2: Add v2 of CalDAV/CardDAV server
Radicale 2.x has been out for some time, and has better support for a number of clients as well as new features, so radicale2 package has been added to packages, and this is the corresponding UI. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Diffstat (limited to 'applications/luci-app-radicale2/luasrc/controller/radicale2.lua')
-rw-r--r--applications/luci-app-radicale2/luasrc/controller/radicale2.lua38
1 files changed, 38 insertions, 0 deletions
diff --git a/applications/luci-app-radicale2/luasrc/controller/radicale2.lua b/applications/luci-app-radicale2/luasrc/controller/radicale2.lua
new file mode 100644
index 0000000000..7b94552ed6
--- /dev/null
+++ b/applications/luci-app-radicale2/luasrc/controller/radicale2.lua
@@ -0,0 +1,38 @@
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.controller.radicale2", package.seeall)
+
+function index()
+ local page
+
+ -- no config create an empty one
+ if not nixio.fs.access("/etc/config/radicale2") then
+ nxfs.writefile("/etc/config/radicale2", "")
+ end
+
+ page = entry({"admin", "services", "radicale2"}, alias("admin", "services", "radicale2", "server"), _("Radicale 2.x"))
+ page.leaf = false
+
+ page = entry({"admin", "services", "radicale2", "server"}, cbi("radicale2/server"), _("Server Settings"))
+ page.leaf = true
+ page.order = 10
+
+ page = entry({"admin", "services", "radicale2", "auth"}, cbi("radicale2/auth"), _("Authentication / Users"))
+ page.leaf = true
+ page.order = 20
+
+ page = entry({"admin", "services", "radicale2", "storage"}, cbi("radicale2/storage"), _("Storage"))
+ page.leaf = true
+ page.order = 30
+
+ page = entry({"admin", "services", "radicale2", "logging"}, cbi("radicale2/logging"), _("Logging"))
+ page.leaf = true
+ page.order = 40
+end
+
+function pymodexists(module)
+ retfun = luci.util.execi('python3 -c \'import importlib.util as util;found_module = util.find_spec("' .. module .. '");print(found_module is not None);print("\\n")\'')
+ retval = retfun() == "True"
+ while retfun() do end
+ return retval
+end