FIX Separation of date_valid and date approval for leaves

This commit is contained in:
Laurent Destailleur 2022-09-22 19:10:20 +02:00
parent de210e62ff
commit dc03355315
3 changed files with 13 additions and 15 deletions

View File

@ -439,7 +439,7 @@ function dol_print_object_info($object, $usetable = 0)
} }
// Date approve // Date approve
if (!empty($object->date_approve)) { if (!empty($object->date_approve) || !empty($object->date_approval)) {
if ($usetable) { if ($usetable) {
print '<tr><td class="titlefield">'; print '<tr><td class="titlefield">';
} }
@ -449,7 +449,7 @@ function dol_print_object_info($object, $usetable = 0)
} else { } else {
print ': '; print ': ';
} }
print dol_print_date($object->date_approve, 'dayhour', 'tzserver'); print dol_print_date($object->date_approve ? $object->date_approve : $object->date_approval, 'dayhour', 'tzserver');
if ($deltadateforuser) { if ($deltadateforuser) {
print ' <span class="opacitymedium">'.$langs->trans("CurrentHour").'</span> &nbsp; / &nbsp; '.dol_print_date($object->date_approve, "dayhour", 'tzuserrel').' &nbsp;<span class="opacitymedium">'.$langs->trans("ClientHour").'</span>'; print ' <span class="opacitymedium">'.$langs->trans("CurrentHour").'</span> &nbsp; / &nbsp; '.dol_print_date($object->date_approve, "dayhour", 'tzuserrel').' &nbsp;<span class="opacitymedium">'.$langs->trans("ClientHour").'</span>';
} }

View File

