From 56273f45c518fa3a976244347eaee9f5b99e1e73 Mon Sep 17 00:00:00 2001 From: rekoe Date: Thu, 28 Apr 2016 09:55:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rekoe/module/admin/AdminProjectAct.java | 21 +++++++++++++ src/main/java/com/rekoe/utils/DoCommit.java | 13 +++++--- .../template/admin/project/add_dir.ftl | 31 +++++++++++++++++++ .../WEB-INF/template/admin/project/list.ftl | 1 + src/main/webapp/res/cms/js/admin.js | 25 +++++++++++++++ 5 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 src/main/webapp/WEB-INF/template/admin/project/add_dir.ftl diff --git a/src/main/java/com/rekoe/module/admin/AdminProjectAct.java b/src/main/java/com/rekoe/module/admin/AdminProjectAct.java index 54d0031..7dd0e73 100644 --- a/src/main/java/com/rekoe/module/admin/AdminProjectAct.java +++ b/src/main/java/com/rekoe/module/admin/AdminProjectAct.java @@ -32,6 +32,7 @@ import com.rekoe.service.ProjectService; import com.rekoe.service.RepositoryService; import com.rekoe.service.UsrService; import com.rekoe.utils.CommonUtils; +import com.rekoe.utils.DoCommit; @IocBean @At("/admin/project") @@ -247,4 +248,24 @@ public class AdminProjectAct extends BaseAction { projectAuthService.save(pj, res, rw, grs, usrs); return pjauth(pj, res, entity, Mvcs.getReq()); } + + @At + @Ok("fm:template.admin.project.add_dir") + @RequiresPermissions("svn.project:update") + @PermissionTag(name = "SVN编辑项目", tag = "SVN项目管理", enable = false) + public String file_add(@Param("pj") String pj) { + return pj; + } + + @Inject + private DoCommit doCommit; + + @At + @Ok("json") + @RequiresPermissions("svn.project:update") + @PermissionTag(name = "SVN编辑项目", tag = "SVN项目管理", enable = false) + public Message file_save(@Param("pj") String pj,@Param("file") String file, HttpServletRequest req) { + doCommit.mkdirs(pj, new String[]{file}); + return Message.success("ok", req); + } } diff --git a/src/main/java/com/rekoe/utils/DoCommit.java b/src/main/java/com/rekoe/utils/DoCommit.java index 0f1a923..05b8b6c 100644 --- a/src/main/java/com/rekoe/utils/DoCommit.java +++ b/src/main/java/com/rekoe/utils/DoCommit.java @@ -5,6 +5,7 @@ import java.util.List; import org.apache.commons.lang3.StringUtils; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; import org.nutz.log.Log; import org.nutz.log.Logs; import org.tmatesoft.svn.core.SVNException; @@ -41,7 +42,13 @@ public class DoCommit { private ProjectConfigService projectConfigService; public boolean mkdirs(String pj) { - Pj project =projectService.get(pj); + ProjectConfig conf = projectConfigService.get(); + List dirs = conf.getDirs(); + return mkdirs(pj, Lang.collection2array(dirs)); + } + + public boolean mkdirs(String pj, String[] dirs) { + Pj project = projectService.get(pj); Usr usr = UsrProvider.getCurrentUsr(); String svnUrl = repositoryService.getProjectSVNUrl(project); if (StringUtils.isBlank(svnUrl)) { @@ -57,9 +64,7 @@ public class DoCommit { } } svnPassword = EncryptUtil.decrypt(svnPassword);// 解密 - ProjectConfig conf = projectConfigService.get(); - List dirs = conf.getDirs(); - SVNURL[] urlAr = new SVNURL[dirs.size()]; + SVNURL[] urlAr = new SVNURL[dirs.length]; int i = 0; for (String url : dirs) { try { diff --git a/src/main/webapp/WEB-INF/template/admin/project/add_dir.ftl b/src/main/webapp/WEB-INF/template/admin/project/add_dir.ftl new file mode 100644 index 0000000..f199371 --- /dev/null +++ b/src/main/webapp/WEB-INF/template/admin/project/add_dir.ftl @@ -0,0 +1,31 @@ + + + + + +<#include "/template/admin/head.ftl"/> + + + +
+
<@s.m "global.position"/>: 目录管理 - <@s.m "global.add"/>
+
+ " onclick="this.form.action='list.rk';" class="return-button"/> +
+
+
+
+<@p.form id="jvForm" action="file_save" labelWidth="12" onsubmit="return false;"> +<@p.hidden name="pj" id="pj" value='${obj}' /> +<@p.text width="30" label="目录" id="file" name="file" value="" maxlength="100" class="required" required="true" help="说明: 若trunk下如果要增加目录请使用 trunk/filename"/><@p.tr/> +<@p.td> +<@p.submit code="global.submit" onclick="Cms.add('file_save','file_add.rk');"/> +<@p.tr/> + +
+ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/template/admin/project/list.ftl b/src/main/webapp/WEB-INF/template/admin/project/list.ftl index 76ea32b..70352ce 100644 --- a/src/main/webapp/WEB-INF/template/admin/project/list.ftl +++ b/src/main/webapp/WEB-INF/template/admin/project/list.ftl @@ -76,6 +76,7 @@ function all_email(pj){ <@p.column title="设置用户组" align="center">设置用户组<#t/> <@p.column title="设置权限" align="center">设置权限<#t/> + <@p.column title="添加目录" align="center">添加目录<#t/> <@p.column title="初始化" align="center">初始化<#t/> <@shiro.hasPermission name="svn.project:auth.manager"> <@p.column title="编辑" align="center"> diff --git a/src/main/webapp/res/cms/js/admin.js b/src/main/webapp/res/cms/js/admin.js index d9fc589..35e9c18 100644 --- a/src/main/webapp/res/cms/js/admin.js +++ b/src/main/webapp/res/cms/js/admin.js @@ -90,6 +90,31 @@ Cms.addBack = function(url){ }); return false; } +Cms.add = function(act,back){ + $.dialog({ + type: "warn", + content: '确定要添加此记录?', + ok: 'Ok', + cancel: 'Cancel', + onOk: function() { + $.ajax({ + url: act, + type: "POST", + data: $('#jvForm').serialize(), + dataType: "json", + cache: false, + success: function(message) { + $.message(message); + if (message.type == "success") + { + window.location.href = url; + } + } + }); + } + }); + return false; +} Cms.updateBack = function(url){ $.dialog({ type: "warn",