コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function initialize()
 {
     $this->channels = $this->channelRepository->findAll();
     foreach ($this->attributeRepository->getNonIdentifierAttributes() as $attribute) {
         $this->attributes[(string) $attribute->getGroup()][] = $attribute;
         foreach ($this->channels as $channel) {
             $this->addAttributeRequirement($this->factory->createAttributeRequirement($attribute, $channel, false));
         }
     }
 }
コード例 #2
0
 function it_initializes_attribute_requirements_with_all_channels_and_attributes_in_the_PIM(ChannelRepository $channelRepository, Channel $ecommerce, Channel $mobile, AttributeRepository $attributeRepository, AbstractAttribute $name, AbstractAttribute $description, AttributeRequirementFactory $factory, AttributeRequirement $r1, AttributeRequirement $r2, AttributeRequirement $r3, AttributeRequirement $r4)
 {
     $channelRepository->findAll()->willReturn([$ecommerce, $mobile]);
     $attributeRepository->getNonIdentifierAttributes()->willReturn([$name, $description]);
     $factory->createAttributeRequirement($name, $ecommerce, false)->willReturn($r1);
     $r1->getAttributeCode()->willReturn('name');
     $r1->getChannelCode()->willReturn('ecommerce');
     $factory->createAttributeRequirement($name, $mobile, false)->willReturn($r2);
     $r2->getAttributeCode()->willReturn('name');
     $r2->getChannelCode()->willReturn('mobile');
     $factory->createAttributeRequirement($description, $ecommerce, false)->willReturn($r3);
     $r3->getAttributeCode()->willReturn('description');
     $r3->getChannelCode()->willReturn('ecommerce');
     $factory->createAttributeRequirement($description, $mobile, false)->willReturn($r4);
     $r4->getAttributeCode()->willReturn('description');
     $r4->getChannelCode()->willReturn('mobile');
     $this->initialize();
     $this->getAttributeRequirements()->toArray()->shouldReturn(['name_ecommerce' => $r1, 'name_mobile' => $r2, 'description_ecommerce' => $r3, 'description_mobile' => $r4]);
 }
コード例 #3
0
 /**
  * Schedule recalculation of completenesses for all products
  * of a channel
  *
  * @param Channel $channel
  */
 public function scheduleForChannel(Channel $channel)
 {
     if ($channel->getId()) {
         $deletedLocaleIds = $this->channelRepository->getDeletedLocaleIdsForChannel($channel);
         foreach ($deletedLocaleIds as $deletedLocaleId) {
             $deletedLocale = $this->localeRepository->find($deletedLocaleId);
             $this->generator->scheduleForChannelAndLocale($channel, $deletedLocale);
         }
     }
 }