mirror of https://github.com/jumpserver/jumpserver
[Update] 修复小细节 (#2111)
* [Update] 命令/录像存储,禁用default删除按钮 * [Update] 修复 _asset_list_modal 取消资产全选时不能映射到资产选择框的bugpull/2091/head
parent
0b0fdbfc82
commit
8f479e364b
|
@ -32,9 +32,7 @@ $(document).ready(function () {
|
||||||
})
|
})
|
||||||
.on('click', '#btn_asset_modal_confirm', function () {
|
.on('click', '#btn_asset_modal_confirm', function () {
|
||||||
var assets = asset_table2.selected;
|
var assets = asset_table2.selected;
|
||||||
$.each(assets, function (id, data) {
|
$('.select2').val(assets).trigger('change');
|
||||||
$('.select2').val(assets).trigger('change');
|
|
||||||
});
|
|
||||||
$("#asset_list_modal").modal('hide');
|
$("#asset_list_modal").modal('hide');
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
@ -35,12 +35,7 @@ $(document).ready(function () {
|
||||||
})
|
})
|
||||||
.on('click', '#btn_asset_modal_confirm', function () {
|
.on('click', '#btn_asset_modal_confirm', function () {
|
||||||
var assets = asset_table2.selected;
|
var assets = asset_table2.selected;
|
||||||
$('.select2 option:selected').each(function (i, data) {
|
$('.select2').val(assets).trigger('change');
|
||||||
assets.push($(data).attr('value'))
|
|
||||||
});
|
|
||||||
$.each(assets, function (id, data) {
|
|
||||||
$('.select2').val(assets).trigger('change');
|
|
||||||
});
|
|
||||||
$("#asset_list_modal").modal('hide');
|
$("#asset_list_modal").modal('hide');
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -64,6 +64,11 @@ class Setting(models.Model):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def save_storage(cls, name, data):
|
def save_storage(cls, name, data):
|
||||||
|
"""
|
||||||
|
:param name: TERMINAL_REPLAY_STORAGE or TERMINAL_COMMAND_STORAGE
|
||||||
|
:param data: {}
|
||||||
|
:return: Setting object
|
||||||
|
"""
|
||||||
obj = cls.objects.filter(name=name).first()
|
obj = cls.objects.filter(name=name).first()
|
||||||
if not obj:
|
if not obj:
|
||||||
obj = cls()
|
obj = cls()
|
||||||
|
@ -79,6 +84,11 @@ class Setting(models.Model):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def delete_storage(cls, name, storage_name):
|
def delete_storage(cls, name, storage_name):
|
||||||
|
"""
|
||||||
|
:param name: TERMINAL_REPLAY_STORAGE or TERMINAL_COMMAND_STORAGE
|
||||||
|
:param storage_name: ""
|
||||||
|
:return: bool
|
||||||
|
"""
|
||||||
obj = cls.objects.filter(name=name).first()
|
obj = cls.objects.filter(name=name).first()
|
||||||
if not obj:
|
if not obj:
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ name }}</td>
|
<td>{{ name }}</td>
|
||||||
<td>{{ setting.TYPE }}</td>
|
<td>{{ setting.TYPE }}</td>
|
||||||
<td><a class="btn btn-xs btn-danger m-l-xs btn-del-command" data-name="{{ name }}">{% trans 'Delete' %}</a></td>
|
<td><a class="btn btn-xs btn-danger m-l-xs btn-del-command" {% if setting.TYPE == 'server' and name == 'default' %} disabled {% endif %} data-name="{{ name }}">{% trans 'Delete' %}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ name }}</td>
|
<td>{{ name }}</td>
|
||||||
<td>{{ setting.TYPE }}</td>
|
<td>{{ setting.TYPE }}</td>
|
||||||
<td><a class="btn btn-xs btn-danger m-l-xs btn-del-replay" data-name="{{ name }}">{% trans 'Delete' %}</a></td>
|
<td><a class="btn btn-xs btn-danger m-l-xs btn-del-replay" {% if setting.TYPE == 'server' and name == 'default' %} disabled {% endif %} data-name="{{ name }}">{% trans 'Delete' %}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
@ -112,12 +112,9 @@ $(document).ready(function () {
|
||||||
})
|
})
|
||||||
.on('click', '#btn_asset_modal_confirm', function () {
|
.on('click', '#btn_asset_modal_confirm', function () {
|
||||||
var assets = asset_table2.selected;
|
var assets = asset_table2.selected;
|
||||||
$('.select2 option:selected').each(function (i, data) {
|
|
||||||
assets.push($(data).attr('value'))
|
$('.select2').val(assets).trigger('change');
|
||||||
});
|
|
||||||
$.each(assets, function (id, data) {
|
|
||||||
$('.select2').val(assets).trigger('change');
|
|
||||||
});
|
|
||||||
$("#asset_list_modal").modal('hide');
|
$("#asset_list_modal").modal('hide');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -535,7 +535,7 @@ jumpserver.initServerSideDataTable = function (options) {
|
||||||
if (type === 'row') {
|
if (type === 'row') {
|
||||||
var rows = table.rows(indexes).data();
|
var rows = table.rows(indexes).data();
|
||||||
$.each(rows, function (id, row) {
|
$.each(rows, function (id, row) {
|
||||||
if (row.id){
|
if (row.id && $.inArray(row.id, table.selected) === -1){
|
||||||
table.selected.push(row.id)
|
table.selected.push(row.id)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue