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

View File

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

View File

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

View File

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