get('roleid');
$userId = $current_user->get('id');
$viewer = new Vtiger_Viewer();
$viewer->assign('CURRENTDATE', Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j')));
$viewer->assign('MODULE', 'Home');
$viewer->assign('MODULE_NAME', 'Home');
$viewer->assign('QUALIFIED_MODULE', 'Home');
$viewer->assign('PARENT_MODULE', '');
$viewer->assign('VIEW', 'DashBoard');
$menuModelsList = Vtiger_Menu_Model::getAll(true);
$menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, 'Home');
uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess'));
$viewer->assign('SELECTED_MENU_CATEGORY', 'MARKETING');
$viewer->assign('SELECTED_MENU_CATEGORY_LABEL', 'Tableau de bord');
//$viewer->assign('SELECTED_CATEGORY_MENU_LIST', $menuGroupedByParent['MARKETING']);
$viewer->assign('MENUS', $menuModelsList);
$viewer->assign('QUICK_CREATE_MODULES', Vtiger_Menu_Model::getAllForQuickCreate());
$viewer->assign('MENU_STRUCTURE', $menuStructure);
$viewer->assign('MENU_SELECTED_MODULENAME', 'Home');
$viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit());
$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);
require_once 'libraries/csrf-magic/csrf-magic.php';
$viewer->assign('HOME_MODULE_MODEL', Vtiger_Module_Model::getInstance('Home'));
$viewer->assign('HEADER_LINKS', Vtiger_Header_View::getHeaderLinks());
$viewer->assign('ANNOUNCEMENT', Vtiger_Header_View::getAnnouncement());
$viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
$viewer->assign('INVENTORY_MODULES', getInventoryModules());
$viewer->assign('PAGETITLE','Liste Note De Frais');
$viewer->assign('LANGUAGE_STRINGS', Vtiger_Language_Handler::export('Home', 'jsLanguageStrings'));
$viewer->view('CustomDashboard.tpl');
$currentDate = new DateTime();
$year = $currentDate->format("Y");
$month = $currentDate->format("m");
$day = $currentDate->format("d");
$etats = ['Brouillon','En validation','Validée'];
$colors = ['btn btn-warning mr-1 btn-fab' ,'btn btn-primary mr-1 btn-fab','btn btn-success mr-1 btn-fab'];
function Avancement(array $res){
switch ($res['avancement']) {
case 0:
$user = getFullname($res['assigned_user_id']);
break;
case 1:
$user = getFullname($res['id_validateur_1']);
break;
case 2:
$user = getFullname($res['id_validateur_2']);
break;
case 3:
$user = getFullname($res['id_validateur_3']);
break;
case 4:
$user = getFullname($res['id_validateur_4']);
break;
case 5:
$user = "RH";
break;
}
return $user;
}
function isAdmin($userId , $id_validateur_2){
if($userId == $id_validateur_2 or $userId == 1){
return true;
}
return false;
}
function result($res ,$roleid ,$etats ,$colors ,$id_validateur_2 ,$userId){
echo '
| '.$res['id_note_de_frais'].' |
';
echo '
|
'.getFullname($res['assigned_user_id']).' |
'.$res['mois'].' |
'.$res['annee'].' |
'.$res['region'].' |
| ';
if(isAdmin($userId , $id_validateur_2)) {
echo' | ';
}
echo '
';
}
/*
function UpdateAvancement($year,$month,$day){
global $adb;
$months = array("JANVIER" => '01', "FEVRIER" => '02', "MARS" => '03', "AVRIL" => '04', "MAI" => '05',
"JUIN"=> '06',"JUILLET"=> '07', "AOUT"=> '08', "SEPTEMBRE"=> '09', "OCTOBRE"=> '10', "NOVEMBRE"=> '11', "DECEMBRE"=> '12');
if( $day > 24 ){
$sql = "UPDATE `note_de_frais` SET avancement = 1 WHERE annee = ? and mois = ? and avancement = 0 ";
$perm = array($year, array_search($month, $months) );
$adb->pquery($sql,$perm);
//SI LE VALIDATEUR 1 N'EXISTE PAS Aller A NAIMA
$sq2 = "UPDATE `note_de_frais` SET avancement = 2 WHERE annee = ? and mois = ? and avancement = 1 and id_validateur_1 is NULL ";
$perm = array($year, array_search($month, $months) );
$adb->pquery($sq2,$perm);
}
}*/
function getValidateurParametres(){
global $adb;
$query5 = "SELECT * FROM note_de_frais_parametres ";
$result5 =$adb->query($query5);
$res=array();
while ($recordinfo = $adb->fetch_array($result5)) {
$res[] = $recordinfo;
}
return $res[0];
}
function getAllNoteDeFrais($userId , $roleid ,$day){
global $adb;
$validateur = getValidateurParametres();
switch ($userId) {
case 1://admin
$query = "SELECT * FROM `note_de_frais` ORDER BY `note_de_frais`.`id_note_de_frais` DESC";
break;
case $validateur['id_validateur_2']:
$query = "SELECT * FROM `note_de_frais` ORDER BY `note_de_frais`.`id_note_de_frais` DESC";
break;
default:
$query = "
SELECT * FROM `note_de_frais` where (assigned_user_id = {$userId} and avancement = 0)
union
SELECT * FROM `note_de_frais` where (id_validateur_1 = {$userId} and avancement = 1 )
union
SELECT * FROM `note_de_frais` where (id_validateur_2 = {$userId} and avancement = 2 )
union
SELECT * FROM `note_de_frais` where (id_validateur_3 = {$userId} and avancement = 3)
union
SELECT * FROM `note_de_frais` where (id_validateur_4 = {$userId} and avancement = 4)";
}
$sql_get_result = $adb->query($query);
$res= array();
while ($recordinfo = $adb->fetch_array($sql_get_result)) {
$res[] = $recordinfo;
}
return $res;
}
function getFullname($id){
global $adb;
$query = "SELECT first_name,last_name FROM `vtiger_users` where id ='".$id."' ";
$sql_get_result = $adb->query($query);
$res= array();
while ($recordinfo = $adb->fetch_array($sql_get_result)) {
$res[] = $recordinfo;
}
if(count($res) > 0){
return $res[0]['first_name']." ".$res[0]['last_name'];
}else{
return null;
}
}
//UpdateAvancement($year,$month,$day);
$res = getAllNoteDeFrais($userId , $roleid ,$day);
$validateur = getValidateurParametres();
echo '';
$viewer->view('CustomDashboardFooter.tpl');
?>