feat: hide ticket validation button for HR ticket is older than 48 hours
This commit is contained in:
@ -714,7 +714,7 @@
|
||||
|
||||
from glpi_tickets
|
||||
|
||||
where id = ?' LIMIT 1";
|
||||
where id = ? LIMIT 1";
|
||||
|
||||
$stmt = $DB->prepare($query);
|
||||
|
||||
@ -1106,7 +1106,7 @@
|
||||
|
||||
|
||||
|
||||
// closing hr tickets after 1 day
|
||||
// closing hr tickets after 2 days
|
||||
function close_hr_tickets(){
|
||||
global $DB;
|
||||
$stmt = $DB->prepare("update glpi_tickets set status = 6 , closedate = now() where id in ( SELECT
|
||||
@ -1122,3 +1122,22 @@
|
||||
return $stmt->execute();
|
||||
}
|
||||
|
||||
function getMaxTicketValidationDateTime(DateTime $requisition_date): DateTime {
|
||||
$weekday = (int) $requisition_date->format('N'); // 1 (Mon) to 7 (Sun)
|
||||
|
||||
if ($weekday === 5) { // Friday
|
||||
$sunday = clone $requisition_date;
|
||||
$sunday->modify('+2 days')->setTime(0, 0);
|
||||
return $sunday->modify('+48 hours');
|
||||
} elseif ($weekday === 6) { // Saturday
|
||||
$sunday = clone $requisition_date;
|
||||
$sunday->modify('+1 day')->setTime(0, 0);
|
||||
return $sunday->modify('+48 hours');
|
||||
} elseif (in_array($weekday, [3, 4])) { // Wednesday or Thursday
|
||||
$result = clone $requisition_date;
|
||||
return $result->modify('+96 hours');
|
||||
} else {
|
||||
$result = clone $requisition_date;
|
||||
return $result->modify('+48 hours');
|
||||
}
|
||||
}
|
||||
|
||||
@ -7385,21 +7385,40 @@ abstract class CommonITILObject extends CommonDBTM {
|
||||
echo "</div>";
|
||||
}
|
||||
|
||||
//sophal block validation =>
|
||||
//clôturer la modification du validation (autorisation absence,entree .......) 48h aprees l envoi
|
||||
/*
|
||||
|
||||
if (strpos($item['type'], 'Validation') > 0 &&
|
||||
(isset($item_i['can_answer']) && $item_i['can_answer'])) {
|
||||
|
||||
$detail_ticket = get_detail_ticket($_GET['id']);
|
||||
$itilcategories_ids = array(15, 16 , 12, 38 , 36);
|
||||
$date_fin = date('Y-m-d H:i:s',strtotime('+48 hour',strtotime($detail_ticket['date'])));
|
||||
$courant_date = date('Y-m-d H:i:s');
|
||||
|
||||
if(in_array($detail_ticket['itilcategories_id'],$itilcategories_ids)){
|
||||
if($date_fin <= $courant_date){
|
||||
$item_i['can_answer'] = 0;
|
||||
$validateur_res = explode("=>", $item_i['content']);
|
||||
// sophal
|
||||
// prevent validators to update validations after 48 hours from tickets creation ( excluding weekends )
|
||||
$detail_ticket = get_detail_ticket($_GET['id']);
|
||||
$itilcategories_ids = array(15, 16 , 12, 38 , 36, 72);
|
||||
$requisition_date = new DateTime($detail_ticket['requisition_date']);
|
||||
$max_date = getMaxTicketValidationDateTime($requisition_date);
|
||||
|
||||
$courant_date = new DateTime(); // current datetime
|
||||
|
||||
if (!(in_array($detail_ticket['itilcategories_id'], $itilcategories_ids))
|
||||
|| $max_date >= $courant_date) {
|
||||
|
||||
|
||||
$form_url = $item['type']::getFormURL();
|
||||
echo "<form id='validationanswers_id_{$item_i['id']}' class='center' action='$form_url' method='post'>";
|
||||
echo Html::hidden('id', ['value' => $item_i['id']]);
|
||||
echo Html::hidden('users_id_validate', ['value' => $item_i['users_id_validate']]);
|
||||
Html::textarea([
|
||||
'name' => 'comment_validation',
|
||||
'rows' => 5
|
||||
]);
|
||||
echo "<button type='submit' class='submit approve' name='approval_action' value='approve'>";
|
||||
echo "<i class='far fa-thumbs-up'></i> ".__('Approve')."</button>";
|
||||
|
||||
echo "<button type='submit' class='submit refuse very_small_space' name='approval_action' value='refuse'>";
|
||||
echo "<i class='far fa-thumbs-down'></i> ".__('Refuse')."</button>";
|
||||
Html::closeForm();
|
||||
} else {
|
||||
|
||||
$item_i['can_answer'] = 0;
|
||||
echo '<style>
|
||||
.alert {
|
||||
position: relative;
|
||||
@ -7415,33 +7434,12 @@ abstract class CommonITILObject extends CommonDBTM {
|
||||
}
|
||||
</style>';
|
||||
echo '<div class="alert alert-danger" role="alert">
|
||||
'.get_fullname_user($item_i['users_id_validate']).' => vous avez dépassé le délai<strong> de validation</strong> (48 hours)
|
||||
vous avez dépassé le délai<strong> de validation</strong> (48 hours)
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
//sophal
|
||||
|
||||
if (strpos($item['type'], 'Validation') > 0 &&
|
||||
(isset($item_i['can_answer']) && $item_i['can_answer'])) {
|
||||
$form_url = $item['type']::getFormURL();
|
||||
echo "<form id='validationanswers_id_{$item_i['id']}' class='center' action='$form_url' method='post'>";
|
||||
echo Html::hidden('id', ['value' => $item_i['id']]);
|
||||
echo Html::hidden('users_id_validate', ['value' => $item_i['users_id_validate']]);
|
||||
Html::textarea([
|
||||
'name' => 'comment_validation',
|
||||
'rows' => 5
|
||||
]);
|
||||
echo "<button type='submit' class='submit approve' name='approval_action' value='approve'>";
|
||||
echo "<i class='far fa-thumbs-up'></i> ".__('Approve')."</button>";
|
||||
|
||||
echo "<button type='submit' class='submit refuse very_small_space' name='approval_action' value='refuse'>";
|
||||
echo "<i class='far fa-thumbs-down'></i> ".__('Refuse')."</button>";
|
||||
Html::closeForm();
|
||||
}
|
||||
if ($item['type'] == 'Solution' && $item_i['status'] != CommonITILValidation::WAITING && $item_i['status'] != CommonITILValidation::NONE) {
|
||||
echo "<div class='users_id_approval' id='users_id_approval_".$item_i['users_id_approval']."'>";
|
||||
$user->getFromDB($item_i['users_id_approval']);
|
||||
|
||||
Reference in New Issue
Block a user