/**
  * @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);
 }
示例#2
0
 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);
 }