/**
  * @param string $entityType
  * @param array $entityData
  * @return array
  * @throws \Exception
  */
 public function execute($entityType, $entityData)
 {
     $linkField = $this->metadataPool->getMetadata($entityType)->getLinkField();
     if (isset($entityData['website_ids'])) {
         $websiteIds = $entityData['website_ids'];
         if (!is_array($websiteIds)) {
             $websiteIds = explode(',', (string) $websiteIds);
         }
         $this->ruleResource->bindRuleToEntity($entityData[$linkField], $websiteIds, 'website');
     }
     if (isset($entityData['customer_group_ids'])) {
         $customerGroupIds = $entityData['customer_group_ids'];
         if (!is_array($customerGroupIds)) {
             $customerGroupIds = explode(',', (string) $customerGroupIds);
         }
         $this->ruleResource->bindRuleToEntity($entityData[$linkField], $customerGroupIds, 'customer_group');
     }
     return $entityData;
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function bindRuleToEntity($ruleIds, $entityIds, $entityType)
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'bindRuleToEntity');
     if (!$pluginInfo) {
         return parent::bindRuleToEntity($ruleIds, $entityIds, $entityType);
     } else {
         return $this->___callPlugins('bindRuleToEntity', func_get_args(), $pluginInfo);
     }
 }