You are not logged in.
Bonjour,
Sur les graph de type Hgbar, on ne peut pas définir de plage de date à chaque fois la date par défaut est rechargée.
Les graph affectés sont :
Nombre de tickets clôturés par catégories et par types
Nombre de tickets ouverts par catégories et par types
Nombre de tickets ouverts par catégories et par statuts
Mais bizarrement pas :
Nombre de tickets ouverts et clôturés par services
Qui est pourtant un Hgbar.
Cdt.
----------------------------------------------------------------
J'aurais une petit question aussi en rapport avec la fonction getSQLDate
ligne 128 du fichier misc.class.php :
$begin=date("Y-m-d H:i:s",$time1);
$end=date("Y-m-d H:i:s",$time2);
return "($field >= '$begin' AND $field <= ADDDATE('$end' , INTERVAL 1 DAY) )";
Est-ce que ça va faire exactement la même chose que :
$begin=date("Y-m-d 00:00:00",$time1);
$end=date("Y-m-d 23:59:59",$time2);
return "($field BETWEEN '$begin' AND '$end')";
Par exemple, dans le cas ou je definirait une plage du 20-01-2013 au 25-01-2013 ;
Avec le code en BETWEEN ça prend du 20-01-2013 00:00:00 jusqu'au 25-01-2013 23:59:59
Pour le code original ça prend pour moi du 20-01-2013 00:00:00 jusqu'au 25-01-2013 00:00:00 ; j'ai un doute sur ce que fait "INTERVAL 1 DAY".
Offline
Bonjour,
Quelqu'un a-t-il le même problème pour la prise en compte des dates pour les graph Hgbar suivant ?
"Nombre de tickets clôturés par catégories et par types"
"Nombre de tickets ouverts par catégories et par types"
"Nombre de tickets ouverts par catégories et par statuts"
Cdt.
Offline
Apparement ça ne concerne pas forcement les Hgbar, je viens de tester de passer un de mes graph qui buggait, comme les Hgbar de bases, en Vstackbar et j'ai le même problème, la date n'est pas prise en compte, il recharge à chaque fois l'interval de date par défaut.
Offline
function reportVstackbarCustomNombreTicketClosParTechnicienParCategorie() {
global $DB, $LANG;
$datas = array();
/*Must be defined*/
$configs = PluginMreportingConfig::initConfigParams(__FUNCTION__, __CLASS__);
foreach ($configs as $k => $v) {
$$k=$v;
}
$this->sql_date = PluginMreportingMisc::getSQLDate("glpi_tickets.date",$delay,$randname);
/*End Must be defined*/
//initialisation du tableau pour prendre en compte les valeurs à 0
$query_i = "SELECT glpi_itilcategories.completename as category_name,
glpi_users.name as tech
FROM glpi_itilcategories, glpi_users
WHERE glpi_users.id = '521'
OR glpi_users.id = '6'
OR glpi_users.id = '7'
OR glpi_users.id = '267'
OR glpi_users.id = '519'
OR glpi_users.id = '354'
ORDER BY category_name
";
$result_i = $DB->query($query_i);
while ($data = $DB->fetch_assoc($result_i)) {
$datas['labels2'][$data['tech']] = $data['tech'];
$datas['datas'][$data['category_name']][$data['tech']] = 0;
}
//recuperation des donnees
$query = "SELECT glpi_itilcategories.completename as category_name,
glpi_users.name as tech,
COUNT(glpi_tickets.id) as count
FROM glpi_itilcategories
LEFT JOIN glpi_tickets ON glpi_tickets.itilcategories_id = glpi_itilcategories.id
LEFT JOIN glpi_tickets_users ON glpi_tickets.id = glpi_tickets_users.tickets_id
LEFT JOIN glpi_users ON glpi_tickets_users.users_id = glpi_users.id
WHERE ".$this->sql_date."
AND glpi_tickets_users.type = '2'
AND glpi_tickets.is_deleted = '0'
AND glpi_tickets.solvedate IS NOT NULL
AND (glpi_users.id = '521'
OR glpi_users.id = '6'
OR glpi_users.id = '7'
OR glpi_users.id = '267'
OR glpi_users.id = '519'
OR glpi_users.id = '354')
GROUP BY tech, category_name
ORDER BY category_name
";
$result = $DB->query($query);
while ($ticket = $DB->fetch_assoc($result)) {
$datas['datas'][$ticket['category_name']][$ticket['tech']] = $ticket['count'];
}
return $datas;
}
Voici le code de ma fonction si ça peut aider.
Last edited by romain.i (2013-03-06 18:31:54)
Offline
Bon j'avance :
Quand je clique sur le bouton "Actualiser" sur les graph qui bug, il repasse constament dans les conditions :
if (!isset($_REQUEST['date1'.$randname]))
$_REQUEST['date1'.$randname] = strftime("%Y-%m-%d", time() - ($delay * 24 * 60 * 60));
if (!isset($_REQUEST['date2'.$randname]))
$_REQUEST['date2'.$randname] = strftime("%Y-%m-%d");
De la fonction getSQLDate
Comme s'il ne voyait pas que les deux dates sont définies.
Offline
Problème résolu en fait le nom randname généré pour les dates étaient trop long en caractère :
date2PluginMreportingXXXXreportVstackbarDeyaNombreTicketClosParTechnicien
Je ne sais pas quel est la limite mais en en raccourcissant le nom de la fonction tout ce passe bien.
Un petit ajout dans la doc pour dire que le nom de la classe + le nom de la fonction ne doivent pas dépasser tant de caractère serait pas mal
Offline
Bonjour,
Je rencontre le même problème que vous au niveau des dates.
Pouvez-m'indiquer quelles modifications vous avez apporté et sur quel fichier.
Merci de votre retour
Cordialement
Offline