@ -439,7 +439,7 @@ if (empty($reshook)) {
} }
} }
// Action validate (+ send email for approval) // Action validate (+ send email for approval to the expected approver)
if ($action == 'confirm_send') { if ($action == 'confirm_send') {
$object->fetch($id); $object->fetch($id);
@ -1408,7 +1408,7 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') {
if ($object->statut == Holiday::STATUS_APPROVED || $object->statut == Holiday::STATUS_CANCELED) { if ($object->statut == Holiday::STATUS_APPROVED || $object->statut == Holiday::STATUS_CANCELED) {
print '<tr>'; print '<tr>';
print '<td>'.$langs->trans('DateValidCP').'</td>'; print '<td>'.$langs->trans('DateValidCP').'</td>';
print '<td>'.dol_print_date($object->date_valid, 'dayhour', 'tzuser').'</td>'; // warning: date_valid is approval date on holiday module print '<td>'.dol_print_date($object->date_approval, 'dayhour', 'tzuser').'</td>'; // warning: date_valid is approval date on holiday module
print '</tr>'; print '</tr>';
} }
if ($object->statut == Holiday::STATUS_CANCELED) { if ($object->statut == Holiday::STATUS_CANCELED) {

View File

@ -421,6 +421,7 @@ class Holiday extends CommonObject
$this->fk_validator = $obj->fk_validator; $this->fk_validator = $obj->fk_validator;
$this->date_valid = $this->db->jdate($obj->date_valid); $this->date_valid = $this->db->jdate($obj->date_valid);
$this->fk_user_valid = $obj->fk_user_valid; $this->fk_user_valid = $obj->fk_user_valid;
$this->user_validation_id = $obj->fk_user_valid;
$this->date_approval = $this->db->jdate($obj->date_approval); $this->date_approval = $this->db->jdate($obj->date_approval);
$this->fk_user_approve = $obj->fk_user_approve; $this->fk_user_approve = $obj->fk_user_approve;
$this->date_refuse = $this->db->jdate($obj->date_refuse); $this->date_refuse = $this->db->jdate($obj->date_refuse);
@ -743,9 +744,12 @@ class Holiday extends CommonObject
// Update status // Update status
$sql = "UPDATE ".MAIN_DB_PREFIX."holiday SET"; $sql = "UPDATE ".MAIN_DB_PREFIX."holiday SET";
$sql .= " fk_user_valid = ".((int) $user->id).",";
$sql .= " date_valid = '".$this->db->idate(dol_now())."',";
if (!empty($this->statut) && is_numeric($this->statut)) { if (!empty($this->statut) && is_numeric($this->statut)) {
$sql .= " statut = ".((int) $this->statut).","; $sql .= " statut = ".((int) $this->statut).",";
} else { } else {
$this->error = 'Property status must be a numeric value';
$error++; $error++;
} }
$sql .= " ref = '".$this->db->escape($num)."'"; $sql .= " ref = '".$this->db->escape($num)."'";
@ -868,7 +872,7 @@ class Holiday extends CommonObject
$error++; $error++;
} }
if (!empty($this->fk_validator)) { if (!empty($this->fk_validator)) {
$sql .= " fk_validator = '".$this->db->escape($this->fk_validator)."',"; $sql .= " fk_validator = ".((int) $this->fk_validator).",";
} else { } else {
$error++; $error++;
} }
@ -878,7 +882,7 @@ class Holiday extends CommonObject
$sql .= " date_valid = NULL,"; $sql .= " date_valid = NULL,";
} }
if (!empty($this->fk_user_valid)) { if (!empty($this->fk_user_valid)) {
$sql .= " fk_user_valid = '".$this->db->escape($this->fk_user_valid)."',"; $sql .= " fk_user_valid = ".((int) $this->fk_user_valid).",";
} else { } else {
$sql .= " fk_user_valid = NULL,"; $sql .= " fk_user_valid = NULL,";
} }
@ -888,7 +892,7 @@ class Holiday extends CommonObject
$sql .= " date_approval = NULL,"; $sql .= " date_approval = NULL,";
} }
if (!empty($this->fk_user_approve)) { if (!empty($this->fk_user_approve)) {
$sql .= " fk_user_approve = '".$this->db->escape($this->fk_user_approve)."',"; $sql .= " fk_user_approve = ".((int) $this->fk_user_approve).",";
} else { } else {
$sql .= " fk_user_approve = NULL,"; $sql .= " fk_user_approve = NULL,";
} }
@ -898,7 +902,7 @@ class Holiday extends CommonObject
$sql .= " date_refuse = NULL,"; $sql .= " date_refuse = NULL,";
} }
if (!empty($this->fk_user_refuse)) { if (!empty($this->fk_user_refuse)) {
$sql .= " fk_user_refuse = '".$this->db->escape($this->fk_user_refuse)."',"; $sql .= " fk_user_refuse = ".((int) $this->fk_user_refuse).",";
} else { } else {
$sql .= " fk_user_refuse = NULL,"; $sql .= " fk_user_refuse = NULL,";
} }
@ -908,7 +912,7 @@ class Holiday extends CommonObject
$sql .= " date_cancel = NULL,"; $sql .= " date_cancel = NULL,";
} }
if (!empty($this->fk_user_cancel)) { if (!empty($this->fk_user_cancel)) {
$sql .= " fk_user_cancel = '".$this->db->escape($this->fk_user_cancel)."',"; $sql .= " fk_user_cancel = ".((int) $this->fk_user_cancel).",";
} else { } else {
$sql .= " fk_user_cancel = NULL,"; $sql .= " fk_user_cancel = NULL,";
} }
@ -2289,12 +2293,6 @@ class Holiday extends CommonObject
$auser->fetch($obj->fk_user_approval_done); $auser->fetch($obj->fk_user_approval_done);
$this->user_approve = $auser; $this->user_approve = $auser;
} }
} else {
if (!empty($obj->fk_user_approval_expected)) {
$auser = new User($this->db);
$auser->fetch($obj->fk_user_approval_expected);
$this->user_approve = $auser;
}
} }
} }
$this->db->free($resql); $this->db->free($resql);