/** * @param StrategyEvent $event */ public function onProcessAfter(StrategyEvent $event) { $entity = $event->getEntity(); /** @var OwnershipMetadataProvider $metadataProvider */ $metadataProvider = $this->metadataProviderLink->getService(); $organizationField = $metadataProvider->getMetadata(ClassUtils::getClass($entity))->getGlobalOwnerFieldName(); if (!$organizationField) { return; } /** @var SecurityFacade $securityFacade */ $securityFacade = $this->securityFacadeLink->getService(); /** * We should allow to set organization for entity only in case of console import. * If import process was executed from UI (grid's import), current organization for entities should be set. */ $organization = $this->getPropertyAccessor()->getValue($entity, $organizationField); if ($organization && $securityFacade->getOrganization() && $organization->getId() == $securityFacade->getOrganizationId()) { return; } $organization = $securityFacade->getOrganization(); if (!$organization) { $organization = $this->getDefaultOrganization(); } if (!$organization) { return; } $this->getPropertyAccessor()->setValue($entity, $organizationField, $organization); }
public function testSetGetEntity() { $this->assertEquals($this->entity, $this->event->getEntity()); $alteredEntity = new \stdClass(); $alteredEntity->id = 2; $this->event->setEntity($alteredEntity); $this->assertEquals($alteredEntity, $this->event->getEntity()); }
/** * @param StrategyEvent $event */ public function onProcessAfter(StrategyEvent $event) { $entity = $event->getEntity(); if ($entity instanceof GitHubIssue && $entity->getAssignedTo()) { // Add activity to the related Partner entity /** @var GitHubAccount $githubAccount */ $githubAccount = $entity->getAssignedTo(); $this->activityManager->addActivityTarget($entity, $githubAccount->getPartner()); // Populate entity owner from the Integration settings $this->defaultOwnerHelper->populateChannelOwner($entity, $entity->getChannel()); } }
/** * @param StrategyEvent $event */ public function onProcessAfter(StrategyEvent $event) { $entity = $event->getEntity(); /** @var OwnershipMetadataProvider $metadataProvider */ $metadataProvider = $this->metadataProviderLink->getService(); $organizationField = $metadataProvider->getMetadata(ClassUtils::getClass($entity))->getOrganizationFieldName(); if (!$organizationField) { return; } $organization = $this->getPropertyAccessor()->getValue($entity, $organizationField); if ($organization) { return; } /** @var SecurityFacade $securityFacade */ $securityFacade = $this->securityFacadeLink->getService(); $organization = $securityFacade->getOrganization(); if (!$organization) { $organization = $this->getDefaultOrganization(); } if (!$organization) { return; } $this->getPropertyAccessor()->setValue($entity, $organizationField, $organization); }