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 '

Mes Notes

'; echo'
'; if(isAdmin($userId , $validateur['id_validateur_2'])) { echo''; } echo''; echo''; foreach ($res as $res) { result($res ,$roleid ,$etats ,$colors , $validateur['id_validateur_2'] ,$userId); } echo '
id Assigné à Mois Année Région EtatAvancement
'; $viewer->view('CustomDashboardFooter.tpl'); ?>