This commit is contained in:
Mr Chen 2018-12-11 17:53:37 +08:00
parent 8425aa4942
commit 2acbe56e21
2 changed files with 164 additions and 8 deletions

View File

@ -220,8 +220,72 @@ def userList():
return public.getJson(data)
def projectAdd():
args = getArgs()
if not 'name' in args:
return 'project name missing'
path = getServerDir() + '/bin/svnadmin'
dest = getServerDir() + '/data/repositories/' + args['name']
cmd = path + ' create ' + dest
data = public.execShell(cmd)
print data
if data[0] == '':
return 'ok'
return 'fail'
def projectDel():
args = getArgs()
if not 'name' in args:
return 'project name missing'
dest = getServerDir() + '/data/repositories/' + args['name']
cmd = 'rm -rf ' + dest
data = public.execShell(cmd)
if data[0] == '':
return 'ok'
return 'fail'
def projectList():
return []
import math
args = getArgs()
path = getServerDir() + '/data/repositories'
dlist = []
data = {}
if os.path.exists(path):
for filename in os.listdir(path):
tmp = {}
filePath = path + '/' + filename
if os.path.isdir(filePath):
tmp['name'] = filename
verPath = filePath + '/format'
if os.path.exists(verPath):
ver = public.readFile(verPath).strip()
tmp['ver'] = ver
dlist.append(tmp)
page = 1
page_size = 10
if 'page' in args:
page = int(args['page'])
if 'page_size' in args:
page_size = int(args['page_size'])
dlist_sum = len(dlist)
page_info = {'count': dlist_sum, 'p': page,
'row': 10, 'tojs': 'csvnProjectList'}
data['list'] = public.getPage(page_info)
data['page'] = page
data['page_size'] = page_size
data['page_count'] = int(math.ceil(dlist_sum / page_size))
start = (page - 1) * page_size
data['data'] = dlist[start:start + page_size]
return public.getJson(data)
if __name__ == "__main__":
func = sys.argv[1]
@ -255,5 +319,9 @@ if __name__ == "__main__":
print userDel()
elif func == 'project_list':
print projectList()
elif func == 'project_del':
print projectDel()
elif func == 'project_add':
print projectAdd()
else:
print 'fail'

View File

@ -167,25 +167,27 @@ function csvnProjectList(page){
return;
}
var rdata = $.parseJSON(data.data);
var rdata = $.parseJSON($.trim(data.data));
// console.log(rdata);
content = '<div class="finduser"><input class="bt-input-text mr5" type="text" placeholder="查找项目" id="disable_function_val" style="height: 28px; border-radius: 3px;width: 410px;">';
content = '<div class="finduser"><input class="bt-input-text mr5" type="text" placeholder="查找项目" id="disable_function_val" style="height: 28px; border-radius: 3px;width: 505px;">';
content += '<button class="btn btn-success btn-sm">查找</button></div>';
content += '<div class="divtable" style="margin-top:5px;"><table class="table table-hover" width="100%" cellspacing="0" cellpadding="0" border="0">';
content += '<thead><tr>';
content += '<th>项目名</th>';
content += '<th>操作</th>';
content += '<th>当前版本</th>';
content += '<th>操作(<a class="btlink" onclick="csvnAddProject();">添加</a>)</th>';
content += '</tr></thead>';
content += '<tbody>';
ulist = rdata.data;
for (i in ulist){
content += '<tr><td>'+ulist[i]+'</td><td>'+
'<a class="btlink" onclick="csvnDelUser(\''+ulist[i]+'\')">删除</a>|' +
'<a class="btlink" onclick="csvnModUser(\''+ulist[i]+'\')">改密</a></td></tr>';
content += '<tr><td>'+ulist[i]['name']+'</td>'+
'<td>'+ulist[i]['ver']+'</td><td>'+
'<a class="btlink" onclick="csvnDelProject(\''+ulist[i]['name']+'\')">删除</a>' +
'</td></tr>';
}
content += '</tbody>';
@ -196,7 +198,93 @@ function csvnProjectList(page){
page += '</div></ul></div>';
content += page;
$(".soft-man-con").html(content);
},'json');
}
function csvnDelProject(name){
var loadOpen = layer.open({
type: 1,
title: '删除用户',
area: '350px',
content:"<div class='bt-form pd20 pb70 c6'>\
<div class='version line'>你要确认要删除"+ name + "账户?</div>\
<div class='bt-form-submit-btn'>\
<button type='button' id='csvn_del_close' class='btn btn-danger btn-sm btn-title'>关闭</button>\
<button type='button' id='csvn_del_ok' class='btn btn-success btn-sm btn-title bi-btn'>确认</button>\
</div>\
</div>"
});
$('#csvn_del_close').click(function(){
layer.close(loadOpen);
});
$('#csvn_del_ok').click(function(){
_data = {};
_data['name'] = name;
var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 });
$.post('/plugins/run', {name:'csvn', func:'project_del', args:JSON.stringify(_data)}, function(data) {
layer.close(loadT);
if (!data.status){
layer.msg(data.data,{icon:0,time:2000,shade: [0.3, '#000']});
return;
}
if (data.data !='ok'){
layer.msg(data.data,{icon:2,time:2000,shade: [0.3, '#000']});
return;
}
csvnProjectList();
layer.close(loadOpen);
layer.msg("删除成功!",{icon:1,time:3000,shade: [0.3, '#000']});
},'json');
});
}
function csvnAddProject(){
var loadOpen = layer.open({
type: 1,
title: '添加项目',
area: '240px',
content:"<div class='bt-form pd20 pb70 c6'>\
<div class='version line'>\
<div><input class='bt-input-text mr5 outline_no' type='text' id='csvn_name' name='username' style='height: 28px; border-radius: 3px;width: 200px;' placeholder='输入项目名'></div>\
</div>\
<div class='bt-form-submit-btn'>\
<button type='button' id='csvn_project_close' class='btn btn-danger btn-sm btn-title'>关闭</button>\
<button type='button' id='csvn_project_ok' class='btn btn-success btn-sm btn-title bi-btn'>确认</button>\
</div>\
</div>"
});
$('#csvn_project_close').click(function(){
layer.close(loadOpen);
});
$('#csvn_project_ok').click(function(){
_data = {};
_data['name'] = $('#csvn_name').val();
var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 });
$.post('/plugins/run', {name:'csvn', func:'project_add', args:JSON.stringify(_data)}, function(data) {
layer.close(loadT);
if (!data.status){
layer.msg(data.data,{icon:0,time:2000,shade: [0.3, '#000']});
return;
}
if (data.data !='ok'){
layer.msg(data.data,{icon:2,time:2000,shade: [0.3, '#000']});
return;
}
csvnProjectList();
layer.close(loadOpen);
layer.msg("操作成功!",{icon:1,time:3000,shade: [0.3, '#000']});
},'json');
});
}