602 lines
29 KiB
PHP
602 lines
29 KiB
PHP
<?php
|
|
|
|
require_once 'include/utils/utils.php';
|
|
|
|
require_once 'includes/Loader.php';
|
|
|
|
vimport ('includes.runtime.EntryPoint');
|
|
|
|
require_once 'SUtiles.php';
|
|
|
|
@session_start();
|
|
|
|
global $adb;
|
|
|
|
|
|
|
|
$current_user = Users_Record_Model::getCurrentUserModel();
|
|
|
|
$roleid = $current_user->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','Paramétrage Nouveau Note De Frais');
|
|
|
|
$viewer->assign('LANGUAGE_STRINGS', Vtiger_Language_Handler::export('Home', 'jsLanguageStrings'));
|
|
|
|
$viewer->view('CustomDashboard.tpl');
|
|
|
|
|
|
|
|
|
|
|
|
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 getValidateur(){
|
|
|
|
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 getParametres(){
|
|
|
|
global $adb;
|
|
|
|
|
|
|
|
$query5 = "SELECT * FROM note_de_frais_parametres";
|
|
|
|
$result5 =$adb->query($query5);
|
|
|
|
$parametres=array();
|
|
|
|
while ($recordinfo = $adb->fetch_array($result5)) {
|
|
|
|
$parametres[] = $recordinfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return $parametres[0];
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$currentDate = new DateTime();
|
|
|
|
$year_current = $currentDate->format("Y");
|
|
|
|
$month_current = $currentDate->format("n");
|
|
|
|
$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');
|
|
|
|
//$months = array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE");
|
|
|
|
$parametres = getParametres();
|
|
|
|
$validateur = getValidateur();
|
|
|
|
|
|
|
|
echo'
|
|
|
|
<div class="main-container main-container-Accounts">
|
|
|
|
<div class="container-fluid" style="margin:15px 15px 15px 15px;">
|
|
|
|
|
|
|
|
<div class="editViewHeader">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-12 col-md-12 col-lg-pull-0">
|
|
|
|
<h4 class="editHeader" style="margin-top:5px;">Paramétrage Note De Frais</h4>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<form id="form2" action="?module=NoteDeFraisAjax&view=NoteDeFraisAjax" method="post" enctype="multipart/form-data">
|
|
|
|
<div class=" detailview-header-block" style="margin-bottom:10px;">
|
|
|
|
<div class="fieldBlockContainer" data-block="LBL_ADDRESS_INFORMATION" >
|
|
|
|
<h4 class="fieldBlockHeader">ETAT DES NOTES DE FRAIS</h4>
|
|
|
|
<hr>
|
|
|
|
<table class="table table-borderless addressBlock">
|
|
|
|
<tbody>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Mois </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<select class="js-example-basic-single form-control" style="width:300px;" name="mois" required>
|
|
|
|
<option value=""></option>';
|
|
|
|
foreach ($months as $key => $idem) {
|
|
|
|
echo '<option value="'.$key.'">'.$key.'</option>';
|
|
|
|
}
|
|
|
|
echo '</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Année </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<select class="js-example-basic-single form-control" style="width:300px;" name="annee" required>
|
|
|
|
<option value=""></option>
|
|
|
|
<option value="2020">2020</option>
|
|
|
|
<option value="2021">2021</option>
|
|
|
|
<option value="2022">2022</option>
|
|
|
|
<option value="2023">2023</option>
|
|
|
|
<option value="2024">2024</option>
|
|
|
|
</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span>Etat </td>
|
|
|
|
<td class="fieldValue"><strong>Validée</strong></td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td></td>
|
|
|
|
<td><button class="btn btn-success saveButton" onclick="exportpdf()" name="export">Exporter en PDF</button>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<form id="form" action="?module=NoteDeFraisAjax&view=NoteDeFraisAjax" method="post" enctype="multipart/form-data">
|
|
|
|
<div class=" detailview-header-block" style="margin-bottom:10px;">
|
|
|
|
<div class="fieldBlockContainer" data-block="LBL_ADDRESS_INFORMATION">
|
|
|
|
<h4 class="fieldBlockHeader">Paramètres</h4>
|
|
|
|
<hr>
|
|
|
|
<table class="table table-borderless addressBlock">
|
|
|
|
<tbody>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Jour </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<input type="text" name="jour" value="'.$parametres['jour'].'" class="qty smallInputBox inputElement" required>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Prise en charge S.R </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<div class="input-group">
|
|
|
|
<span class="input-group-addon">DZD</span>
|
|
|
|
<input type="text" name="sr" value="'.$parametres['sr'].'" class="qty smallInputBox inputElement" required>
|
|
|
|
</DIV>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Prise en charge H.R </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<div class="input-group">
|
|
|
|
<span class="input-group-addon">DZD</span>
|
|
|
|
<input type="text" name="hr" value="'.$parametres['hr'].'" class="qty smallInputBox inputElement" required>
|
|
|
|
|
|
|
|
</DIV>
|
|
|
|
</td>
|
|
|
|
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Parking </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<div class="input-group">
|
|
|
|
<span class="input-group-addon">DZD</span>
|
|
|
|
<input type="text" name="parking" value="'.$parametres['parking'].'" class="qty smallInputBox inputElement" required>
|
|
|
|
|
|
|
|
</DIV>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Forfait Carburant </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<div class="input-group">
|
|
|
|
<span class="input-group-addon">DZD</span>
|
|
|
|
<input type="text" name="forfait_carburant" value="'.$parametres['forfait_carburant'].'" class="qty smallInputBox inputElement" required>
|
|
|
|
|
|
|
|
</DIV>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span>Forfait entretien </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<div class="input-group">
|
|
|
|
<span class="input-group-addon">DZD</span>
|
|
|
|
<input type="text" name="forfait_entretien" value="'.$parametres['forfait_entretien'].'" class="qty smallInputBox inputElement" required>
|
|
|
|
|
|
|
|
</DIV>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span>Indemnité kilométrique </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<div class="input-group">
|
|
|
|
<span class="input-group-addon">DZD</span>
|
|
|
|
<input type="text" name="indemnite_kilometrique" value="'.$parametres['indemnite_kilometrique'].'" class="qty smallInputBox inputElement" required>
|
|
|
|
|
|
|
|
</DIV>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span>Mois</td>
|
|
|
|
<td class="fieldValue"><strong>'.array_search($month_current, $months).'</strong></td>
|
|
|
|
<input type="hidden" name="mois1" value="'.array_search($month_current, $months).'">
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span>Année </td>
|
|
|
|
<td class="fieldValue"><strong>'.$year_current.'</strong></td>
|
|
|
|
<input type="hidden" name="annee1" value="'.$year_current.'">
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td></td>
|
|
|
|
<td><button class="btn btn-success saveButton" onclick="saveData()" name="add">Lancer le calcul</button>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<form id="form3" action="?module=NoteDeFraisAjax&view=NoteDeFraisAjax" method="post" enctype="multipart/form-data">
|
|
|
|
<div class=" detailview-header-block" style="margin-bottom:10px;">
|
|
|
|
<div class="fieldBlockContainer" data-block="LBL_ADDRESS_INFORMATION">
|
|
|
|
<h4 class="fieldBlockHeader">Flux de validation</h4>
|
|
|
|
<hr>
|
|
|
|
<div class="alert alert-danger">
|
|
|
|
Ces paramètres sont appliqués lors de la création <strong>NOTE DE FRAIS</strong> .
|
|
|
|
</div>
|
|
|
|
<table class="table table-borderless addressBlock">
|
|
|
|
<tbody>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Validateur Niveau 00 </td>
|
|
|
|
<td class="fieldValue"> Utilisateur</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Validateur Niveau 01 </td>
|
|
|
|
<td class="fieldValue"> Supérieur Hiérarchique</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span>Validateur Niveau 02 ( Admin ) </td>
|
|
|
|
<td class="fieldValue">';
|
|
|
|
echo'<select class="js-example-basic-single form-control" style="width:300px;" name="id_validateur_2" >';
|
|
|
|
echo'<option value=""></option>';
|
|
|
|
$users=getAllUsers();
|
|
|
|
foreach ($users as $user) {
|
|
|
|
if($user['id'] == $validateur['id_validateur_2']){
|
|
|
|
echo '<option value="'.$user['id'].'" selected>'.$user['fullname'].'</option>';
|
|
|
|
}else{
|
|
|
|
echo '<option value="'.$user['id'].'">'.$user['fullname'].'</option>';
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
echo '</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span> Validateur Niveau 03 </td>
|
|
|
|
<td class="fieldValue">';
|
|
|
|
echo'<select class="js-example-basic-single form-control" style="width:300px;" name="id_validateur_3" >';
|
|
|
|
echo'<option value=""></option>';
|
|
|
|
$users=getAllUsers();
|
|
|
|
foreach ($users as $user) {
|
|
|
|
if($user['id'] == $validateur['id_validateur_3']){
|
|
|
|
echo '<option value="'.$user['id'].'" selected>'.$user['fullname'].'</option>';
|
|
|
|
}else{
|
|
|
|
echo '<option value="'.$user['id'].'">'.$user['fullname'].'</option>';
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
echo '</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle"><span class="redColor">*</span>Validateur Niveau 04 </td>
|
|
|
|
<td class="fieldValue">';
|
|
|
|
echo'<select class="js-example-basic-single form-control" style="width:300px;" name="id_validateur_4">';
|
|
|
|
echo'<option value=""></option>';
|
|
|
|
$users=getAllUsers();
|
|
|
|
foreach ($users as $user) {
|
|
|
|
if($user['id'] == $validateur['id_validateur_4']){
|
|
|
|
echo '<option value="'.$user['id'].'" selected>'.$user['fullname'].'</option>';
|
|
|
|
}else{
|
|
|
|
echo '<option value="'.$user['id'].'">'.$user['fullname'].'</option>';
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
echo '</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td></td>
|
|
|
|
<td><button class="btn btn-success saveButton" onclick="workflow()" name="save_workflow">Enregistrer</button>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$viewer->view('CustomDashboardFooter.tpl');
|
|
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<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>
|
|
|
|
<script src="jscss/jspdf.min.js"></script>
|
|
|
|
<script src="jscss/jspdf.plugin.autotable.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>
|
|
|
|
|
|
|
|
<!-- script pour liste déroulante -->
|
|
|
|
<script>
|
|
|
|
$(document).ready(function() {
|
|
|
|
$('.js-example-basic-single').select2();
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
function workflow(){
|
|
|
|
if($("#form3")[0].checkValidity()) {
|
|
|
|
|
|
|
|
jQuery("button[name='save_workflow']").attr("disabled","disabled");
|
|
|
|
event.preventDefault();//important
|
|
|
|
$.ajax({
|
|
|
|
type: "POST",
|
|
|
|
url: "index.php?module=NoteDeFraisAjax&view=NoteDeFraisAjax&action=updateworkflow",
|
|
|
|
data: $('#form3').serialize(),
|
|
|
|
success: function (data) {
|
|
|
|
|
|
|
|
window.location.replace("index.php?module=NoteDeFraisParametrage&view=NoteDeFraisParametrage");
|
|
|
|
|
|
|
|
},
|
|
|
|
error: function(){
|
|
|
|
$("button[name='save_workflow']").removeAttr("disabled");
|
|
|
|
alert('<strong>Aucun accès à Internet</strong>');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function saveData(){
|
|
|
|
if($("#form")[0].checkValidity()) {
|
|
|
|
jQuery('#messageBar').removeClass('hide');
|
|
|
|
jQuery("button[name='add']").attr("disabled","disabled");
|
|
|
|
event.preventDefault();//important
|
|
|
|
$.ajax({
|
|
|
|
type: "POST",
|
|
|
|
url: "index.php?module=NoteDeFraisAjax&view=NoteDeFraisAjax&action=updateparametrage",
|
|
|
|
data: $('#form').serialize(),
|
|
|
|
success: function (data) {
|
|
|
|
jQuery('#messageBar').addClass('hide');
|
|
|
|
|
|
|
|
window.location.replace("index.php?module=NoteDeFraisParametrage&view=NoteDeFraisParametrage");
|
|
|
|
|
|
|
|
},
|
|
|
|
error: function(){
|
|
|
|
jQuery('#messageBar').addClass('hide');
|
|
|
|
$("button[name='add']").removeAttr("disabled");
|
|
|
|
alert('<strong>Aucun accès à Internet</strong>');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function exportpdf(){
|
|
|
|
if($("#form2")[0].checkValidity()) {
|
|
|
|
|
|
|
|
jQuery("button[name='export']").attr("disabled","disabled");
|
|
|
|
event.preventDefault();//important
|
|
|
|
$.ajax({
|
|
|
|
type: "POST",
|
|
|
|
url: "index.php?module=NoteDeFraisAjax&view=NoteDeFraisAjax&action=exportpdf",
|
|
|
|
data: $('#form2').serialize(),
|
|
|
|
success: function (data) {
|
|
|
|
$( "body" ).append( data );
|
|
|
|
generate();
|
|
|
|
$("#etat").remove();
|
|
|
|
$("button[name='export']").removeAttr("disabled");
|
|
|
|
},
|
|
|
|
error: function(){
|
|
|
|
$("button[name='export']").removeAttr("disabled");
|
|
|
|
alert('<strong>Aucun accès à Internet</strong>');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function generate() {
|
|
|
|
var doc = new jsPDF('p', 'pt', 'letter');
|
|
|
|
var htmlstring = '';
|
|
|
|
var tempVarToCheckPageHeight = 0;
|
|
|
|
var pageHeight = 0;
|
|
|
|
pageHeight = doc.internal.pageSize.height;
|
|
|
|
specialElementHandlers = {
|
|
|
|
// element with id of "bypass" - jQuery style selector
|
|
|
|
'#bypassme': function(element, renderer) {
|
|
|
|
// true = "handled elsewhere, bypass text extraction"
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
};
|
|
|
|
margins = {
|
|
|
|
top: 150,
|
|
|
|
bottom: 60,
|
|
|
|
left: 40,
|
|
|
|
right: 40,
|
|
|
|
width: 600
|
|
|
|
};
|
|
|
|
var y = 20;
|
|
|
|
doc.setLineWidth(2);
|
|
|
|
doc.text(150, y = y + 30, "ETAT DES NOTES DE FRAIS "+$('[name="mois"]').val()+" "+$('[name="annee"]').val());
|
|
|
|
doc.autoTable({
|
|
|
|
html: '#etat',
|
|
|
|
startY: 70,
|
|
|
|
theme: 'grid',
|
|
|
|
columnStyles: {
|
|
|
|
0: {
|
|
|
|
cellWidth: 180,
|
|
|
|
},
|
|
|
|
1: {
|
|
|
|
cellWidth: 180,
|
|
|
|
},
|
|
|
|
2: {
|
|
|
|
cellWidth: 180,
|
|
|
|
}
|
|
|
|
},
|
|
|
|
styles: {
|
|
|
|
minCellHeight: 20
|
|
|
|
}
|
|
|
|
})
|
|
|
|
doc.save('ETAT DES NOTES DE FRAIS '+$('[name="mois"]').val()+' '+$('[name="annee"]').val()+'.pdf');
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</html>
|