Rules : probleme avec un composant et VBO

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
j'utilise rules afin de :
créer des produits (commerce product) à la volée - composant creer les produits
assigner ces produits dans le node product display - composant assigner les produits
l'ensemble est lancer à partir d'un composant : mettre en ligne les produits à partir d'une vue VBO

Si je lance chaque composant un par un tout fonctionne.
Seulement je désire une fois les produits crées lancer directement l'assignation des produits.

voici le composant principal :

{ "rules_mise_en_vente_des_actions" : {
    "LABEL" : "Mise en vente des actions",
    "PLUGIN" : "rule",
    "REQUIRES" : [ "rules" ],
    "ACCESS_EXPOSED" : "1",
    "USES VARIABLES" : {
      "action" : { "label" : "action", "type" : "node" },
      "prix" : { "label" : "prix", "type" : "commerce_price" }
    },
    "IF" : [
      { "entity_has_field" : { "entity" : [ "action" ], "field" : "field_formation_date_et_lieu" } },
      { "NOT data_is_empty" : { "data" : [ "action:field-formation-date-et-lieu" ] } },
      { "NOT data_is_empty" : { "data" : [ "prix" ] } }
    ],
    "DO" : [
      { "component_rules_suppression_des_produits_commerciaux" : { "action" : [ "action" ] } },
      { "variable_add" : {
          "USING" : {
            "type" : "list\u003Cfield_collection_item\u003E",
            "value" : [ "action:field-formation-date-et-lieu" ]
          },
          "PROVIDE" : { "variable_added" : { "liste_date_lieu" : "liste_date_lieu" } }
        }
      },
      { "LOOP" : {
          "USING" : { "list" : [ "liste-date-lieu" ] },
          "ITEM" : { "item_liste_date_lieu" : "item_liste_date_lieu" },
          "DO" : [
            { "component_rules_creer_des_produits_commerciaux" : {
                "date_lieu" : [ "item-liste-date-lieu" ],
                "action" : [ "action" ],
                "prix" : [ "prix" ]
              }
            }
          ]
        }
      },
      { "component_rules_assigner_produits_action" : { "action" : [ "action" ] } }
    ]
  }
}

J'ai l'impression que la loop n'est pas encore terminée quand le dernier composant et lancé.
Ce dernier composant, utilise une vue VBO afin de générer une liste de produit, si ce dernier composant est lancé alors que les produits ne sont pas encore enregistrer alors il est normal que l'assignation ne se fasse pas.
Mais j'imagine que rules gère les taches une à une et ne lance pas la tache n+1 si la tache n n'est pas terminée?
Merci de m'éclairer.

Forum : 
Version de Drupal : 
Tags :