event deletion

This commit is contained in:
fbsanchez 2019-06-13 16:28:26 +02:00
parent 029d3b073f
commit 0df48675f3
2 changed files with 79 additions and 6 deletions

View File

@ -184,6 +184,78 @@ function events_get_column_names($fields)
}
/**
* Validates all events matching target filter.
*
* @param integer $id_evento Master event.
* @param array $filter Optional. Filter options.
* @param boolean $history Apply on historical table.
*
* @return integer Events validated or false if error.
*/
function events_delete($id_evento, $filter=null, $history=false)
{
if (!isset($id_evento) || $id_evento <= 0) {
return false;
}
if (!isset($filter) || !is_array($filter)) {
$filter = ['group_rep' => 0];
}
$table = events_get_events_table(is_metaconsole(), $history);
switch ($filter['group_rep']) {
case '0':
case '2':
default:
// No groups option direct update.
$delete_sql = sprintf(
'DELETE FROM %s
WHERE id_evento = %d',
$table,
$id_evento
);
break;
case '1':
// Group by events.
$sql = events_get_all(
['te.*'],
$filter,
// Offset.
null,
// Limit.
null,
// Order.
null,
// Sort_field.
null,
// Historical table.
$history,
// Return_sql.
true
);
$delete_sql = sprintf(
'DELETE tu FROM %s tu INNER JOIN ( %s ) tf
ON tu.estado = tf.estado
AND tu.evento = tf.evento
AND tu.id_agente = tf.id_agente
AND tu.id_agentmodule = tf.id_agentmodule
AND tf.max_id_evento = %d',
$table,
$sql,
$id_evento
);
break;
}
error_log($delete_sql);
return db_process_sql($delete_sql);
}
/**
* Validates all events matching target filter.
*

View File

@ -686,10 +686,12 @@ function update_event(table, id_evento, type, row) {
page: "include/ajax/events",
validate_event: type.validate_event,
in_process_event: type.in_process_event,
delete_event: type.delete_event,
id_evento: id_evento,
filter: values
},
success: function() {
success: function(data) {
console.log("[" + data + "]");
var t2 = new Date();
var diff_g = t2.getTime() - t1.getTime();
var diff_s = diff_g / 1000;
@ -711,16 +713,15 @@ function update_event(table, id_evento, type, row) {
function validate_event(table, id_evento, row) {
row.firstChild.src = "http://localhost/pandora_console/images/spinner.gif";
return update_event(table, id_evento, { validate_event: 1 }, row, false);
return update_event(table, id_evento, { validate_event: 1 }, row);
}
function in_process_event(table, id_evento, row) {
row.firstChild.src = "http://localhost/pandora_console/images/spinner.gif";
return update_event(table, id_evento, { in_process_event: 1 }, row, false);
return update_event(table, id_evento, { in_process_event: 1 }, row);
}
function delete_event(table, id_evento, row) {
$(row)
.closest("tr")
.remove();
row.firstChild.src = "http://localhost/pandora_console/images/spinner.gif";
return update_event(table, id_evento, { delete_event: 1 }, row);
}