You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2013-09-09 16:20:31

globalsi
Member
Registered: 2011-09-02
Posts: 90

report 1.7 - critère intervalle de temps non fonctionnel

Bonjour,

Je viens d'installer le plugin rapport 1.7 sur mon glpi 0.84.
J'ai l'impression que le critère de recherche basé sur un intervalle de temps ne fonctionne pas.

Par exemple, le rapport "Tickets non fermés" m'indique tous les tickets non fermés (et pas uniquement ceux créés dans l'intervalle de temps donné.
En activant le mode debug, je ne vois pas dans les requêtes SQL la contrainte de temps qui devrait être donnée par :

 new PluginReportsDateIntervalCriteria($report, '`glpi_tickets`.`date`', __('Opening date'))

et

$report->addSqlCriteriasRestriction()

ENGLISH (thank's google):
Hi,
I've just installed the plugin 1.7 report on my glpi 0.84.
I think that the search criteria based on a interval time doesn't work.

For example, the report "Tickets not closed" show me all non-closed tickets (not just those created in the interval.
Activating the debug mode, I don't see in SQL queries any time constraints that should be given by:

 new PluginReportsDateIntervalCriteria ($ report, '`` glpi_tickets. `date`', __ ('Opening Date')) 

and

 $ report-> addSqlCriteriasRestriction () 
SQL REQUEST : 14 Queries took 0.001s
N°     Queries    Time    Errors
1    SELECT *
FROM `glpi_plugins`
WHERE state=1    0.000     
2    SELECT `glpi_tickets`.`priority`, DATE(`glpi_tickets`.`date`) AS date, `glpi_tickets`.`id`, `glpi_tickets`.`id` AS id2, `glpi_groups`.`name` AS groupname
FROM `glpi_tickets`
LEFT JOIN `glpi_groups_tickets` ON (`glpi_groups_tickets`.`tickets_id` = `glpi_tickets`.`id` AND `glpi_groups_tickets`.`type` = '2')
LEFT JOIN `glpi_groups` ON (`glpi_groups_tickets`.`groups_id` = `glpi_groups`.`id`)
WHERE `glpi_tickets`.`status` NOT IN ('solved', 'closed') AND NOT `glpi_tickets`.`is_deleted` AND ( `glpi_tickets`.`entities_id` IN ('6') )
ORDER BY `priority` ASC, `date` ASC    0.001     
3    SELECT `glpi_tickets`.*
FROM `glpi_tickets`
WHERE `glpi_tickets`.`id` = '480' LIMIT 1    0.000     
4    SELECT `glpi_groups_tickets`.*
FROM `glpi_groups_tickets`
WHERE `tickets_id` = '480'    0.000     
5    SELECT `glpi_tickets_users`.*
FROM `glpi_tickets_users`
WHERE `tickets_id` = '480'    0.000     
6    SELECT `glpi_suppliers_tickets`.*
FROM `glpi_suppliers_tickets`
WHERE `tickets_id` = '480'    0.000     
7    SELECT `glpi_tickets`.*
FROM `glpi_tickets`
WHERE `glpi_tickets`.`id` = '586' LIMIT 1    0.000     
8    SELECT `glpi_groups_tickets`.*
FROM `glpi_groups_tickets`
WHERE `tickets_id` = '586'    0.000     
9    SELECT `glpi_tickets_users`.*
FROM `glpi_tickets_users`
WHERE `tickets_id` = '586'    0.000     
10    SELECT `glpi_suppliers_tickets`.*
FROM `glpi_suppliers_tickets`
WHERE `tickets_id` = '586'    0.000     
11    SELECT `glpi_tickets`.*
FROM `glpi_tickets`
WHERE `glpi_tickets`.`id` = '835' LIMIT 1    0.000     
12    SELECT `glpi_groups_tickets`.*
FROM `glpi_groups_tickets`
WHERE `tickets_id` = '835'    0.000     
13    SELECT `glpi_tickets_users`.*
FROM `glpi_tickets_users`
WHERE `tickets_id` = '835'    0.000     
14    SELECT `glpi_suppliers_tickets`.*
FROM `glpi_suppliers_tickets`
WHERE `tickets_id` = '835'    0.000     
AUTOLOAD

PluginReportsAutoReport, PluginReportsAutoCriteria, PluginReportsDateIntervalCriteria, CommonITILObject, Dropdown, Bookmark, Ajax, CronTask, Stat, PluginReportsColumn, PluginReportsColumnMap, Ticket, PluginReportsColumnDateTime, PluginReportsColumnLink, CommonDBConnexity, CommonDBRelation, CommonITILActor, Search, Group_Ticket, Log, Ticket_User, Supplier_Ticket
POST VARIABLE
KEY    =>    VALUE
_glpi_tickets___date__1    =>    2013-08-07
_glpi_tickets___date__2    =>    2013-09-06
find    =>    1
_glpi_csrf_token    =>    976f276ed2bb0424fb3154f1b2e5c1e0
GET VARIABLE
SESSION VARIABLE
...

GLPI 9.2.1 sur CentOS 7

Offline

#2 2013-09-17 13:34:30

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: report 1.7 - critère intervalle de temps non fonctionnel


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#3 2013-09-17 14:42:22

globalsi
Member
Registered: 2011-09-02
Posts: 90

Re: report 1.7 - critère intervalle de temps non fonctionnel

super, merci. smile
par contre, il n'y a pas de lien de téléchargement à priori pour la version 1.7.1
et en regardant les révisions 261, 262 et 263, je me dis qu'il y a toujours des corrections en cours non ?


GLPI 9.2.1 sur CentOS 7

Offline

#4 2013-09-17 17:20:43

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: report 1.7 - critère intervalle de temps non fonctionnel

vous pourrez récupérer les modifications effectuées dans le tarbal du plugin demain.

Je ne publierais pas une nouvelle version tout de suite (j'attends voir si d'autres retours)


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#5 2013-09-23 11:27:43

globalsi
Member
Registered: 2011-09-02
Posts: 90

Re: report 1.7 - critère intervalle de temps non fonctionnel

Bonjour,

J'ai regardé ces derniers jours un peu partout (notamment https://forge.indepnet.net/projects/rep … 7-bugfixes) mais je ne vois nul par un tar.gz incluant les corrections.
Avez-vous un lien ou bien comment puis-je tester ces corrections ?

Merci d'avance.

Last edited by globalsi (2013-09-23 11:29:10)


GLPI 9.2.1 sur CentOS 7

Offline

#6 2013-10-21 18:13:59

globalsi
Member
Registered: 2011-09-02
Posts: 90

Re: report 1.7 - critère intervalle de temps non fonctionnel

Bonjour, je viens de tester le tarball trouvé à https://forge.indepnet.net/tarballs-plugins/ sur mon glpi 0.84.2
Ça fonctionne correctement. Merci beaucoup ! smile

Par contre, j'ai eu un petit soucis avec $report->addSqlCriteriasRestriction() qui, de base, commence par "AND" :

 AND (`glpi_tickets`.`date`>= '2013-10-01 00:00:00' AND `glpi_tickets`.`date`<='2013-10-02 23:59:59' )

Du coup, si on a dans la requête "WHERE" suivit de" $report->addSqlCriteriasRestriction()", cela provoque une erreur.

WHERE $report->addSqlCriteriasRestriction()

se traduit par
WHERE AND (`glpi_tickets`.`date`>= '2013-10-01 00:00:00' AND `glpi_tickets`.`date`<='2013-10-02 23:59:59' )

Résultat : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND (tt.date>= '2013-10-01 00:00:00' AND tt.date<='2013-10-21 23:59:59' )GROUP B' at line 6

Il faut donc mettre un premier critère puis enchainer par le critère de temps :

WHERE condition1 <> '1'".    
$report->addSqlCriteriasRestriction() .

se traduit par :
WHERE condition1 <> '1'AND (tt.date>= '2013-10-01 00:00:00' AND tt.date<='2013-10-21 23:59:59' )

et donne le bon résultat.

Est-ce normal ?

Last edited by globalsi (2013-10-21 18:17:26)


GLPI 9.2.1 sur CentOS 7

Offline

#7 2013-10-25 09:35:56

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: report 1.7 - critère intervalle de temps non fonctionnel

Il suffit de préciser que le paramètre est WHERE et non AND qui est défini par défaut
->addSqlCriteriasRestriction(WHERE)


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#8 2013-10-25 11:44:00

globalsi
Member
Registered: 2011-09-02
Posts: 90

Re: report 1.7 - critère intervalle de temps non fonctionnel

ok merci pour l'info et surtout merci pour tout le travail de fait !

plus qu'à attendre du coup la la version 1.7.1 "officielle" pour que tout le monde profite de la correction.

du coup, un admin peut clore le sujet.


GLPI 9.2.1 sur CentOS 7

Offline

Board footer

Powered by FluxBB