Files
CRM/Planning.php
BACHIR SOULDI 2794e62571 first commit
2025-09-28 08:49:37 +01:00

220 lines
16 KiB
PHP

<?php
require_once 'include/utils/utils.php';
require_once 'includes/Loader.php';
vimport ('includes.runtime.EntryPoint');
@session_start();
global $adb;
$current_user = Users_Record_Model::getCurrentUserModel();
$roleid = $current_user->get('roleid');
$userName = $_GET['userId'];
$month = $_GET['month'];
$creatorid = $current_user->get('id');
$query = "SELECT * FROM vtiger_users where CONCAT(first_name,' ', last_name) like ".$userName.";";
$sql_get_result = $adb->pquery($query);
$users = array();
while ($recordinfo = $adb->fetch_array($sql_get_result)) {
$users[] = $recordinfo['id'];
}
$userId = $users[0];
$query = "SELECT * FROM `planning` where userid = ".$userId." and month = ".$month.";";
$sql_get_result = $adb->pquery($query);
$results = array();
while ($recordinfo = $adb->fetch_array($sql_get_result)) {
$results[] = $recordinfo;
}
$data = $results[0];
if(isset($_POST['nbrvisite'])) {
$valider = 0;
if($_POST['valider'] == checked)
$valider = 1;
if($data != null) {
$query = "UPDATE `planning` SET `nbrvisite` = ?, `nbrconge` = ?, `nbrrecupe` = ?, `nbrmaladie` = ?, `nbrautre` = ?, `comment` = ?, `validersup` = ? , `nbrreunion` = ?, `nbrformation` = ? where `userid` = ".$userId." and `month` = ".$month;
$adb->pquery($query, array($_POST['nbrvisite'], $_POST['nbrconge'], $_POST['nbrrecupe'], $_POST['nbrmaladie'], $_POST['nbrautre'], $_POST['comment'], $valider, $_POST['nbrreunion'], $_POST['nbrformation']));
} else {
$nbrconge = !empty($_POST['nbrconge']) ? $_POST['nbrconge'] : 0;
$nbrrecupe = !empty($_POST['nbrrecupe']) ? $_POST['nbrrecupe'] : 0;
$nbrmaladie = !empty($_POST['nbrmaladie']) ? $_POST['nbrmaladie'] : 0;
$nbrautre = !empty($_POST['nbrautre']) ? $_POST['nbrautre'] : 0;
$nbrreunion = !empty($_POST['nbrreunion']) ? $_POST['nbrreunion'] : 0;
$nbrformation = !empty($_POST['nbrformation']) ? $_POST['nbrformation'] : 0;
$query = "INSERT INTO `planning`(`userid`, `creatorid`, `month`, `nbrvisite`, `nbrconge`, `nbrrecupe`, `nbrmaladie`, `nbrautre`, `comment`, `validersup`, `nbrreunion`, `nbrformation`)
VALUES (".$userId.", ".$creatorid.", ".$month.", '".$_POST['nbrvisite']."', '".$nbrconge."', '".$nbrrecupe."', '".$nbrmaladie."', '".$nbrautre."', '".$_POST['comment']."', '".$valider."' ,'".$nbrreunion."', '".$nbrformation."');";
$adb->query($query);
}
header("Location: index.php?module=MonitoringVMPlanning&view=MonitoringVMPlanning");
exit;
}
$viewer = new Vtiger_Viewer();
$viewer->assign('MODULE', 'Home');
$viewer->assign('SELECTED_MENU_CATEGORY', 'MARKETING');
$viewer->assign('COMPANY_LOGO', Vtiger_CompanyDetails_Model::getInstanceById()->getLogo());
$viewer->assign('COMPANY_DETAILS_SETTINGS',new Settings_Vtiger_CompanyDetails_Model());
$viewer->assign('USER_MODEL', $current_user);
$viewer->assign('CURRENT_USER_MODEL', $current_user);
$viewer->assign('PAGETITLE','Tableau de bord');
$viewer->view('CustomDashboard.tpl');
$validationDisabled = "disabled";
if ($roleid == 'H3' || $roleid == 'H15' || $roleid == 'H16')
$validationDisabled = "";
$nbrvisite = 200;
if(isset($data["nbrvisite"]))
$nbrvisite = $data["nbrvisite"];
$nbrconge = $data["nbrconge"];
$nbrrecupe = $data["nbrrecupe"];
$nbrmaladie = $data["nbrmaladie"];
$nbrautre = $data["nbrautre"];
$nbrreunion = $data["nbrreunion"];
$nbrformation = $data["nbrformation"];
$comment = $data["comment"];
$validercheck = "";
if($data["validersup"] == 1)
$validercheck = "checked";
echo '<form method="post">
<table>
<tr>
<td><label for="nbrvisite">Nombre de visite:</label></td>
<td><input required type="number" id="nbrvisite" name="nbrvisite" value="'.$nbrvisite.'"></td>
</tr>
<tr>
<td><label for="nbrconge">Congé:</label></td>
<td><input type="number" id="nbrconge" name="nbrconge" value="'.$nbrconge.'"></td>
</tr>
<tr>
<td><label for="nbrrecupe">Recupe:</label></td>
<td><input type="number" id="nbrrecupe" name="nbrrecupe" value="'.$nbrrecupe.'"></td>
</tr>
<tr>
<td><label for="nbrmaladie">Maladie:</label></td>
<td><input type="number" id="nbrmaladie" name="nbrmaladie" value="'.$nbrmaladie.'"></td>
</tr>
<tr>
<td><label for="nbrautre">Autre:</label></td>
<td><input type="number" id="nbrautre" name="nbrautre" value="'.$nbrautre.'"></td>
</tr>
<tr>
<td><label for="nbrreunion">Réunion et séance de travail:</label></td>
<td><input type="number" id="nbrreunion" name="nbrreunion" value="'.$nbrreunion.'"></td>
</tr>
<tr>
<td><label for="nbrformation">Formation:</label></td>
<td><input type="number" id="nbrformation" name="nbrformation" value="'.$nbrformation.'"></td>
</tr>
<tr>
<td><label for="comment">Commentaire:</label></td>
<td><textarea style="width: 350px;" id="comment" name="comment" value="'.$comment.'">'.$comment.'</textarea></td>
</tr>
</tr>
<td><label for="valider"> Validé par supérieur hierarchique</label></td>
<td><input '.$validationDisabled.' type="checkbox" id="valider" name="valider" value="checked" '.$validercheck.'></td>
</tr>
<tr>
<td><button class="btn btn-default addButton"> Enregistrer</button></td>
</tr>
</table>
</form>';
$viewer->view('CustomDashboardFooter.tpl');
?>
<style>
:root {
--gray-color: rgb(220, 220, 220);
--light-gray-color: rgb(240, 240, 240);
--my-color: rgb(20, 160, 217);
}
.tabcenter
{
margin-left: 230px;
width: calc(100% - 230px);
border-collapse : collapse;
}
/*
tr {
border-bottom: 1px solid var(--gray-color);
}
*/
th, td
{
padding-left: 3px;
padding-right: 3px;
height: 35px;
min-width: 80px;
font-size: 14px;
text-align : center;
}
.addButton {
margin-left: 250px;
}
.center
{
text-align : center;
}
form {
margin-left: 230px;
padding: 20px;
display: inline-block;
}
</style>
<script type="text/javascript" src="layouts/v7/lib/jquery/purl.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/select2/select2.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.class.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-ui-1.11.3.custom/jquery-ui.js"></script><script type="text/javascript" src="layouts/v7/lib/todc/js/bootstrap.min.js"></script><script type="text/javascript" src="libraries/jquery/jstorage.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-validation/jquery.validate.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.slimscroll.min.js"></script><script type="text/javascript" src="libraries/jquery/jquery.ba-outside-events.min.js"></script><script type="text/javascript" src="libraries/jquery/defunkt-jquery-pjax/jquery.pjax.js"></script><script type="text/javascript" src="libraries/jquery/multiplefileupload/jquery_MultiFile.js"></script><script type="text/javascript" src="resources/jquery.additions.js"></script><script type="text/javascript" src="layouts/v7/lib/bootstrap-notify/bootstrap-notify.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/websockets/reconnecting-websocket.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-play-sound/jquery.playSound.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mousewheel.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mCustomScrollbar.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/autoComplete/jquery.textcomplete.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.qtip.custom/jquery.qtip.js"></script><script type="text/javascript" src="libraries/jquery/jquery-visibility.min.js"></script><script type="text/javascript" src="layouts/v7/lib/momentjs/moment.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/moment.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/jquery.daterangepicker.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.timeago.js"></script><script type="text/javascript" src="libraries/jquery/ckeditor/ckeditor.js"></script><script type="text/javascript" src="libraries/jquery/ckeditor/adapters/jquery.js"></script><script type='text/javascript' src='layouts/v7/lib/anchorme_js/anchorme.min.js'></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Class.js?v=7.1.0"></script><script type='text/javascript' src="layouts/v7/resources/helper.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/resources/application.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Utils.js?v=7.1.0"></script><script type='text/javascript' src="layouts/v7/modules/Vtiger/resources/validation.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/bootbox/bootbox.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Base.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Vtiger.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Calendar/resources/TaskManagement.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Import/resources/Import.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Emails/resources/EmailPreview.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Base.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Google/resources/Settings.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/CkEditor.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Documents/resources/Documents.js?v=7.1.0"></script><script type="text/javascript" src="libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/bootstrap-datepicker.js?v=7.1.0"></script><script type="text/javascript" src="libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/jquery/timepicker/jquery.timepicker.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/lazyYT/lazyYT.min.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Header.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Edit.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Popup.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Field.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jquery_windowmsg.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/BasicSearch.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceFilter.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/SearchAdvanceFilter.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceSearch.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/BaseList.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/List.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceSearchList.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/RecordSelectTracker.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Pagination.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Import/resources/Popup.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Emails/resources/MassEdit.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/EmailsRelatedPopup.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/jquery/sadropdown.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-fr.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Vtiger.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jquery.stickytableheaders.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/gridster/jquery.gridster.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/jquery.jqplot.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasTextRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.pieRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.barRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.categoryAxisRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.pointLabels.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.funnelRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.logAxisRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/VtJqplotInterface.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/vtchart.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/jquery/gridster/jquery.gridster.min.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/DashBoard.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/dashboards/Widget.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Detail.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Reports/resources/Detail.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Reports/resources/ChartDetail.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/CkEditor.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/bootstrap-daterangepicker/moment.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/bootstrap-daterangepicker/daterangepicker.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/resources/v7_client_compat.js?v=7.1.0"></script><!-- Added in the end since it should be after less file loaded --><script type="text/javascript" src="libraries/bootstrap/js/less.min.js"></script>
<!-- Enable tracking pageload time -->
<script type="text/javascript">var _REQSTARTTIME = "1589749969";jQuery(document).ready(function() { window._PAGEREADYAT = new Date(); });
jQuery(window).load(function() {
window._PAGELOADAT = new Date();
window._PAGELOADREQSENT = false;
// Transmit the information to server about page render time now.
if (typeof _REQSTARTTIME != 'undefined') {
// Work with time converting it to GMT (assuming _REQSTARTTIME set by server is also in GMT)
var _PAGEREADYTIME = _PAGEREADYAT.getTime() / 1000.0; // seconds
var _PAGELOADTIME = _PAGELOADAT.getTime() / 1000.0; // seconds
var data = { page_request: _REQSTARTTIME, page_ready: _PAGEREADYTIME, page_load: _PAGELOADTIME };
data['page_xfer'] = (_PAGELOADTIME - _REQSTARTTIME).toFixed(3);
data['client_tzoffset']= -1*_PAGELOADAT.getTimezoneOffset()*60;
data['client_now'] = JSON.parse(JSON.stringify(new Date()));
if (!window._PAGELOADREQSENT) {
// To overcome duplicate firing on Chrome
window._PAGELOADREQSENT = true;
}
}
});
</script>
</html>