Skip to content

Commit 3143e9c

Browse files
committed
fix some bugs
1 parent 37477ce commit 3143e9c

File tree

6 files changed

+52
-40
lines changed

6 files changed

+52
-40
lines changed

dbmanager/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import csv
2+
import codecs
23
import logging
34
import datetime
45
from utils.db.mysql_ops import MysqlPool
@@ -19,7 +20,6 @@ def db_list(request):
1920

2021
services = Service.objects.select_related('project').select_related('service_asset').all()
2122
groups = Group.objects.all()
22-
DBConfig.objects.prefetch_related('db_group').filter(db_group=Group.objects.get(name='admin'))
2323
return render(request, 'dbmanager/db_list.html', locals())
2424
elif request.method == 'POST':
2525
try:
@@ -196,7 +196,7 @@ def db_log_detail(request):
196196
filename = 'query_res.csv'
197197

198198
try:
199-
with open(filename, 'w', newline='') as csvfile:
199+
with codecs.open(filename, 'w+', 'utf_8_sig') as csvfile:
200200
writer = csv.writer(csvfile)
201201
writer.writerow(heads)
202202
writer.writerows(data)

logs/all.log

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
1-
INFO 2019-07-05 14:13:22 _log Connected (version 2.0, client OpenSSH_5.3)
2-
INFO 2019-07-05 14:13:22 _log Authentication (publickey) successful!
3-
INFO 2019-07-05 14:15:00 _log Connected (version 2.0, client OpenSSH_5.3)
4-
INFO 2019-07-05 14:15:00 _log Authentication (password) successful!
5-
INFO 2019-07-05 14:15:01 _log [chan 0] Opened sftp connection (server version 3)
6-
INFO 2019-07-05 14:16:19 _log Connected (version 2.0, client OpenSSH_5.3)
7-
INFO 2019-07-05 14:16:19 _log Authentication (password) successful!
8-
INFO 2019-07-05 14:16:19 _log [chan 0] Opened sftp connection (server version 3)
9-
INFO 2019-07-05 14:16:24 _log Connected (version 2.0, client OpenSSH_5.3)
10-
INFO 2019-07-05 14:16:25 _log Authentication (publickey) successful!
11-
INFO 2019-07-05 14:16:50 _log Connected (version 2.0, client OpenSSH_5.3)
12-
INFO 2019-07-05 14:16:51 _log Authentication (password) successful!
13-
INFO 2019-07-05 14:16:51 _log [chan 0] Opened sftp connection (server version 3)
14-
INFO 2019-07-05 15:44:42 _log Connected (version 2.0, client OpenSSH_5.3)
15-
INFO 2019-07-05 15:44:44 _log Authentication (publickey) successful!
16-
INFO 2019-07-05 15:44:47 _log [chan 2] Opened sftp connection (server version 3)
17-
INFO 2019-07-05 15:44:48 _log [chan 2] sftp session closed.
18-
INFO 2019-07-05 15:48:27 _log Connected (version 2.0, client OpenSSH_5.3)
19-
INFO 2019-07-05 15:48:27 _log Authentication (publickey) successful!
20-
INFO 2019-07-05 15:48:29 _log [chan 2] Opened sftp connection (server version 3)
21-
INFO 2019-07-05 15:48:31 _log [chan 2] sftp session closed.
22-
INFO 2019-07-06 10:49:14 _log Connected (version 2.0, client OpenSSH_5.3)
23-
INFO 2019-07-06 10:49:14 _log Authentication (publickey) successful!
1+
INFO 2019-07-10 17:19:44 _log Connected (version 2.0, client OpenSSH_5.3)
2+
INFO 2019-07-10 17:19:44 _log Authentication (publickey) successful!
3+
INFO 2019-07-10 17:19:52 _log Connected (version 2.0, client OpenSSH_5.3)
4+
INFO 2019-07-10 17:19:52 _log Authentication (password) successful!
5+
INFO 2019-07-10 17:19:53 _log [chan 0] Opened sftp connection (server version 3)
6+
INFO 2019-07-10 17:26:34 _log Connected (version 2.0, client OpenSSH_5.3)
7+
INFO 2019-07-10 17:26:34 _log Authentication (publickey) successful!
8+
INFO 2019-07-10 17:26:36 _log [chan 2] Opened sftp connection (server version 3)
9+
INFO 2019-07-10 17:26:38 _log [chan 2] sftp session closed.
10+
INFO 2019-07-10 17:26:45 _log Connected (version 2.0, client OpenSSH_5.3)
11+
INFO 2019-07-10 17:26:45 _log Authentication (publickey) failed.
12+
INFO 2019-07-10 17:26:46 _log Authentication (password) successful!
13+
INFO 2019-07-10 18:26:11 _log Connected (version 2.0, client OpenSSH_5.3)
14+
INFO 2019-07-10 18:26:11 _log Authentication (publickey) successful!
15+
INFO 2019-07-10 18:26:13 _log [chan 2] Opened sftp connection (server version 3)
16+
INFO 2019-07-10 18:26:15 _log [chan 2] sftp session closed.
17+
INFO 2019-07-10 19:38:02 _log Connected (version 2.0, client OpenSSH_5.3)
18+
INFO 2019-07-10 19:38:02 _log Authentication (publickey) successful!
19+
INFO 2019-07-10 19:38:04 _log [chan 2] Opened sftp connection (server version 3)
20+
INFO 2019-07-10 19:38:06 _log [chan 2] sftp session closed.
21+
INFO 2019-07-10 19:38:17 _log Connected (version 2.0, client OpenSSH_5.3)
22+
INFO 2019-07-10 19:38:17 _log Authentication (publickey) successful!
23+
INFO 2019-07-10 19:38:19 _log [chan 2] Opened sftp connection (server version 3)
24+
INFO 2019-07-10 19:38:21 _log [chan 2] sftp session closed.

