Aide suppression commande

Bonjour

je suis en train de mettre à jour mon plugin POTAGER.
Je dois entre autre supprimer certaine commande sur des ‹ équipements ›.

j’utilise donc la commande PHP Jeedom : $une_commande->remove()

mais lorsque je fais ca, la commande est bien supprimée (cool) mais j’ai quand même un message d’erreur que je ne comprend pas, je dois visiblement mal faire quelque chose.

Est-ce que quelqu’un aurait une idée ? svp

         $info = $mon_eqlogic->getCmd(null, 'date_semis');
         if (is_object($info)) {
            $info->remove();
         }

Le nom de la commande ne peut pas être vide :potagerCmd Object ( [id:protected] => 3255 [logicalId:protected] => [generic_type:protected] => [eqType:protected] => [name:protected] => [order:protected] => 0 [type:protected] => [subType:protected] => [eqLogic_id:protected] => 390 [isHistorized:protected] => 0 [unite:protected] => [configuration:protected] => [template:protected] => [display:protected] => [value:protected] => [isVisible:protected] => 1 [alert:protected] => [_collectDate:protected] => [_valueDate:protected] => [_eqLogic:protected] => [_needRefreshWidget:protected] => [_needRefreshAlert:protected] => [_changed:protected] => 1 )

Salut,

Tu lances ce code dans quelle fonction de la classe ?

1 « J'aime »

Presave ou postsave , ça fait la même erreur

Il me semble avoir déjà été confronté à ce cas mais je ne me rappelle plus les circonstances exactes.

ça ne répond pas vraiment à la demande mais si le but est de supprimer ces commandes sur une mise à jour du plugin, il est préférable de passer par la fonction plugin_update() :

plugin-template/install.php at master · jeedom/plugin-template (github.com)

Merci je vais regarder quand même

ça donnerait quelque chose dans cette idée :

function potager_update() {
  $eqLogics = eqLogic::byType('potager');
  foreach ($eqLogics as $eqLogic) {
    $cmd = $eqLogic->getCmd(null, 'date_semis');
    if (is_object($cmd)) {
      $cmd->remove();
    }
  }
}

La commande sera automatiquement supprimée dans tous les équipements lors de la MAJ du plugin.

C’est bien le problème et il y a déjà un sujet ou deux qui en parle.
La liste des commandes est reçues du frontend et elles se mettent à jour après d’où le conflit si entre temps l’une d’elle a été supprimée, il manque des infos lors du save de la « commande fantome » d’où l’erreur.

ici par exemple: Update command dans postSave equipement - numéro 10
et voici le deuxième: Mise A jour equipement => modifier le nom et logical id - numéro 14

2 « J'aime »

Avec la méthode

postAjax()

peut-être?

ok , merci pour le retour

En utilisant la fonction d’update du plugin , j’ai plus le bug, c’est plus transparent et pas de bug !

merci bcp

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.