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
if (!empty($object->date_approve)) {
if (!empty($object->date_approve) || !empty($object->date_approval)) {
if ($usetable) {
print '<tr><td class="titlefield">';
}
@ -449,7 +449,7 @@ function dol_print_object_info($object, $usetable = 0)
} else {
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) {
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') {
$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) {
print '<tr>';
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>';
}
if ($object->statut == Holiday::STATUS_CANCELED) {

View File

@ -421,6 +421,7 @@ class Holiday extends CommonObject
$this->fk_validator = $obj->fk_validator;
$this->date_valid = $this->db->jdate($obj->date_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->fk_user_approve = $obj->fk_user_approve;
$this->date_refuse = $this->db->jdate($obj->date_refuse);
@ -743,9 +744,12 @@ class Holiday extends CommonObject
// Update status
$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)) {
$sql .= " statut = ".((int) $this->statut).",";
} else {
$this->error = 'Property status must be a numeric value';
$error++;
}
$sql .= " ref = '".$this->db->escape($num)."'";
@ -868,7 +872,7 @@ class Holiday extends CommonObject
$error++;
}
if (!empty($this->fk_validator)) {
$sql .= " fk_validator = '".$this->db->escape($this->fk_validator)."',";
$sql .= " fk_validator = ".((int) $this->fk_validator).",";
} else {
$error++;
}
@ -878,7 +882,7 @@ class Holiday extends CommonObject
$sql .= " date_valid = NULL,";
}
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 {
$sql .= " fk_user_valid = NULL,";
}
@ -888,7 +892,7 @@ class Holiday extends CommonObject
$sql .= " date_approval = NULL,";
}
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 {
$sql .= " fk_user_approve = NULL,";
}
@ -898,7 +902,7 @@ class Holiday extends CommonObject
$sql .= " date_refuse = NULL,";
}
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 {
$sql .= " fk_user_refuse = NULL,";
}
@ -908,7 +912,7 @@ class Holiday extends CommonObject
$sql .= " date_cancel = NULL,";
}
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 {
$sql .= " fk_user_cancel = NULL,";
}
@ -2289,12 +2293,6 @@ class Holiday extends CommonObject
$auser->fetch($obj->fk_user_approval_done);
$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);