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 2018-04-17 14:19:12

tichodroma
Member
Registered: 2017-05-06
Posts: 40

Rapport - Demande de conseil

GLPI 9.1.4/WAMP64 3.0.6/Windows Server 2008 R2,  Rapports1.10

Bonjour.
J'ai écris un rapport me donnant la liste des articles de la base de connaissance avec catégorie, auteur et date de dernière modification, mais s'il fonctionne (par miracle, je ne comprends pas grand chose à la doc et j'ai fait ce que je pouvais en m'inspirant des autres rapports inclus avec le plugin), je pense qu'il est assez médiocrement écrit, et certainement perfectible, en particulier pour ce qui est de la syntaxe des lignes de critères. En outre, je ne suis jamais parvenu à faire fonctionner un tri des colonnes (qui ne fonctionne pas pour les rapports inclus avec le plugin).

Pouvez-vous SVP me corriger ?

Merci.

Source :

<?php

$USEDBREPLICATE = 1;
$DBCONNECTION_REQUIRED = 0; // not really a big SQL request

include ("../../../../inc/includes.php");

//TRANS: The name of the report = Liste des articles de la base de connaissance
$report = new PluginReportsAutoReport(__('basedeconnaissance_report_title','reports'));

$critcategorie=new PluginReportsDropdownCriteria($report, "`glpi_knowbaseitems`.`knowbaseitemcategories_id`", "glpi_knowbaseitemcategories", "Catégorie");
$critauteur=new PluginReportsDropdownCriteria($report, "`glpi_knowbaseitems`.`users_id`", "glpi_users", "Auteur");

$report->displayCriteriasForm();

// Form validate and only one software with license
if ($report->criteriasValidated()) {

$report->setSubNameAuto();

$report->setColumns(array(
                          new PluginReportsColumn('Catégorie', 'Catégorie'),
                          new PluginReportsColumnLink('ID_article', 'Titre', 'KnowbaseItem', array('with_navigate' => true)),
                          new PluginReportsColumn('Auteur', 'Auteur'),
                          new PluginReportsColumnDate('Dernière modif.', 'Dernière modification')
                          ));
// SQL statement
$query = "
SELECT
    `glpi_knowbaseitems`.`id` AS `ID_article`,
    `glpi_knowbaseitems`.`name` AS `Titre`,
    `glpi_knowbaseitemcategories`.`name` AS `Catégorie`,
    concat(`glpi_users`.`realname`,' ',`glpi_users`.`firstname`) AS `Auteur`,
    `glpi_knowbaseitems`.`date_mod` AS `Dernière modif.`,
    `glpi_knowbaseitems`.`is_faq` AS `Visible utilisateurs ?`
FROM
    `glpi_knowbaseitems`,
    `glpi_knowbaseitemcategories`,
    `glpi_users`
WHERE
    `glpi_knowbaseitems`.`users_id`=`glpi_users`.`id`
    AND

    `glpi_knowbaseitems`.`knowbaseitemcategories_id`=`glpi_knowbaseitemcategories`.`id` ".
     $critcategorie->getSqlCriteriasRestriction().
     $critauteur->getSqlCriteriasRestriction().
     " ORDER BY `Catégorie`, `Dernière modif.`
";

//Verification de la requete SQL
//echo $query;

$report->setSqlRequest($query);

$report->execute();

Offline

Board footer

Powered by FluxBB