1

Topic: [plugin WS] Impossible de voir les relations tickets-utilisateurs

Bonjour,

En utilisant la fonction

static function methodCreateObjects($params, $protocol)


du plugin web-services, je peux créer une nouvelle relation entre un utilisateur et un ticket (par exemple, pour assigner un nouveau propriétaire au ticket).
La création se déroule bien toutefois je reçois toujours une erreur du web-service, du type "command not allowed".
En réalité, c'est lors de la récupération de la liste des relations justes créées (qui constituent les valeurs de retour du web-service) que se produit l'erreur.
La classe Ticket_User ne surcharge pas la méthode canView() (=> c'est là l'erreur à mon avis). Et celle-ci renvoit "faux" par défaut (alors que l'inverse est d'ailleurs marqué en commentaire).

   /**
    * Have I the global right to "view" the Object
    *
    * Default is true and check entity if the objet is entity assign
    *
    * May be overloaded if needed
    *
    * @return booleen
   **/
   function canView() {
      return false;
   }

Résultat : on peut créer des relations qu'on ne peut pas voir :-S
Et le web-service renvoie une erreur sur une opération qui s'est bien déroulée en réalité.

Ce bug est présent dans le trunk du SVN, et au moins depuis la version 0.80.31

Exemple de logs d'erreur des web-services :

2012-02-23 19:44 [6@ISC-WKS-026]
Execute method:glpi.createObjects, function:PluginWebservicesMethodInventaire::methodCreateObjects (xml-rpc), duration:0.097, size:304
2012-02-23 19:44 [6@ISC-WKS-026]
Connection: superadmin, 127.0.0.1
Protocol: xml-rpc, Method: glpi.createObjects, Function: PluginWebservicesMethodInventaire::methodCreateObjects
Params: Array
(
    [session] => ff91nib11tlhr8nojjrg0ibbs1
    [fields] => Array
        (
            [Ticket_User] => Array
                (
                    [0] => Array
                        (
                            [use_notification] => 0
                            [alternative_email] => 
                            [tickets_id] => 148
                            [users_id] => 2
                            [type] => 2
                        )

                    [1] => Array
                        (
                            [use_notification] => 1
                            [alternative_email] => [email protected]
                            [tickets_id] => 148
                            [users_id] => 3
                            [type] => 2
                        )

                    [2] => Array
                        (
                            [use_notification] => 1
                            [alternative_email] => [email protected]
                            [tickets_id] => 148
                            [users_id] => 4
                            [type] => 2
                        )

                )

        )

)
Compression: Server:/, Config:0, Agent:?
Duration: 0.097s
Response size: 304
Response content: Array
(
    [Ticket_User] => Array
        (
            [0] => Array
                (
                    [faultCode] => 16
                    [faultString] => Command not allowed (Ticket_User)
                )

            [1] => Array
                (
                    [faultCode] => 16
                    [faultString] => Command not allowed (Ticket_User)
                )

            [2] => Array
                (
                    [faultCode] => 16
                    [faultString] => Command not allowed (Ticket_User)
                )

        )

)

2

Re: [plugin WS] Impossible de voir les relations tickets-utilisateurs

Bonjour,

J'observe exactement le même comportement avec les relations ticket-groupes.

- emmanuel