diff --git a/src/main/scala/app/SystemSettingsController.scala b/src/main/scala/app/SystemSettingsController.scala index c5cf523..ecc95b6 100644 --- a/src/main/scala/app/SystemSettingsController.scala +++ b/src/main/scala/app/SystemSettingsController.scala @@ -10,6 +10,7 @@ import org.apache.commons.io.FileUtils import java.io.FileInputStream import plugin.{Plugin, PluginSystem} +import org.scalatra.Ok class SystemSettingsController extends SystemSettingsControllerBase with AccountService with AdminAuthenticator @@ -82,44 +83,43 @@ redirect("/admin/system") }) -// TODO Enable commented code to enable plug-in system -// get("/admin/plugins")(adminOnly { -// val installedPlugins = plugin.PluginSystem.plugins -// val updatablePlugins = getAvailablePlugins(installedPlugins).filter(_.status == "updatable") -// admin.plugins.html.installed(installedPlugins, updatablePlugins) -// }) -// -// post("/admin/plugins/_update", pluginForm)(adminOnly { form => -// deletePlugins(form.pluginIds) -// installPlugins(form.pluginIds) -// redirect("/admin/plugins") -// }) -// -// post("/admin/plugins/_delete", pluginForm)(adminOnly { form => -// deletePlugins(form.pluginIds) -// redirect("/admin/plugins") -// }) -// -// get("/admin/plugins/available")(adminOnly { -// val installedPlugins = plugin.PluginSystem.plugins -// val availablePlugins = getAvailablePlugins(installedPlugins).filter(_.status == "available") -// admin.plugins.html.available(availablePlugins) -// }) -// -// post("/admin/plugins/_install", pluginForm)(adminOnly { form => -// installPlugins(form.pluginIds) -// redirect("/admin/plugins") -// }) + get("/admin/plugins")(adminOnly { + val installedPlugins = plugin.PluginSystem.plugins + val updatablePlugins = getAvailablePlugins(installedPlugins).filter(_.status == "updatable") + admin.plugins.html.installed(installedPlugins, updatablePlugins) + }) -// get("/admin/plugins/console")(adminOnly { -// admin.plugins.html.console() -// }) -// -// post("/admin/plugins/console")(adminOnly { -// val script = request.getParameter("script") -// val result = plugin.JavaScriptPlugin.evaluateJavaScript(script) -// Ok(result) -// }) + post("/admin/plugins/_update", pluginForm)(adminOnly { form => + deletePlugins(form.pluginIds) + installPlugins(form.pluginIds) + redirect("/admin/plugins") + }) + + post("/admin/plugins/_delete", pluginForm)(adminOnly { form => + deletePlugins(form.pluginIds) + redirect("/admin/plugins") + }) + + get("/admin/plugins/available")(adminOnly { + val installedPlugins = plugin.PluginSystem.plugins + val availablePlugins = getAvailablePlugins(installedPlugins).filter(_.status == "available") + admin.plugins.html.available(availablePlugins) + }) + + post("/admin/plugins/_install", pluginForm)(adminOnly { form => + installPlugins(form.pluginIds) + redirect("/admin/plugins") + }) + + get("/admin/plugins/console")(adminOnly { + admin.plugins.html.console() + }) + + post("/admin/plugins/console")(adminOnly { + val script = request.getParameter("script") + val result = plugin.JavaScriptPlugin.evaluateJavaScript(script) + Ok(result) + }) // TODO Move these methods to PluginSystem or Service? private def deletePlugins(pluginIds: List[String]): Unit = { diff --git a/src/main/scala/plugin/PluginUpdateJob.scala b/src/main/scala/plugin/PluginUpdateJob.scala index 36a70e8..f041e64 100644 --- a/src/main/scala/plugin/PluginUpdateJob.scala +++ b/src/main/scala/plugin/PluginUpdateJob.scala @@ -50,18 +50,17 @@ object PluginUpdateJob { def schedule(scheduler: Scheduler): Unit = { -// TODO Enable commented code to enable plug-in system -// val job = newJob(classOf[PluginUpdateJob]) -// .withIdentity("pluginUpdateJob") -// .build() -// -// val trigger = newTrigger() -// .withIdentity("pluginUpdateTrigger") -// .startNow() -// .withSchedule(simpleSchedule().withIntervalInHours(24).repeatForever()) -// .build() -// -// scheduler.scheduleJob(job, trigger) + val job = newJob(classOf[PluginUpdateJob]) + .withIdentity("pluginUpdateJob") + .build() + + val trigger = newTrigger() + .withIdentity("pluginUpdateTrigger") + .startNow() + .withSchedule(simpleSchedule().withIntervalInHours(24).repeatForever()) + .build() + + scheduler.scheduleJob(job, trigger) } } \ No newline at end of file