1001 lines
29 KiB
PHP
1001 lines
29 KiB
PHP
<?php
|
|
|
|
require_once 'include/utils/utils.php';
|
|
|
|
require_once 'includes/Loader.php';
|
|
|
|
require_once 'SUtiles.php';
|
|
|
|
vimport ('includes.runtime.EntryPoint');
|
|
|
|
@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('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','Veille');
|
|
|
|
|
|
|
|
$viewer->view('CustomDashboard.tpl');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(isset($_POST['Evenement']) && isset($_POST['Produit'])) {
|
|
|
|
if($_FILES['fileToUpload']['name'] != ""){
|
|
|
|
$file_name = $_FILES['fileToUpload']['name'];
|
|
|
|
$file_tmp =$_FILES['fileToUpload']['tmp_name'];
|
|
|
|
$lien="file_upload/".date("Ymdhis")."_".$file_name;
|
|
|
|
move_uploaded_file($file_tmp,$lien);
|
|
|
|
|
|
|
|
$query = "INSERT INTO `veilleconc`(`event`, `product`, `ppa`, `ug`, `mpc`, `pc`, `type`, `action`,`lien_image`,`creatorid`, `date_create`)
|
|
|
|
VALUES ('".addslashes($_POST['Evenement'])."','".addslashes($_POST['Produit'])."','".addslashes($_POST['PPA'])."','".addslashes($_POST['UG'])."','".addslashes($_POST['MPC'])."','".addslashes($_POST['PC'])."','".addslashes($_POST['type'])."','".addslashes($_POST['action'])."','".$lien."','".$userid."', CURDATE());";
|
|
|
|
$adb->query($query);
|
|
|
|
}else{
|
|
|
|
$query = "INSERT INTO `veilleconc`(`event`, `product`, `ppa`, `ug`, `mpc`, `pc`, `type`, `action`,`creatorid`, `date_create`)
|
|
|
|
VALUES ('".addslashes($_POST['Evenement'])."','".addslashes($_POST['Produit'])."','".addslashes($_POST['PPA'])."','".addslashes($_POST['UG'])."','".addslashes($_POST['MPC'])."','".addslashes($_POST['PC'])."','".addslashes($_POST['type'])."','".addslashes($_POST['action'])."','".$userid."', CURDATE());";
|
|
|
|
$adb->query($query);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(!isResponsable($roleid)) $userid = "%";
|
|
|
|
$param = "like '".$userid."'";
|
|
if(isMedecin($roleid) || isPharma($roleid)) {
|
|
$subusers = array_values(getSubordinateRoleAndUsers($roleid))[0];
|
|
$subarr = array();
|
|
foreach($subusers as $key => $value){
|
|
array_push($subarr, $key);
|
|
}
|
|
$subusers_str = '('.implode (", ", $subarr).')';
|
|
$param = "in ".$subusers_str;
|
|
}
|
|
if (isVM($roleid) || isVP($roleid)) $param = "like '".$current_user->get('id')."'";
|
|
|
|
$query = "SELECT * FROM `veilleconc` v
|
|
|
|
Join vtiger_users u ON v.creatorid = u.id where creatorid ".$param.";";
|
|
|
|
$sql_get_result = $adb->pquery($query);
|
|
|
|
|
|
|
|
$results = array();
|
|
|
|
while ($recordinfo = $adb->fetch_array($sql_get_result)) {
|
|
|
|
$results[] = $recordinfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo '<div class="container-fluid main-container">
|
|
|
|
<div class="row">
|
|
|
|
|
|
|
|
<div class="detailViewContainer viewContent clearfix">
|
|
|
|
<div class="col-sm-12 col-xs-12 content-area" style="padding-left: 18px; padding-top: 0px;">
|
|
|
|
|
|
|
|
<div class="detailview-content container-fluid" >
|
|
|
|
<div class="related-tabs row">
|
|
|
|
<div class=" detailview-header-block">
|
|
|
|
<div class="row" >
|
|
|
|
<div class="col-md-2">
|
|
|
|
<button class="btn btn-default addButton addButtonLeft" onclick ="showVeillePopUp();">
|
|
|
|
<div class="fa fa-plus" aria-hidden="true"></div>
|
|
|
|
Ajouter
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="details row" style="margin-top:10px;">
|
|
|
|
<div class="relatedContainer">
|
|
|
|
<div class="relatedContents col-lg-12 col-md-12 col-sm-12 table-container">
|
|
|
|
<div class="bottomscroll-div">
|
|
|
|
<table id="listview-table" class="table table-bordered table-striped">
|
|
|
|
<thead>
|
|
|
|
<tr class="listViewHeaders">
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Type </a></th>
|
|
|
|
<th class="nowrap"> Image </th>
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Evenement </a></th>
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Produit </a></th>
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Lieu </a></th>
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> UG Laboratoire </a></th>
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Matériel promotionel concurrents </a></th>
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Prise en charge </a></th>
|
|
|
|
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Action </a></th>
|
|
|
|
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Assigné a </a></th>
|
|
|
|
<th class="nowrap" style="width : 99px;"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i> Date </a></th>
|
|
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
</thead>
|
|
|
|
<tbody id="accounttabcenter">
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>';
|
|
|
|
|
|
|
|
$viewer->view('CustomDashboardFooter.tpl');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo'
|
|
|
|
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" >
|
|
|
|
<div class="modal-dialog" role="document">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
|
|
|
|
<h4 class="modal-title" id="myModalLabel">Création rapide</h4>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<form id="formulaire" action="?module=Veille&view=Veille" method="POST" enctype="multipart/form-data">
|
|
|
|
<table class="table table-borderless">
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle">Type</td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<select class="js-example-basic-single form-control" id="type" name="type" onchange="typeTraitement(this)">
|
|
|
|
<option value=""></option>
|
|
|
|
<option value="Commerciale">Commerciale</option>
|
|
|
|
<option value="Médicale">Médicale</option>
|
|
|
|
</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle">Evenement</td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<select class="js-example-basic-single form-control" id="Evenement" name="Evenement">
|
|
|
|
<option value=""></option>
|
|
|
|
<option value="Laboratoire">Laboratoire</option>
|
|
|
|
<option value="Grossiste">Grossiste</option>
|
|
|
|
</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle">Theme</td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<select class="js-example-basic-single form-control" id="action" name="action">
|
|
|
|
<option value=""></option>
|
|
|
|
<option value="Matériel Promotionnel">Matériel Promotionnel</option>
|
|
|
|
<option value="Pack">Pack</option>
|
|
|
|
<option value="Unité Gratuite">Unité Gratuite</option>
|
|
|
|
<option value="Convention">Convention</option>
|
|
|
|
|
|
|
|
</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle">Produit </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<input type="text" class="inputElement nameField" id="Produit" name="Produit" autocomplete="off">
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle">UG Laboratoire</td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<input type="text" class="inputElement nameField" id="UG" name="UG" autocomplete="off" >
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle">Matériel promotionel concurrents</td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<input type="text" class="inputElement nameField" id="MPC" name="MPC" autocomplete="off" >
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr hidden id="Lieu">
|
|
|
|
<td class="fieldLabel alignMiddle">Lieu</td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<input type="text" class="inputElement nameField" id="PPA" name="PPA" autocomplete="off" >
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle">Prise en charge</td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<select class="js-example-basic-single form-control" id="PC" name="PC">
|
|
|
|
<option value=""></option>
|
|
|
|
<option value="Laboratoire">Laboratoire</option>
|
|
|
|
<option value="Grossiste">Grossiste</option>
|
|
|
|
</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="fieldLabel alignMiddle">Image/Photo </td>
|
|
|
|
<td class="fieldValue">
|
|
|
|
<div class="fileUploadContainer text-left">
|
|
|
|
<div class="fileUploadBtn btn btn-primary">
|
|
|
|
<span><i class="fa fa-laptop"></i> Télécharger</span>
|
|
|
|
<input onchange="ValidateSize(this)" type="file" class="inputElement" name="fileToUpload" accept="image/*" >
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="redColor" id="message"></div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<center>
|
|
|
|
<input type="hidden" name="idUser" value="">
|
|
|
|
<button type="submit" name="Enregistrer" class="btn addButton btn-success" >Enregistrer</button>
|
|
|
|
<a href="#" class="cancelLink" type="reset" data-dismiss="modal">Annuler</a>
|
|
|
|
</form>
|
|
|
|
</center>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>';
|
|
|
|
|
|
|
|
|
|
|
|
echo'<div id="divImage"></div>';
|
|
|
|
|
|
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
|
|
|
:root {
|
|
|
|
--gray-color: rgb(220, 220, 220);
|
|
|
|
--light-gray-color: rgb(240, 240, 240);
|
|
|
|
--my-color: rgb(20, 160, 217);
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
|
$('.js-example-basic-single').select2();
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
function showVeillePopUp() {
|
|
|
|
$("#formulaire")[0].reset();
|
|
|
|
$('#exampleModalCenter').modal('show');
|
|
|
|
}
|
|
|
|
|
|
|
|
function showImagePopUp(e){
|
|
|
|
$( '#divImage').empty();
|
|
|
|
$('#divImage').append(
|
|
|
|
'<div class="modal fade" id="exampleModalCenterImage" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle2" aria-hidden="true">'+
|
|
|
|
'<div class="modal-dialog modal-lg modal-dialog-centered" role="document">'+
|
|
|
|
'<div class="modal-content">'+
|
|
|
|
' <div class="modal-header">'+
|
|
|
|
'<h5 class="modal-title" id="exampleModalLongTitle2"></h5>'+
|
|
|
|
'<button type="button" class="close" data-dismiss="modal" aria-label="Close">'+
|
|
|
|
'<span aria-hidden="true">×</span>'+
|
|
|
|
'</button>'+
|
|
|
|
'</div>'+
|
|
|
|
'<div class="modal-body">'+
|
|
|
|
'<div class="row" style="margin: 5px 0px 0px 0px;">'+
|
|
|
|
'<div><img id="output" src="'+$(e).attr('name')+'" style="width: 100%; height:520px;"/></div>'+
|
|
|
|
'</div>'+
|
|
|
|
' </div>'+
|
|
|
|
'<div class="modal-footer">'+
|
|
|
|
'<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>'+
|
|
|
|
|
|
|
|
'</div>'+
|
|
|
|
'</div>'+
|
|
|
|
'</div>'+
|
|
|
|
'</div>' );
|
|
|
|
$('#exampleModalCenterImage').modal('show');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function typeTraitement(typechoosen) {
|
|
|
|
var selectobject = document.getElementById("Evenement");
|
|
|
|
var selectobject2 = document.getElementById("action");
|
|
|
|
if(typechoosen.value == "Médicale") {
|
|
|
|
for (var i=0; i<selectobject.length; i++) {
|
|
|
|
if (selectobject.options[i].value == 'Grossiste')
|
|
|
|
selectobject.remove(i);
|
|
|
|
}
|
|
|
|
for (var i=0; i<selectobject2.length; i++) {
|
|
|
|
if (selectobject2.options[i].value == 'Pack')
|
|
|
|
selectobject2.remove(i);
|
|
|
|
if (selectobject2.options[i].value == 'Unité Gratuite')
|
|
|
|
selectobject2.remove(i);
|
|
|
|
if (selectobject2.options[i].value == 'Convention')
|
|
|
|
selectobject2.remove(i);
|
|
|
|
}
|
|
|
|
$('#Evenement').val("Laboratoire").trigger('change');
|
|
|
|
$('#action').val("Matériel Promotionnel").trigger('change');
|
|
|
|
document.getElementById("Lieu").removeAttribute("hidden");
|
|
|
|
} else {
|
|
|
|
$('#Evenement').val("").trigger('change');
|
|
|
|
$('#action').val("").trigger('change');
|
|
|
|
document.getElementById("Lieu").hidden = true;
|
|
|
|
var isexiste = 0;
|
|
|
|
for (var i=0; i<selectobject.length; i++) {
|
|
|
|
if (selectobject.options[i].value == 'Grossiste')
|
|
|
|
isexiste = 1;
|
|
|
|
}
|
|
|
|
if(isexiste == 0) {
|
|
|
|
var opt = document.createElement('option');
|
|
|
|
opt.value = "Grossiste";
|
|
|
|
opt.innerHTML = "Grossiste";
|
|
|
|
selectobject.appendChild(opt);
|
|
|
|
}
|
|
|
|
isexiste = 0;
|
|
|
|
for (var i=0; i<selectobject2.length; i++) {
|
|
|
|
if (selectobject2.options[i].value == 'Pack')
|
|
|
|
isexiste = 1;
|
|
|
|
}
|
|
|
|
if(isexiste == 0) {
|
|
|
|
var opt = document.createElement('option');
|
|
|
|
opt.value = "Pack";
|
|
|
|
opt.innerHTML = "Pack";
|
|
|
|
selectobject2.appendChild(opt);
|
|
|
|
opt = document.createElement('option');
|
|
|
|
opt.value = "Unité Gratuite";
|
|
|
|
opt.innerHTML = "Unité Gratuite";
|
|
|
|
selectobject2.appendChild(opt);
|
|
|
|
opt = document.createElement('option');
|
|
|
|
opt.value = "Convention";
|
|
|
|
opt.innerHTML = "Convention";
|
|
|
|
selectobject2.appendChild(opt);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function ValidateSize(file) {
|
|
|
|
var FileSize = file.files[0].size / 1024 / 1024; // in MB
|
|
|
|
var extension = file.files[0].type;
|
|
|
|
|
|
|
|
if (extension == "image/jpeg" || extension == "image/jpg" || extension == "image/png" ) {
|
|
|
|
if (FileSize > 3 ) {
|
|
|
|
alert('Taille maximum autorisée 3 MB');
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
document.getElementById("message").textContent = file.files[0].name;
|
|
|
|
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
alert('Vérifier le format du fichier');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var result = <?php echo json_encode($results); ?>;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function loadTable(data) {
|
|
|
|
|
|
|
|
|
|
|
|
if(data.length > 0) {
|
|
|
|
|
|
|
|
for(var i = 0; i < data.length; i++) {
|
|
|
|
var row = data[i];
|
|
|
|
|
|
|
|
|
|
|
|
if(row['lien_image'] == null){
|
|
|
|
var ima = "<td></td>"
|
|
|
|
}else{
|
|
|
|
var ima = "<td class='relatedListEntryValues' style='text-align: center;' ><a name='"+row['lien_image']+"' onclick ='showImagePopUp(this)'><i title='Voir' class='fa fa-picture-o alignMiddle'></i></a></td>";
|
|
|
|
}
|
|
|
|
|
|
|
|
$('#accounttabcenter').append(
|
|
|
|
"<tr class='listViewEntries'> "
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['type']+"'>"+row['type']+"</td>"
|
|
|
|
+ima
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['event']+"'>"+row['event']+"</td>"
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['product']+"'>"+row['product']+"</td>"
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['ppa']+"'>"+row['ppa']+"</td>"
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['ug']+"'>"+row['ug']+"</td>"
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['mpc']+"'>"+row['mpc']+"</td>"
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['pc']+"'>"+row['pc']+"</td>"
|
|
|
|
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['action']+"'>"+row['action']+"</td>"
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['user_name']+"'>"+row['user_name']+"</td>"
|
|
|
|
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['date_create']+"'>"+row['date_create']+"</td>"
|
|
|
|
|
|
|
|
+"</tr>"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
loadTable(result);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
|
|
|
|
var th = $(this);
|
|
|
|
function sortdata(col) {
|
|
|
|
|
|
|
|
if (th.is('.asc')) {
|
|
|
|
th.removeClass('asc');
|
|
|
|
th.addClass('desc selected');
|
|
|
|
sortOrder = 1;
|
|
|
|
} else {
|
|
|
|
th.addClass('asc selected');
|
|
|
|
th.removeClass('desc');
|
|
|
|
sortOrder = -1;
|
|
|
|
}
|
|
|
|
th.siblings().removeClass('asc selected');
|
|
|
|
th.siblings().removeClass('desc selected');
|
|
|
|
|
|
|
|
var arrData = $('#listview-table').find('tbody >tr:has(td)').get();
|
|
|
|
arrData.sort(function (a, b) {
|
|
|
|
var val1 = $(a).children('td').eq(col).text().toUpperCase();
|
|
|
|
var val2 = $(b).children('td').eq(col).text().toUpperCase();
|
|
|
|
if ($.isNumeric(val1) && $.isNumeric(val2))
|
|
|
|
return sortOrder == 1 ? val1 - val2 : val2 - val1;
|
|
|
|
else
|
|
|
|
return (val1 < val2) ? -sortOrder : (val1 > val2) ? sortOrder : 0;
|
|
|
|
});
|
|
|
|
$.each(arrData, function (index, row) {
|
|
|
|
$('#accounttabcenter').append(row);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
sortdata(0);
|
|
|
|
|
|
|
|
$(document).ready(function () {
|
|
|
|
$('th').each(function (col) {
|
|
|
|
$(this).hover(
|
|
|
|
function () {
|
|
|
|
$(this).addClass('focus');
|
|
|
|
},
|
|
|
|
function () {
|
|
|
|
$(this).removeClass('focus');
|
|
|
|
}
|
|
|
|
);
|
|
|
|
$(this).click(function () {
|
|
|
|
sortdata(col);
|
|
|
|
});
|
|
|
|
th = $(this);
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<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>
|
|
|
|
|
|
|