Bonjour,

Actuellement, les URLs de tri des listes d'inventaire ne sont pas
construites avec la méthode getSearchURL() de l'itemtype (ou
Toolbox::getItemtypeSearchUrl() dans le cas de la recherche globale).

Les objets gérés par le plugin GenericObject ne sont plus triables car
les liens ne sont pas valides.

Par exemple, l'url de recherche GenericObject suivante :
/plugins/genericobject/front/object.php?itemtype=PluginGenericobjectCar

l'url de tri devient :
/plugins/genericobject/front/object.php?itemtype=PluginGenericobjectCar?itemtype=PluginGenericobjectCar

Cheers,
--
Kevin Roy
Index: inc/search.class.php
===================================================================
--- inc/search.class.php	(revision 23156)
+++ inc/search.class.php	(working copy)
@@ -1257,14 +1257,26 @@
          $metanames = array();
          foreach ($data['data']['cols'] as $key => $val) {
             $linkto = '';
-            if (!$val['meta']
-                && (!isset($val['searchopt']['nosort'])
-                    || !$val['searchopt']['nosort'])) {
+            if (
+               !$val['meta']
+               && (
+                  !isset($val['searchopt']['nosort'])
+                  || !$val['searchopt']['nosort']
+               )
+            ) {
 
-               $linkto = $data['search']['target']."?itemtype=".$data['itemtype']."&sort=".
-                           $val['id']."&order=".
-                           (($data['search']['order'] == "ASC") ?"DESC":"ASC").
-                           "&start=".$data['search']['start']."&".$globallinkto;
+               if (class_exists($data['itemtype'])) {
+                  $target = $data['itemtype']::getSearchURL();
+               } else {
+                  $target = Toolbox::getItemTypeSearchURL($data['itemtype']);
+               }
+
+               $linkto = $target
+                         .(strpos($target,'?') ? '&' : '?')
+                         ."sort=".$val['id']
+                         ."&order="
+                         .(($data['search']['order'] == "ASC") ?"DESC":"ASC")
+                         ."&start=".$data['search']['start']."&".$globallinkto;
             }
 
             $name = $val["name"];
_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to