(refs #32)Making plugin administration pages

This commit is contained in:
Naoki Takezoe
2014-06-14 23:29:37 +09:00
parent b07d0b028f
commit 3b2e42fd61
5 changed files with 16 additions and 15 deletions

View File

@@ -80,15 +80,10 @@ trait SystemSettingsControllerBase extends ControllerBase {
})
get("/admin/plugins")(adminOnly {
admin.html.plugins(plugin.PluginSystem.plugins)
admin.plugins.html.installed(plugin.PluginSystem.plugins)
})
post("/admin/plugins/_delete", pluginForm)(adminOnly { form =>
// TODO uninstall and delete plugins
println("****")
println(form.pluginIds)
println("****")
form.pluginIds.foreach { pluginId =>
plugin.PluginSystem.uninstall(pluginId)
val dir = new java.io.File(PluginHome, pluginId)
@@ -99,11 +94,11 @@ trait SystemSettingsControllerBase extends ControllerBase {
redirect("/admin/plugins")
})
get("/admin/script")(adminOnly {
admin.html.script()
get("/admin/plugins/console")(adminOnly {
admin.plugins.html.console()
})
post("/admin/script")(adminOnly {
post("/admin/plugins/console")(adminOnly {
val script = request.getParameter("script")
val result = plugin.JavaScriptPlugin.evaluateJavaScript(script)
Ok(result)

View File

@@ -14,9 +14,6 @@
<li@if(active=="plugins"){ class="active"}>
<a href="@path/admin/plugins">Plugins</a>
</li>
<li@if(active=="script"){ class="active"}>
<a href="@path/admin/script">JavaScript Console</a>
</li>
<li>
<a href="@path/console/login.jsp">H2 Console</a>
</li>

View File

@@ -2,7 +2,8 @@
@import context._
@import view.helpers._
@html.main("JavaScript Console"){
@menu("script"){
@admin.html.menu("plugins"){
@tab("console")
<form method="POST">
<div class="box">
<div class="box-header">JavaScript Console</div>
@@ -24,7 +25,7 @@ $(function(){
editor.getSession().setMode("ace/mode/javascript");
$('#evaluate').click(function(){
$.post('@path/admin/script', {
$.post('@path/admin/plugins/console', {
script: editor.getValue()
}, function(data){
alert('Success: ' + data);

View File

@@ -2,7 +2,8 @@
@import context._
@import view.helpers._
@html.main("Plugins"){
@menu("plugins"){
@admin.html.menu("plugins"){
@tab("installed")
<form action="@path/admin/plugins/_delete" method="POST" validate="true">
<table class="table table-bordered">
<tr>

View File

@@ -0,0 +1,7 @@
@(active: String)(implicit context: app.Context)
@import context._
<ul class="nav nav-tabs">
<li@if(active == "installed"){ class="active"}><a href="@path/admin/plugins">Installed plugins</a></li>
<li@if(active == "available"){ class="active"}><a href="@path/admin/plugins">Available plugins</a></li>
<li@if(active == "console" ){ class="active"}><a href="@path/admin/plugins/console">JavaScript console</a></li>
</ul>