Files
MYSOPHAL/front/decharge.update.php
2025-08-07 13:15:31 +01:00

282 lines
9.8 KiB
PHP

<?php
use Glpi\Event;
include ('../inc/includes.php');
Session::checkLoginUser();
if (Session::getCurrentInterface() == "helpdesk") {
Html::helpHeader("Decharge", '', $_SESSION["glpiname"]);
} else {
Html::header("Decharge", '', "", "");
}
function get_decharge($id){
global $DB;
$stmt = $DB->prepare("SELECT decharge_entete.id_entete as identete,decharge_entete.id_user ,decharge_entete.titre,
decharge_entete.fonction,decharge_entete.num , decharge_entete.date, decharge_entete.type,
decharge_entete.date_creation,decharge_entete.date_modification,decharge_lignes.id ,
decharge_lignes.id_entete,decharge_lignes.designation,decharge_lignes.quantite,
decharge_lignes.fiche,decharge_lignes.etat
FROM decharge_entete
LEFT JOIN decharge_lignes ON decharge_entete.id_entete = decharge_lignes.id_entete
WHERE decharge_entete.id_entete = ?
ORDER BY decharge_lignes.id ASC");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
$res[] = $row;
}
return $res;
}
return null;
}
function get_user($id){
global $DB;
$stmt = $DB->prepare("SELECT concat(glpi_users.realname,' ',glpi_users.firstname) as fullname FROM `glpi_users` WHERE id = ? ");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
$res[] = $row;
}
return $res[0];
}
return null;
}
if(filter_var($_GET['id'], FILTER_VALIDATE_INT) === FALSE) Html::redirect($CFG_GLPI["root_doc"]."/front/ticket.php");
$res = get_decharge($_GET['id']);
if($res == null) Html::redirect($CFG_GLPI["root_doc"]."/front/ticket.php");
$user = get_user($res[0]['id_user']);
echo "<div id='tabs1216654411' class='center vertical ui-tabs ui-corner-all ui-widget ui-widget-content ui-tabs-vertical ui-helper-clearfix ui-corner-left'>
<ul role='tablist' class='ui-tabs-nav ui-corner-all ui-helper-reset ui-helper-clearfix ui-widget-header'>
</ul>
<div id='ui-id-3' aria-live='polite' aria-labelledby='ui-id-2' role='tabpanel' class='ui-tabs-panel ui-corner-bottom ui-widget-content' aria-hidden='false'>
<br>
<form id='form' name='form' method='post' action='".$CFG_GLPI["root_doc"]."/ajax/decharge.php' enctype='multipart/form-data'>
<input type='hidden' name='id_entete' value='".$res[0]['identete']."'>
<div class='spaced' id='tabsbody'>
<table class='tab_cadre_fixe' id='mainformtable'>
<tbody>
<tr class='headerRow'>
<th colspan='2' class=''>Principal</th>
<th colspan='2' class=''></th>
</tr>
<tr class=''>
<td width='20%'>Utilisateur : </td>
<td width='30%'>".$user['fullname']."
<input type='hidden' name='id_user' value='".$res[0]['id_user']."'>
</td>
<td width='20%'>Fonction : <span style='color:red'>*</span></td>
<td width='30%'>
<input style='width:80%;' id='fonction' type='text' name='fonction' value='".$res[0]['fonction']."' required>
</td>
</tr>
<tr class=''>
<td width='20%'>Date : </td>
<td width='30%'><input style='width:80%;' id='date' type='date' name='date' value='".$res[0]['date']."' required></td>
<td width='20%'>Type : <span style='color:red'>*</span></td>
<td width='30%'>
<select name='type' id='type' required>
<option value='decharge'"; if($res[0]['type'] == 'decharge') echo"selected"; echo ">Décharge</option>
<option value='contre decharge'"; if($res[0]['type'] == 'contre decharge') echo"selected"; echo ">Contre Décharge</option>
</select>
</td>
</tr>
<tr class=''>
<td width='20%'>N° : <span style='color:red'>*</span></td>
<td width='30%'><input style='width:80%;' id='num' type='text' name='num' value='".$res[0]['num']."' required> </td>
<td width='20%'>Titre : <span style='color:red'>*</span></td>
<td width='30%'>
<select name='titre' id='titre' required>
<option value='M'"; if($res[0]['titre'] == 'M') echo"selected"; echo ">M</option>
<option value='Mme'"; if($res[0]['titre'] == 'Mme') echo"selected"; echo ">Mme</option>
</select></td>
</tr>
</tbody>
</table>";
echo'<table class="tab_cadre_fixehov" id="dynamique" style="padding-top: 20px;">
<thead>
<tr>
<th></th>
<th class="">Désignation</th>
<th class="">Quantité</th>
<th class="" style="width:200px;">Fiche Technique</th>
<th class="">Etat</th>
</tr>
</thead>
<tfoot>
<tr>
<th></th>
<th class="">Désignation</th>
<th class="">Quantité</th>
<th class="">Fiche Technique</th>
<th class="">Etat</th>
</tr>
</tfoot>
<tbody> ';
$nbr = count($res);
for($p = 0 ; $p < $nbr ;$p++) {
echo'
<tr class="tab_bg_2">
<td style="display : none;"><input type="hidden" name="ids[]" value="'.$res[$p]['id'].'">'.$res[$p]['id'].'</td>
<td><i class="fa fa-trash deleteRow cursorPointer" onclick="supprimer(this)" title="Supprimer" style="display: inline-block;" ></i></td>
<td><input type="text" name="designation[]" value="'.$res[$p]['designation'].'" required></td>
<td><input type="number" name="quantite[]" value="'.$res[$p]['quantite'].'"required></td>
<td><textarea cols="6" rows="6" name="fiche[]" value="'.$res[$p]['fiche'].'" style="margin: 0px; width: 429px; height: 57px;" required>'.$res[$p]['fiche'].'</textarea></td>
<td><input type="text" name="etat[]" value="'.$res[$p]['etat'].'" required ></td>
</tr>';
}
echo'</tbody>
</table>
<table class="tab_cadre_fixe">
<tr class="tab_bg_2">
<td><i name="add_lign" id="add_lign" class="fas fa-plus"></i>&nbsp;Ajouter</td>
<td></td>
</tr>
</table>';
echo"
<div class='center'>
<button name='save' class='vsubmit'>&nbsp;Enregistrer </button>
<a href='".$CFG_GLPI["root_doc"]."/front/decharge.list.php' class='vsubmit' style='margin-left: 15px; background-color: #eba696;'>&nbsp;Annuler</a>
</div>
</div>
</form>
</div>
</div>";
if (Session::getCurrentInterface() == "helpdesk") {
Html::helpFooter();
} else {
Html::footer();
}
$link=$CFG_GLPI["root_doc"]."/front/ticket.php";
$root = $CFG_GLPI["root_doc"];
$user = Session::getCurrentInterface();
?>
<script>
var root = <?php echo json_encode($root); ?>;
var idsToDelete = [];
function supprimer(e){
var id = $(e).closest('tr').find('td:eq(0)').text();
if(id != 0){
idsToDelete.push(id );
}
$(e).parents("tr").remove();
}
$(document).ready(function(){
$("#add_lign").click(function(){
var markup = "<tr class='tab_bg_2'>"
+"<td style='display : none;'><input type='hidden' name='ids[]' value='0'>0</td>"
+"<td><i class='fa fa-trash deleteRow cursorPointer' onclick='supprimer(this)' title='Supprimer' style='display: inline-block;' ></i></td>"
+"<td><input type='text' name='designation[]' required></td>"
+"<td><input type='number' name='quantite[]' required></td>"
+"<td><textarea cols='6' rows='6' name='fiche[]' style='margin: 0px; width: 429px; height: 57px;' required></textarea></td>"
+"<td><input type='text' name='etat[]' required ></td>"
+"</tr>";
$("#dynamique").append(markup);
});
});
$("button[name='save']").click(function( event ) {
if($("#form")[0].checkValidity()) {
event.preventDefault();
console.log( $('#form').serialize());
$("button[name='save']").attr("disabled","disabled");
$.ajax({
type: "POST",
url: root+"/ajax/decharge.php?action=update&idsToDelete="+idsToDelete.join(),
data: $('#form').serialize()
})
.done(function( msg ) {
window.location = root+"/front/decharge.list.php";
})
.fail(function(msg) {
console.log(msg);
$("button[name='save']").removeAttr("disabled");
});
}
});
var user = <?php echo json_encode($user); ?>;
var userlink;
if(user == "helpdesk"){
userlink ='<li class="breadcrumb_item"><a href="'+root+'/front/helpdesk.public.php" title="Accueil">Accueil</a></li>';
}else{
userlink = '<li class="breadcrumb_item"><a href="'+root+'/front/central.php" title="Accueil">Accueil</a></li>';
}
$(document).ready(function(){
$("#c_ssmenu2").html('<ul>'+
userlink+
'<li class="breadcrumb_item"><a href="" title="">Administration</a></li>'+
'<li class="breadcrumb_item"><a href="'+root+'/front/decharge.list.php" class="here" title="Décharge"><i class="far fa-sticky-note"></i>&nbsp;Décharge</a></li>'+
'<span class="sr-only">Ajouter</span></a>'+
'</li>'+
'</ul>');
});
</script>