Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Report: link to custom assets (GLPI 11+/12 asset definitions) leads to "item not found"

Ouverte Adaptée aux débutants
#127 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
php
Domaine
backend

Piste de recherche

Le mauvais lien est construit dans src/Report.php autour de la ligne 203, où Toolbox::getItemTypeFormURL() est utilisé pour la colonne "Connected to". Le ticket indique que $item est déjà instancié pour chaque ligne ; vérifie donc que la boucle sur les lignes le rend accessible et que les actifs personnalisés surchargent getFormURL(). Reproduis le problème avec un actif personnalisé disposant de la capacité "Network ports" sur une plage IP. C'est terminé lorsque le lien ouvre le formulaire de l'actif pour les actifs personnalisés, et que les liens du cœur, comme ceux des ordinateurs, continuent de résoudre vers leurs URL de formulaire existantes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Version: addressing 3.3.0, GLPI 12.0.0

Steps to reproduce

  1. Create a custom asset definition with the "Network ports" capacity.
  2. Give an asset of this type a network port with an IP inside a range (e.g. via the reservation form).
  3. Open the range report and click the asset name in the "Connected to" column.

Expected: the asset form opens.
Actual: "The requested item has not been found".

Cause
src/Report.php (line 203) builds the link with
Toolbox::getItemTypeFormURL($line['itemtype']) . '?id=' . …, which derives a file name from the class:

URL
generated /front/customasset/ip_reservierungasset.form.php?id=12
correct /front/asset/asset.form.php?class=IP_Reservierung&id=12

Custom assets override getFormURL(); Toolbox::getItemTypeFormURL() does not know about that.

Fix
$item is already instantiated for the row a few lines above, so:

$row['device'] = self::newCell(
    $label,
    $item::getFormURLWithID((int) $line['on_device']),
);

The result is the same as before for core types (e.g. /front/computer.form.php?id=12).

Langage dominant
PHP
Étoiles
43
Forks
24
Merge moyen
1 h 4 min
PR mergées (30 j)
5

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de pluginsGLPI/addressing

Toutes les issues de pluginsGLPI/addressing

Issues similaires

Plus d'issues PHP

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.