/** * @param Comment $comment * @param EntityManager $entityManager * @param bool $update */ protected function setUpdatedProperties(Comment $comment, EntityManager $entityManager, $update = false) { $newUpdatedBy = $this->getUser($entityManager); $unitOfWork = $entityManager->getUnitOfWork(); if ($update && $newUpdatedBy != $comment->getUpdatedBy()) { $unitOfWork->propertyChanged($comment, 'updatedBy', $comment->getUpdatedBy(), $newUpdatedBy); } $comment->setUpdatedBy($newUpdatedBy); }
/** * {@inheritdoc} */ public function load(ObjectManager $manager) { $userManager = $this->container->get('oro_user.manager'); $adminUser = $userManager->findUserByEmail(LoadAdminUserData::DEFAULT_ADMIN_EMAIL); $organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst(); foreach ($this->commentData as $data) { $entity = new Comment(); $entity->setTarget($this->getReference('default_activity')); $entity->setOrganization($organization); $entity->setOwner($adminUser); $this->setEntityPropertyValues($entity, $data, ['createdAt', 'updatedAt']); $entity->setCreatedAt(new \DateTime($data['createdAt'], new \DateTimeZone('UTC'))); $entity->setUpdatedAt(new \DateTime($data['updatedAt'], new \DateTimeZone('UTC'))); $manager->persist($entity); } $manager->flush(); }
/** * @param Comment $entity * @param string $entityClass * @param string $entityId * * @return array */ public function getEntityViewModel(Comment $entity, $entityClass = '', $entityId = '') { $ownerName = ''; $ownerId = ''; if ($entity->getOwner()) { $ownerName = $this->entityNameResolver->getName($entity->getOwner()); $ownerId = $entity->getOwner()->getId(); } $editorName = ''; $editorId = ''; if ($entity->getUpdatedBy()) { $editorName = $this->entityNameResolver->getName($entity->getUpdatedBy()); $editorId = $entity->getUpdatedBy()->getId(); } $result = ['id' => $entity->getId(), 'owner' => $ownerName, 'owner_id' => $ownerId, 'editor' => $editorName, 'editor_id' => $editorId, 'message' => $entity->getMessage(), 'relationClass' => $entityClass, 'relationId' => $entityId, 'createdAt' => $entity->getCreatedAt()->format('c'), 'updatedAt' => $entity->getUpdatedAt()->format('c'), 'editable' => $this->securityFacade->isGranted('EDIT', $entity), 'removable' => $this->securityFacade->isGranted('DELETE', $entity)]; $result = array_merge($result, $this->getAttachmentInfo($entity)); $result = array_merge($result, $this->getCommentAvatarImageUrl($entity->getOwner())); return $result; }
public function testPreUpdate() { $this->entity->preUpdate(); $this->assertNotNull($this->entity->getUpdatedAt()); }