267 lines
8.5 KiB
PHTML
267 lines
8.5 KiB
PHTML
<%inherit file="dashboard.phtml"/>
|
|
<%block name="content">
|
|
<div id="principal_container">
|
|
% if task_path=='':
|
|
<p><a href="${url_for('.pastafari2_add_server')}">${lang('pastafari2', 'add_server', 'Add server')}</a>
|
|
% else:
|
|
<p><strong>${description_task}</strong></p>
|
|
<p>${links|n}</p>
|
|
% endif
|
|
<p>${lang('pastafari2', '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:
|
|
<%
|
|
|
|
checked=''
|
|
|
|
if script[1][1]==task_path:
|
|
checked='selected'
|
|
|
|
%>
|
|
|
|
<option value="${script[1][1]}" ${checked}>
|
|
${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>
|
|
% if task_path=='':
|
|
<select name="task" id="task">
|
|
<option value="">Select a task...</option>
|
|
${show_tasks('tasks', '')}
|
|
</select>
|
|
% else:
|
|
<input type="hidden" name="task" id="task" value="${task_path}" />
|
|
<input type="hidden" name="${details_task[1]}" id="${details_task[1].replace('/', '_')}_form" value="${str(details_task[3])}">
|
|
% endif
|
|
${"\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')}" />
|
|
% if task_path=='':
|
|
<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')}" />
|
|
% endif
|
|
<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')}" />
|
|
% if task_path=='':
|
|
<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')}" />
|
|
% endif
|
|
<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>
|
|
% if task_path!='':
|
|
<p>${links|n}</p>
|
|
% endif
|
|
</%block>
|
|
<%block name="jscript_block">
|
|
<script language="Javascript" src="${make_media_url('js/jsutils/posting2.js', 'pastafari2')}"></script>
|
|
<script language="Javascript" src="${make_media_url('js/jsutils/ajax_list.js', 'pastafari2')}"></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>
|