task/views.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515

1616
@permission_required('task.add_ansiblemodulelog', raise_exception=True)
1717
def get_inventory_hosts(request):
18-
if request.method == 'POST':
19-
group_ids = request.POST.getlist('hostGroup')
20-
hosts = GenResource().gen_host_dict(group_ids)
21-
return JsonResponse({'code': 200, 'hosts': hosts})
18+
group_ids = request.GET.getlist('hostGroup')
19+
print(group_ids, type(group_ids))
20+
hosts = GenResource().gen_host_dict(group_ids)
21+
return JsonResponse({'code': 200, 'hosts': hosts})
2222

2323

2424
@permission_required('task.add_ansiblemodulelog', raise_exception=True)

templates/dbmanager/db_log.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ <h4 class="modal-title">执行结果</h4>
158158
<script>
159159
$(function () {
160160
table = $('#db-log').DataTable({
161-
'ordering': false,
161+
'order': [5, 'desc']
162162
});
163163

164164
//Date picker
@@ -172,7 +172,7 @@ <h4 class="modal-title">执行结果</h4>
172172
let button = $(event.relatedTarget); // Button that triggered the modal
173173
let sql_content = button.data('whatever'); // Extract info from data-* attributes
174174
let modal = $(this);
175-
modal.find('.modal-body').text(sql_content);
175+
modal.find('.modal-body').html('<pre style="border: none">' + sql_content + '</pre>');
176176
modal.scrollTop = modal.scrollHeight;
177177
});
178178

templates/task/run_module.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
} else {
104104
$.ajax({
105105
url: '{% url 'get_inventory_hosts' %}',
106-
type: 'POST',
106+
type: 'GET',
107107
data: hostGroups.serialize(),
108108
success: function (res) {
109109
let hosts = res.hosts;
@@ -191,4 +191,4 @@
191191
}
192192
}
193193
</script>
194-
{% endblock %}
194+
{% endblock %}

utils/middleware.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
from django.utils.deprecation import MiddlewareMixin
99

1010
pass_paths = ['/login/', '/logout/', '/lock_screen/', '/create_code/'] # 指定哪些路径不保存所有用户列表的session
11-
pass_keys = ['log', 'lock_screen', 'wiki', 'post', 'role_detail'] # 指定哪些路径的非get请求不进行记录
11+
pass_keys = ['log', 'lock_screen', 'wiki', 'post', 'role_detail', 'assets/ssh', 'fort/terminal',
12+
'proj_list'] # 指定哪些路径的非get请求不进行记录
1213

1314

1415
class UserLoginMiddleware(MiddlewareMixin):
@@ -25,8 +26,17 @@ def process_request(request):
2526

2627

2728
class RecordMiddleware(MiddlewareMixin):
28-
@staticmethod
29-
def process_response(request, response):
29+
def __init__(self, *args, **kwargs):
30+
super(RecordMiddleware, self).__init__(*args, **kwargs)
31+
self.body = None
32+
33+
def process_request(self, request):
34+
if request.POST.dict():
35+
self.body = request.POST.dict()
36+
else:
37+
self.body = getattr(request, '_body', request.body)
38+
39+
def process_response(self, request, response):
3040
if request.method == 'GET' and request.path not in pass_paths and response.status_code == 200:
3141
user_infos = []
3242
users = UserProfile.objects.all()
@@ -41,10 +51,10 @@ def process_response(request, response):
4151
request.session['user_infos'] = user_infos
4252

4353
elif request.method != 'GET' and all([key not in request.path for key in pass_keys]):
44-
if request.POST.dict():
45-
data = request.POST.dict()
46-
elif request.body:
47-
data = json.loads(request.body.decode('utf-8'))
54+
if isinstance(self.body, dict):
55+
data = self.body
56+
elif isinstance(self.body, bytes) and len(self.body) != 0:
57+
data = json.loads(self.body.decode('utf-8'))
4858
else:
4959
data = None
5060

@@ -61,3 +71,4 @@ def process_response(request, response):
6171
'ip': request.META['REMOTE_ADDR'], 'datetime': datetime.datetime.now()}
6272
mongo.insert_one(request_data)
6373
return response
74+

0 commit comments

Comments
 (0)