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','Edition Note De Frais'); $viewer->assign('LANGUAGE_STRINGS', Vtiger_Language_Handler::export('Home', 'jsLanguageStrings')); $viewer->view('CustomDashboard.tpl'); if(filter_var($_GET['id'], FILTER_VALIDATE_INT) === FALSE){ header("Location: index.php?module=NoteDeFraisList&view=NoteDeFraisList"); } 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; } return $res[0]['first_name']." ".$res[0]['last_name']; } function getAllUsers(){ global $adb; $query5 = "SELECT id,CONCAT(first_name,' ', last_name) as fullname FROM `vtiger_users` where status ='Active' "; $result5 =$adb->query($query5); $users=array(); while ($recordinfo = $adb->fetch_array($result5)) { $users[] = $recordinfo; } return $users; } function getUser($id){ global $adb; $query5 = "SELECT id,CONCAT(first_name,' ', last_name) as fullname FROM `vtiger_users` where status ='Active' and id={$id}"; $result5 =$adb->query($query5); if ($adb->num_rows($result5) > 0) { $user=array(); while ($recordinfo = $adb->fetch_array($result5)) { $user[] = $recordinfo; } return $user[0]; } return null; } function getDetails($id_note_de_frais){ global $adb; $query = "SELECT * FROM `note_de_frais` WHERE `id_note_de_frais` ='".$id_note_de_frais."' "; $result =$adb->query($query); $res=array(); while ($recordinfo = $adb->fetch_array($result)) { $res[] = $recordinfo; } return $res[0]; } function getlignes($id_note_de_frais){ global $adb; $query = "SELECT * FROM `lignes_note_de_frais` WHERE `id_note_de_frais` ='".$id_note_de_frais."' ORDER BY id ASC"; $result =$adb->query($query); $res=array(); while ($recordinfo = $adb->fetch_array($result)) { $res[] = $recordinfo; } return $res; } function result($ligne,$types){ echo' '; if($last_value == 'Autre'){ echo''; }else{ echo''; } echo''.$ligne['id'].' '; } function CanEdit($userId , array $res , array $perm){ if( $userId != '1' && $userId != $perm['id_validateur_2']){ $redirected == false; switch ($res['avancement']) { case 0: $redirected = ($res['id_validateur_0'] == $userId) ? true : false; break; case 1: $redirected = ($res['id_validateur_1'] == $userId) ? true : false; break; case 2: $redirected = ($res['id_validateur_2'] == $userId) ? true : false; break; case 3: $redirected = ($res['id_validateur_3'] == $userId) ? true : false; break; case 4: $redirected = ($res['id_validateur_4'] == $userId) ? true : false; break; } if( $redirected == false){ header("Location: index.php?module=NoteDeFraisPermission&view=NoteDeFraisPermission"); } } } function isValidateur($userId , array $res , $roleid){ $validateurs = array($res['id_validateur_1'],$res['id_validateur_2'],$res['id_validateur_3'] , $res['id_validateur_4']); $isValidateur = in_array($userId , $validateurs) ; if( $roleid == 'H2'){ return true; }else{ return $isValidateur; } } function getTypesDetails($id_note_de_frais){ global $adb; $query = "SELECT * FROM `note_de_frais_types` where id_note_de_frais = {$id_note_de_frais} ORDER BY `ordre` ASC "; $result =$adb->query($query); $res=array(); while ($recordinfo = $adb->fetch_array($result)) { $res[] = $recordinfo; } return $res; } function Parametrages(){ global $adb; $query = "SELECT * FROM `note_de_frais_parametres`"; $sql_get_result = $adb->query($query); $result = array(); while ($recordinfo = $adb->fetch_array($sql_get_result)) { $result[] = $recordinfo; } return $result[0]; } $Parametrages = Parametrages(); $nbr_jour = $Parametrages['jour']; $months = array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE"); $years = array("2020", "2021", "2022", "2023", "2024"); $regions = array("OUEST", "CENTRE", "EST"); $types = array("Prise en charge H.R", "Prise en charge S.R","Autre"); $Details = getDetails($_GET['id']); $resultlignes = getlignes($_GET['id']); $TypesDetails = getTypesDetails($_GET['id']); CanEdit($userId,$Details,$Parametrages) ; echo'

Edition Note De Frais

Détail Note de Frais


'; echo'
* Assigné à '; if($roleid == "H2"){ echo''; }else{ $user=getUser($Details['assigned_user_id']); echo" "; } echo'
* Mois 
* Année 
* Région 
Supérieur Hiérachique '; $user = getUser($Details['id_validateur_1']); $fullname = $user <> null ? $user['fullname'] : null; echo""; echo'

Ville et Itinerarire


'; foreach ($resultlignes as $ligne) { result($ligne ,$types); } echo'
Outils *RH Jour *Localités *kilométrage

Frais HR et SR


Type Nombre Indemnité Total
Prise en charge S.R '.$TypesDetails[0]['nombre'].' '.$TypesDetails[0]['indemnite'].' '.$TypesDetails[0]['total'].'
Prise en charge H.R '.$TypesDetails[1]['nombre'].' '.$TypesDetails[1]['indemnite'].' '.$TypesDetails[1]['total'].'
Total '.$Details['total_1'].'

Vehicule et Indemnité


Item Nombre Indemnité Total
Parking '.$TypesDetails[2]['nombre'].' '.$TypesDetails[2]['total'].' '.$TypesDetails[2]['total'].'
Forfait Carburant '.$TypesDetails[3]['nombre'].' '.$TypesDetails[3]['total'].' '.$TypesDetails[3]['total'].'
Forfait Entretien '.$TypesDetails[4]['nombre'].' '.$TypesDetails[4]['total'].' '.$TypesDetails[4]['total'].'
Indemnité kilométrique '.$TypesDetails[5]['nombre'].' '.$TypesDetails[5]['indemnite'].' '.$TypesDetails[5]['total'].'
Total '.$Details['total_2'].'

Frais Divers


Type de frais Commentaires Total
Bureau, P et T
Internet
Divers
Taxi
Facture Hotel
Total '.$Details['total_3'].'
Total à Virer '.$Details['total_final'].'
'; //validations echo '

Suivi Validation


'; echo'
'; if($Details['avancement'] <> 5){ echo ' '; } echo ''; $viewer->view('CustomDashboardFooter.tpl'); ?>