Skip to content

Commit e0678c8

Browse files
authored
Merge pull request #466 from midoks/dev
gogs同步模板优化
2 parents c6a8841 + c0bdf26 commit e0678c8

File tree

3 files changed

+52
-38
lines changed

3 files changed

+52
-38
lines changed

plugins/gogs/hook/commit.tpl

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,19 @@ GIT_PROJECT_DIR="${GIT_USER_DIR}/{$PROJECT}"
1010

1111

1212
git config --global credential.helper store
13+
git config --global pull.rebase false
1314

1415
# echo $GIT_PROJECT_DIR
1516
if [ ! -d $GIT_PROJECT_DIR ];then
1617
mkdir -p $GIT_USER_DIR && cd $GIT_USER_DIR
17-
git clone $GITADDR
18+
git clone $GITADDR --branch main
19+
if [ "$?" != "0" ];then
20+
git clone $GITADDR
21+
fi
1822
fi
1923

2024
unset GIT_DIR
25+
2126
cd $GIT_PROJECT_DIR && git pull
2227

2328
# func 2
@@ -26,9 +31,17 @@ cd $GIT_PROJECT_DIR && git pull
2631

2732
#更新的目的地址
2833
WEB_PATH={$WEB_ROOT}/{$USERNAME}/{$PROJECT}
29-
mkdir -p $WEB_PATH
3034

31-
rsync -vauP --delete --exclude=".*" $GIT_PROJECT_DIR/ $WEB_PATH
35+
if [ ! -d $WEB_PATH ];then
36+
mkdir -p $WEB_PATH
37+
rsync -vauP --delete --exclude=".*" $GIT_PROJECT_DIR/ $WEB_PATH
38+
else
39+
if [ -f $GIT_PROJECT_DIR/exclude.list ];then
40+
rsync -vauP --delete --exclude-from="$GIT_PROJECT_DIR/exclude.list" $GIT_PROJECT_DIR/ $WEB_PATH
41+
else
42+
rsync -vauP --exclude=".*" $GIT_PROJECT_DIR/ $WEB_PATH
43+
fi
44+
fi
3245

3346
sysName=`uname`
3447
if [ $sysName == 'Darwin' ]; then

plugins/gogs/index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ def userProjectList():
561561
data['data'] = ret_data
562562
data['args'] = args
563563
data['list'] = mw.getPage(
564-
{'count': dlist_sum, 'p': page, 'row': page_size, 'tojs': 'userProjectList'})
564+
{'count': dlist_sum, 'p': page, 'row': page_size, 'tojs': 'userProjectListPage'})
565565

566566
return mw.returnJson(True, 'OK', data)
567567

plugins/gogs/js/gogs.js

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,8 @@
1-
2-
function str2Obj(str){
3-
var data = {};
4-
kv = str.split('&');
5-
for(i in kv){
6-
v = kv[i].split('=');
7-
data[v[0]] = v[1];
8-
}
9-
return data;
10-
}
11-
121
function gogsPost(method,args,callback, title){
132

143
var _args = null;
154
if (typeof(args) == 'string'){
16-
_args = JSON.stringify(str2Obj(args));
5+
_args = JSON.stringify(toArrayObject(args));
176
} else {
187
_args = JSON.stringify(args);
198
}
@@ -185,6 +174,31 @@ function gogsUserList(page, search) {
185174
}
186175

187176
function userProjectList(user, search){
177+
layer.open({
178+
type: 1,
179+
title: '用户('+user+')项目列表',
180+
area: '500px',
181+
content:"<div class='bt-form pd20 c6'>\
182+
<div>\
183+
<div id='gogs_table' class='divtable' style='margin-top:5px;'>\
184+
<table class='table table-hover'>\
185+
<thead><tr><th>项目</th><th>操作</th></tr></thead>\
186+
<tbody></tbody>\
187+
</table>\
188+
<div class='dataTables_paginate paging_bootstrap pagination' style='margin-top:0px;'>\
189+
<ul class='page'><div class='gogs_page'></div></ul>\
190+
</div>\
191+
</div>\
192+
</div>\
193+
</div>",
194+
success:function(){
195+
userProjectListPage(user,search);
196+
}
197+
});
198+
}
199+
200+
201+
function userProjectListPage(user, search){
188202
var req = {};
189203
if (!isNaN(user)){
190204
req['page'] = user;
@@ -200,8 +214,7 @@ function userProjectList(user, search){
200214
if(typeof(search) != 'undefined'){
201215
req['search'] = search;
202216
}
203-
204-
$('.layui-layer-close1').click();
217+
205218
gogsPost('user_project_list', req, function(data){
206219
var rdata = [];
207220
try {
@@ -218,36 +231,24 @@ function userProjectList(user, search){
218231
var project_list = rdata['data']['data'];
219232
for (i in project_list) {
220233
var name = project_list[i]['name'];
221-
list += '<tr><td>'+name+'</td>\
234+
list += '<tr>\
235+
<td>'+name+'</td>\
222236
<td>\
223237
<a class="btlink" target="_blank" href="'+rdata['data']['root_url']+user+'/'+name+'">源码</a> | \
224238
<a class="btlink" onclick="projectScript(\''+user+'\',\''+name+'\','+project_list[i]['has_hook']+');">脚本</a>\
225239
</td>\
226240
</tr>';
227241
}
228242

229-
var page = '<div class="dataTables_paginate paging_bootstrap pagination" style="margin-top:0px;"><ul id="softPage" class="page"><div>';
230-
page += rdata['data']['list'];
231-
page += '</div></ul></div>';
243+
$('#gogs_table tbody').html(list);
232244

233-
var loadOpen = layer.open({
234-
type: 1,
235-
title: '用户('+user+')项目列表',
236-
area: '500px',
237-
content:"<div class='bt-form pd20 c6'>\
238-
<div>\
239-
<div class='divtable' style='margin-top:5px;'>\
240-
<table class='table table-hover'>\
241-
<thead><tr><th>项目</th><th>操作</th></tr></thead>\
242-
<tbody>" + list + "</tbody>\
243-
</table>" +
244-
page +
245-
"</div></div></div>"
246-
});
245+
var page = rdata['data']['list'];
246+
$('#gogs_table .gogs_page').html(page);
247247
});
248248
}
249249

250250

251+
251252
function projectScript(user, name,has_hook){
252253
// console.log(user,name,has_hook);
253254
var html = '';
@@ -288,7 +289,7 @@ function projectScriptLoad(user,name){
288289

289290
layer.msg('加载成功!',{icon:1,time:2000,shade: [0.3, '#000']});
290291
setTimeout(function(){
291-
userProjectList(1);
292+
userProjectListPage(1);
292293
}, 2000);
293294
});
294295
}
@@ -302,7 +303,7 @@ function projectScriptUnload(user,name){
302303

303304
layer.msg('卸载成功!',{icon:1,time:2000,shade: [0.3, '#000']});
304305
setTimeout(function(){
305-
userProjectList(1);
306+
userProjectListPage(1);
306307
}, 2000);
307308
});
308309
}

0 commit comments

Comments
 (0)