mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-05 17:30:30 +00:00
Bugfix (#2506)
* [Update] 增加清理celery日志 * [Update] 修复两周前会话命令数量系那是问题 * [Update] 修复两周前会话命令数量系那是问题 * [Update] 修改结构 * [Update] 添加datatable失败的日志 * [Update] 转换配置文件格式 * [Update] 添加traceback
This commit is contained in:
@@ -555,6 +555,17 @@ jumpserver.initServerSideDataTable = function (options) {
|
||||
processing: true,
|
||||
ajax: {
|
||||
url: options.ajax_url ,
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
var msg = gettext("Unknown error occur");
|
||||
if (jqXHR.responseJSON) {
|
||||
if (jqXHR.responseJSON.error) {
|
||||
msg = jqXHR.responseJSON.error
|
||||
} else if (jqXHR.responseJSON.msg) {
|
||||
msg = jqXHR.responseJSON.msg
|
||||
}
|
||||
}
|
||||
alert(msg)
|
||||
},
|
||||
data: function (data) {
|
||||
delete data.columns;
|
||||
if (data.length !== null){
|
||||
|
@@ -1,154 +0,0 @@
|
||||
/**
|
||||
* Created by liuzheng on 3/3/16.
|
||||
*/
|
||||
var rowHeight = 1;
|
||||
var colWidth = 1;
|
||||
function WSSHClient() {
|
||||
}
|
||||
WSSHClient.prototype._generateEndpoint = function (options) {
|
||||
console.log(options);
|
||||
if (window.location.protocol == 'https:') {
|
||||
var protocol = 'wss://';
|
||||
} else {
|
||||
var protocol = 'ws://';
|
||||
}
|
||||
|
||||
var endpoint = protocol + document.URL.match(RegExp('//(.*?)/'))[1] + '/ws/applications' + document.URL.match(/(\?.*)/);
|
||||
return endpoint;
|
||||
};
|
||||
WSSHClient.prototype.connect = function (options) {
|
||||
var endpoint = this._generateEndpoint(options);
|
||||
|
||||
if (window.WebSocket) {
|
||||
this._connection = new WebSocket(endpoint);
|
||||
}
|
||||
else if (window.MozWebSocket) {
|
||||
this._connection = MozWebSocket(endpoint);
|
||||
}
|
||||
else {
|
||||
options.onError('WebSocket Not Supported');
|
||||
return;
|
||||
}
|
||||
|
||||
this._connection.onopen = function () {
|
||||
options.onConnect();
|
||||
};
|
||||
|
||||
this._connection.onmessage = function (evt) {
|
||||
try {
|
||||
options.onData(evt.data);
|
||||
} catch (e) {
|
||||
var data = JSON.parse(evt.data.toString());
|
||||
options.onError(data.error);
|
||||
}
|
||||
};
|
||||
|
||||
this._connection.onclose = function (evt) {
|
||||
options.onClose();
|
||||
};
|
||||
};
|
||||
|
||||
WSSHClient.prototype.send = function (data) {
|
||||
this._connection.send(JSON.stringify({'data': data}));
|
||||
};
|
||||
|
||||
function openTerminal(options) {
|
||||
var client = new WSSHClient();
|
||||
var rowHeight, colWidth;
|
||||
try {
|
||||
rowHeight = localStorage.getItem('term-row');
|
||||
colWidth = localStorage.getItem('term-col');
|
||||
} catch (err) {
|
||||
rowHeight = 35;
|
||||
colWidth = 100
|
||||
}
|
||||
if (rowHeight) {
|
||||
} else {
|
||||
rowHeight = 35
|
||||
}
|
||||
if (colWidth) {
|
||||
} else {
|
||||
colWidth = 100
|
||||
}
|
||||
|
||||
var term = new Terminal({
|
||||
rows: rowHeight,
|
||||
cols: colWidth,
|
||||
useStyle: true,
|
||||
screenKeys: true
|
||||
});
|
||||
term.open();
|
||||
term.on('data', function (data) {
|
||||
client.send(data)
|
||||
});
|
||||
$('.applications').detach().appendTo('#term');
|
||||
//term.resize(colWidth, rowHeight);
|
||||
term.write('Connecting...');
|
||||
client.connect($.extend(options, {
|
||||
onError: function (error) {
|
||||
term.write('Error: ' + error + '\r\n');
|
||||
},
|
||||
onConnect: function () {
|
||||
// Erase our connecting message
|
||||
client.send({'resize': {'rows': rowHeight, 'cols': colWidth}});
|
||||
term.write('\r');
|
||||
},
|
||||
onClose: function () {
|
||||
term.write('Connection Reset By Peer');
|
||||
},
|
||||
onData: function (data) {
|
||||
term.write(data);
|
||||
}
|
||||
}));
|
||||
//rowHeight = 0.0 + 1.00 * $('.applications').height() / 24;
|
||||
//colWidth = 0.0 + 1.00 * $('.applications').width() / 80;
|
||||
return {'term': term, 'client': client};
|
||||
}
|
||||
|
||||
//function resize() {
|
||||
// $('.applications').css('width', window.innerWidth - 25);
|
||||
// console.log(window.innerWidth);
|
||||
// console.log(window.innerWidth - 10);
|
||||
// var rows = Math.floor(window.innerHeight / rowHeight) - 2;
|
||||
// var cols = Math.floor(window.innerWidth / colWidth) - 1;
|
||||
//
|
||||
// return {rows: rows, cols: cols};
|
||||
//}
|
||||
|
||||
$(document).ready(function () {
|
||||
var options = {};
|
||||
|
||||
$('#ssh').show();
|
||||
var term_client = openTerminal(options);
|
||||
console.log(rowHeight);
|
||||
// by liuzheng712 because it will bring record bug
|
||||
//window.onresize = function () {
|
||||
// var geom = resize();
|
||||
// console.log(geom);
|
||||
// term_client.term.resize(geom.cols, geom.rows);
|
||||
// term_client.client.send({'resize': {'rows': geom.rows, 'cols': geom.cols}});
|
||||
// $('#ssh').show();
|
||||
//}
|
||||
try {
|
||||
$('#term-row')[0].value = localStorage.getItem('term-row');
|
||||
$('#term-col')[0].value = localStorage.getItem('term-col');
|
||||
} catch (err) {
|
||||
$('#term-row')[0].value = 35;
|
||||
$('#term-col')[0].value = 100;
|
||||
}
|
||||
$('#col-row').click(function () {
|
||||
var col = $('#term-col').val();
|
||||
var row = $('#term-row').val();
|
||||
localStorage.setItem('term-col', col);
|
||||
localStorage.setItem('term-row', row);
|
||||
term_client.term.resize(col, row);
|
||||
term_client.client.send({'resize': {'rows': row, 'cols': col}});
|
||||
$('#ssh').show();
|
||||
});
|
||||
$(".applications").mouseleave(function () {
|
||||
$(".termChangBar").slideDown();
|
||||
});
|
||||
$(".applications").mouseenter(function () {
|
||||
$(".termChangBar").slideUp();
|
||||
})
|
||||
});
|
@@ -1,89 +0,0 @@
|
||||
/*
|
||||
WSSH Javascript Client
|
||||
|
||||
Usage:
|
||||
|
||||
var client = new WSSHClient();
|
||||
|
||||
client.connect({
|
||||
// Connection and authentication parameters
|
||||
username: 'root',
|
||||
hostname: 'localhost',
|
||||
authentication_method: 'password', // can either be password or private_key
|
||||
password: 'secretpassword', // do not provide when using private_key
|
||||
key_passphrase: 'secretpassphrase', // *may* be provided if the private_key is encrypted
|
||||
|
||||
// Callbacks
|
||||
onError: function(error) {
|
||||
// Called upon an error
|
||||
console.error(error);
|
||||
},
|
||||
onConnect: function() {
|
||||
// Called after a successful connection to the server
|
||||
console.debug('Connected!');
|
||||
|
||||
client.send('ls\n'); // You can send data back to the server by using WSSHClient.send()
|
||||
},
|
||||
onClose: function() {
|
||||
// Called when the remote closes the connection
|
||||
console.debug('Connection Reset By Peer');
|
||||
},
|
||||
onData: function(data) {
|
||||
// Called when data is received from the server
|
||||
console.debug('Received: ' + data);
|
||||
}
|
||||
});
|
||||
|
||||
*/
|
||||
|
||||
function WSSHClient() {
|
||||
}
|
||||
|
||||
WSSHClient.prototype._generateEndpoint = function(options) {
|
||||
console.log(options);
|
||||
if (window.location.protocol == 'https:') {
|
||||
var protocol = 'wss://';
|
||||
} else {
|
||||
var protocol = 'ws://';
|
||||
}
|
||||
|
||||
var endpoint = protocol + window.location.host + ':8080' + '/applications';
|
||||
return endpoint;
|
||||
};
|
||||
|
||||
WSSHClient.prototype.connect = function(options) {
|
||||
var endpoint = this._generateEndpoint(options);
|
||||
|
||||
if (window.WebSocket) {
|
||||
this._connection = new WebSocket(endpoint);
|
||||
}
|
||||
else if (window.MozWebSocket) {
|
||||
this._connection = MozWebSocket(endpoint);
|
||||
}
|
||||
else {
|
||||
options.onError('WebSocket Not Supported');
|
||||
return ;
|
||||
}
|
||||
|
||||
this._connection.onopen = function() {
|
||||
options.onConnect();
|
||||
};
|
||||
|
||||
this._connection.onmessage = function (evt) {
|
||||
var data = JSON.parse(evt.data.toString());
|
||||
if (data.error !== undefined) {
|
||||
options.onError(data.error);
|
||||
}
|
||||
else {
|
||||
options.onData(data.data);
|
||||
}
|
||||
};
|
||||
|
||||
this._connection.onclose = function(evt) {
|
||||
options.onClose();
|
||||
};
|
||||
};
|
||||
|
||||
WSSHClient.prototype.send = function(data) {
|
||||
this._connection.send(JSON.stringify({'data': data}));
|
||||
};
|
Reference in New Issue
Block a user