pastafari2/templates/admin/dash_pastafari.phtml

241 lines
7.8 KiB
PHTML

<%inherit file="dashboard.phtml"/>
<%block name="content">
<div id="principal_container">
<p><a href="${url_for('.pastafari2_add_server')}">${lang('pastafari2', 'add_server', 'Add server')}</a>
<p>${lang('monit', 'choose_group', 'Choose group')}:
<select name="group_id" id="group_id">
</select>
</p>
<%
form_set=[]
%>
<%def name="show_tasks(task_folder, separator)">
<!--<ul class="superul">-->
% if task_folder in select_task:
% for task,value in select_task[task_folder].items():
<optgroup label="${separator}${value[0][0]}">
% if len(value)>=2:
% for script in enumerate(value, 1):
%if script[1][2]==1:
<option value="${script[1][1]}">
${script[1][0].split(',')[0].strip()}
<%
form_set.append('<input type="hidden" name="'+script[1][1]+'" id="'+script[1][1].replace('/', '_')+'_form" value="'+str(script[1][3])+'">')
%>
</option>
% endif
% endfor
% endif
</optgroup>
% if task in select_task:
${show_tasks(task, separator+'--')}
%endif
% endfor
% endif
<!--</ul>-->
</%def>
<p>
<select name="task" id="task">
<option value="">Select a task...</option>
${show_tasks('tasks', '')}
</select>
${"\n".join(form_set)|n}
</p>
<input type="button" name="select_all" class="select_all" value="${lang('pastafari2', 'select_all_servers', 'Select all servers')}" />
<input type="button" name="deselect_all" class="deselect_all" value="${lang('pastafari2', 'deselect_all_servers', 'Deselect all servers')}" />
<input type="button" name="update_selected_servers" class="send_task_server update_selected_servers button_blue" value="${lang('pastafari2', 'update_selected_servers', 'Update selected servers')}" />
<input type="button" name="make_task_selected_servers" class="send_task_server make_task_selected_servers button_blue" value="${lang('pastafari2', 'make_task_selected_servers', 'Make task in selected servers')}" />
<div id="table_servers">
</div>
<input type="button" name="select_all" class="select_all" value="${lang('pastafari2', 'select_all_servers', 'Select all servers')}" />
<input type="button" name="deselect_all" class="deselect_all" value="${lang('pastafari2', 'deselect_all_servers', 'Deselect all servers')}" />
<input type="button" name="update_selected_servers" class="send_task_server update_selected_servers button_blue" value="${lang('pastafari2', 'update_selected_servers', 'Update selected servers')}" />
<input type="button" name="make_task_selected_servers" class="send_task_server make_task_selected_servers button_blue" value="${lang('pastafari2', 'make_task_selected_servers', 'Make task in selected servers')}" />
</div>
</%block>
<%block name="jscript_block">
<script language="Javascript" src="${make_media_url('js/jsutils/posting2.js', 'monit')}"></script>
<script language="Javascript" src="${make_media_url('js/jsutils/ajax_list.js', 'monit')}"></script>
<script>
$(document).ready(function () {
options={'url': "${url_for('.get_servers_task')}", extra_data: {'group_code': $('#group_servers').val()}};
alist=$('#table_servers').ajaxList('table_list', options);
function update_groups() {
$.ajax({
url: "${url_for('.get_groups_task')}",
data: {},
success: function (data) {
$('#group_id').html('<option value="">All groups</option>');
for(i in data) {
$('#group_id').append('<option value="'+data[i]['id']+'">'+data[i]['group']+'</option>');
}
},
dataType: 'json'
});
}
update_groups();
$('#group_id').click(function () {
options={'url': "${url_for('.get_servers_task')}", extra_data: {'group_id': $('#group_id').val()}};
alist.updateAjax('table_list', options, 0);
});
$('.select_all').click( function () {
$('.server_id').prop('checked', true);
});
$('.deselect_all').click( function () {
$('.server_id').prop('checked', false);
});
$('.send_task_server').click( function () {
if($('.server_id:checked').length==0) {
alert("${lang('pastafari2', 'no_servers_selected', 'No servers selected')}");
return false;
}
else {
server_ids=[];
$('.server_id:checked').each( function () {
server_ids.push($(this).val());
});
url_task="${url_for('.pastafari2_update_task')}";
task='';
if($(this).hasClass('make_task_selected_servers')) {
url_task="${url_for('.pastafari2_make_task')}";
task=$('#task').val();
if(task=='') {
alert("${lang('pastafari2', 'no_task_selected', 'No task selected')}");
return false;
}
else {
//Make a normal submit to url_task for make_task form
//modules/pastafari2/tasks/servers/databases/mysql/standalone_mysql.py
//alert($('#modules_pastafari2_tasks_servers_databases_mysql_standalone_mysql.py_form').val());
//alert(document.getElementById(task.replace(/\//g, '_')+'_form').value);
//if($('#'+task.replace(/\//g, '_')+'_form').val()==1) {
if(document.getElementById(task.replace(/\//g, '_')+'_form').value==1) {
var form=$("<form/>", { 'action': url_task, 'method': 'POST'});
form.append( $('<input>', {'type': 'hidden', 'name': 'ids', 'value': JSON.stringify(server_ids)}) )
form.append( $('<input>', {'type': 'hidden', 'name': 'task', 'value': task}) )
$("body").append(form);
form.submit();
return false;
}
}
}
$('#layer_loading').show();
$.ajax({
url:url_task,
data: {'ids': JSON.stringify(server_ids), 'task': task},
success: function (data) {
if(!data.error) {
//Redirect to multiprogress
location.href="${url_for('.pastafari2_multiprogress')}?task_id="+data.task_id;
}
else {
alert(data.txt_error);
}
$('#layer_loading').hide();
},
error: function (data) {
$('#layer_loading').hide();
alert('Error: '+data.status+' '+data.statusText);
},
type: 'POST',
dataType: 'json',
});
}
});
});
/*$('.category_server').click(function () {
if($(this).parent().children('.sonul').css('display')=='none')
{
$(this).parent().children('.sonul').show();
}
else
{
$(this).parent().children('.sonul').hide();
}
return false;
});*/
</script>
</%block>