Forráskód Böngészése

#2206 improve installplugin page(use pull-down menu)

igarashi 6 éve
szülő
commit
23ba279574

+ 6 - 2
src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java

@@ -83,7 +83,7 @@ public class AdminPluginAction extends FessAdminAction {
         verifyToken(() -> {
         verifyToken(() -> {
             return asHtml(path_AdminPlugin_AdminPluginInstallpluginJsp);
             return asHtml(path_AdminPlugin_AdminPluginInstallpluginJsp);
         });
         });
-        Artifact artifact = new Artifact(form.name, form.version, form.url);
+        Artifact artifact = getArtifactFromInstallForm(form);
         try {
         try {
             pluginHelper.installArtifact(artifact);
             pluginHelper.installArtifact(artifact);
             saveInfo(messages -> messages.addSuccessInstallPlugin(GLOBAL, artifact.getFileName()));
             saveInfo(messages -> messages.addSuccessInstallPlugin(GLOBAL, artifact.getFileName()));
@@ -94,7 +94,6 @@ public class AdminPluginAction extends FessAdminAction {
         return redirect(getClass());
         return redirect(getClass());
     }
     }
 
 
-
     @Execute
     @Execute
     public HtmlResponse installplugin() {
     public HtmlResponse installplugin() {
         saveToken();
         saveToken();
@@ -133,4 +132,9 @@ public class AdminPluginAction extends FessAdminAction {
         item.put("url", artifact.getUrl());
         item.put("url", artifact.getUrl());
         return item;
         return item;
     }
     }
+
+    private Artifact getArtifactFromInstallForm(final InstallForm form) {
+        final String values[] = form.selectedArtifact.split("\\|");
+        return new Artifact(values[0], values[1], values[2]);
+    }
 }
 }

+ 2 - 8
src/main/java/org/codelibs/fess/app/web/admin/plugin/InstallForm.java

@@ -22,13 +22,7 @@ import org.lastaflute.web.validation.Required;
 public class InstallForm {
 public class InstallForm {
 
 
     @Required
     @Required
-    @Size(max = 100)
-    public String name;
-
-    @Size(max = 100)
-    public String version;
-
-    @Size(max = 200)
-    public String url;
+    @Size(max = 400)
+    public String selectedArtifact;
 
 
 }
 }

+ 34 - 52
src/main/webapp/WEB-INF/view/admin/plugin/admin_plugin_installplugin.jsp

@@ -18,68 +18,50 @@
             <h1>
             <h1>
                 <la:message key="labels.plugin_install_title" />
                 <la:message key="labels.plugin_install_title" />
             </h1>
             </h1>
-            <jsp:include page="/WEB-INF/view/common/admin/crud/breadcrumb.jsp"></jsp:include>
         </section>
         </section>
         <section class="content">
         <section class="content">
-            <la:form action="/admin/plugin/" styleClass="form-horizontal">
-                <div class="row">
-                    <div class="col-md-12">
+            <div class="row">
+                <div class="col-md-12">
+                    <la:info id="msg" message="true">
+                        <div class="alert alert-info">${msg}</div>
+                    </la:info>
+                    <la:errors property="_global" />
+                </div>
+                <div class="col-md-6">
+                    <div class="box box-primary">
+                        <la:form action="/admin/plugin/">
+                            <div class="box-header with-border">
+                                <h3 class="box-title">
+                                    <la:message key="labels.plugin_install" />
+                                </h3>
+                            </div>
                             <!-- /.box-header -->
                             <!-- /.box-header -->
                             <div class="box-body">
                             <div class="box-body">
-                                    <%-- Message --%>
-                                <div>
-                                    <la:info id="msg" message="true">
-                                        <div class="alert alert-info">${msg}</div>
-                                    </la:info>
-                                    <la:errors />
-                                </div>
-                                    <%-- List --%>
-                                <div class="data-wrapper">
-                                    <div class="row">
-                                        <div class="col-sm-12">
-                                            <table class="table table-bordered table-striped dataTable">
-                                                <tbody>
-                                                <tr>
-                                                    <th><la:message key="labels.plugin_type" /></th>
-                                                    <th><la:message key="labels.plugin_name" /></th>
-                                                    <th><la:message key="labels.plugin_version" /></th>
-                                                    <th></th>
-                                                </tr>
-                                                <c:forEach var="artifact" varStatus="s"
-                                                           items="${availableArtifactItems}">
-                                                    <tr>
-                                                        <td>${f:h(artifact.type)}</td>
-                                                        <td>${f:h(artifact.name)}</td>
-                                                        <td>${f:h(artifact.version)}</td>
-                                                        <td>
-                                                            <la:form action="/admin/plugin/" styleClass="form-horizontal">
-                                                                <input type="hidden" name="name" value="${f:h(artifact.name)}">
-                                                                <input type="hidden" name="version" value="${f:h(artifact.version)}">
-                                                                <input type="hidden" name="url" value="${f:h(artifact.url)}">
-                                                                <button type="submit" class="btn btn-warning"
-                                                                        name="install"
-                                                                        value="<la:message key="labels.crud_button_install" />">
-                                                                    <em class="fa fa-plus"></em>
-                                                                    <la:message key="labels.crud_button_install" />
-                                                                </button>
-                                                            </la:form>
-                                                        </td>
-                                                    </tr>
-                                                </c:forEach>
-                                                </tbody>
-                                            </table>
-                                        </div>
-                                    </div>
+                                <div class="form-group">
+                                    <la:errors property="selectedArtifact" />
+                                    <la:select styleId="TODO" property="selectedArtifact" styleClass="form-control">
+                                        <c:forEach var="item" varStatus="s"
+                                                   items="${availableArtifactItems}">
+                                            <la:option value="${f:h(item.name)}|${f:h(item.version)}|${f:h(item.url)}">${f:h(item.name)}-${f:h(item.version)}</la:option>
+                                        </c:forEach>
+                                    </la:select>
                                 </div>
                                 </div>
-                                <!-- /.data-wrapper -->
                             </div>
                             </div>
                             <!-- /.box-body -->
                             <!-- /.box-body -->
+                            <div class="box-footer">
+                                <button type="submit" class="btn btn-warning"
+                                        name="install"
+                                        value="<la:message key="labels.crud_button_install" />">
+                                    <em class="fa fa-plus"></em>
+                                    <la:message key="labels.crud_button_install" />
+                                </button>
+                            </div>
                             <!-- /.box-footer -->
                             <!-- /.box-footer -->
-                        </div>
-                        <!-- /.box -->
+                        </la:form>
                     </div>
                     </div>
+                        <!-- /.box -->
                 </div>
                 </div>
-            </la:form>
+            </div>
         </section>
         </section>
     </div>
     </div>
     <jsp:include page="/WEB-INF/view/common/admin/footer.jsp"></jsp:include>
     <jsp:include page="/WEB-INF/view/common/admin/footer.jsp"></jsp:include>