From afbfe2ad7df10b3d90555dee1089030b6bfd25b5 Mon Sep 17 00:00:00 2001 From: "Jose M. Guisado" Date: Thu, 11 Mar 2021 10:19:45 +0100 Subject: #1032 Use create_schedule_now for immediate logged commands Avoid stale commands from being executed when given a time schedule that include past dates, ie. when they are manually scheduled. Use create_schedule_now for immediate execution commands (no manual schedule) that the user want to be logged (by automatic scheduling to the right moment they are processed). Fixes #1032 (https://opengnsys.es/trac/ticket/1032#comment:2) --- .../comandos/gestores/gestor_Comandos.php | 2 +- admin/WebConsole/includes/restfunctions.php | 24 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) (limited to 'admin') diff --git a/admin/WebConsole/comandos/gestores/gestor_Comandos.php b/admin/WebConsole/comandos/gestores/gestor_Comandos.php index f8b283d4..e6ba4ef7 100644 --- a/admin/WebConsole/comandos/gestores/gestor_Comandos.php +++ b/admin/WebConsole/comandos/gestores/gestor_Comandos.php @@ -257,7 +257,7 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){ if($sw_ejya=='on'){ if ($sw_seguimiento == 1) { $when = now_params(); - $resul = create_schedule(strval($sesion), + $resul = create_schedule_now(strval($sesion), $EJECUCION_PROCEDIMIENTO, "", $when['map_year'], $when['map_month'], diff --git a/admin/WebConsole/includes/restfunctions.php b/admin/WebConsole/includes/restfunctions.php index b0ae084e..e7b1e1e6 100644 --- a/admin/WebConsole/includes/restfunctions.php +++ b/admin/WebConsole/includes/restfunctions.php @@ -619,6 +619,30 @@ function create_schedule($task_id, $type, $name, $years, $months, $weeks, return common_request(OG_REST_CMD_CREATE_SCHEDULE, POST, $data); } +function create_schedule_now($task_id, $type, $name) { + $type_string; + + switch ($type) { + case TYPE_COMMAND: + $type_string = OG_SCHEDULE_COMMAND; + break; + case TYPE_PROCEDURE: + $type_string = OG_SCHEDULE_PROCEDURE; + break; + case TYPE_TASK: + default: + $type_string = OG_SCHEDULE_TASK; + } + + $data = array ( + OG_REST_PARAM_TASK => $task_id, + OG_REST_PARAM_TYPE => $type_string, + OG_REST_PARAM_NAME => $name, + ); + + return common_request(OG_REST_CMD_CREATE_SCHEDULE, POST, $data); +} + function delete_schedule($schedule_id) { $data = array ( -- cgit v1.2.3-18-g5258