Beispiel #1
0
 /**
  * @param ImapEmailOrigin $origin
  */
 protected function clearOrigin(ImapEmailOrigin $origin)
 {
     $folders = $origin->getFolders();
     $folderRepository = $this->em->getRepository('OroImapBundle:ImapEmailFolder');
     foreach ($folders as $folder) {
         $imapFolder = $folderRepository->findOneBy(['folder' => $folder]);
         if (!$origin->isActive()) {
             $this->removeFolder($imapFolder);
         } elseif (!$folder->isSyncEnabled()) {
             $this->clearFolder($imapFolder);
             $imapFolder->getFolder()->setSynchronizedAt(null);
         }
     }
     if (!$origin->isActive()) {
         $this->em->remove($origin);
         $this->em->flush();
     }
 }
 /**
  * Case when user submit empty form but have configuration
  * configuration should be not active and relation should be broken
  */
 public function testSubmitEmptyForm()
 {
     $type = new ConfigurationType($this->encryptor);
     $form = $this->factory->create($type);
     $entity = new ImapEmailOrigin();
     $this->assertTrue($entity->isActive());
     $form->setData($entity);
     $form->submit(array('host' => '', 'port' => '', 'ssl' => '', 'user' => '', 'password' => ''));
     $this->assertNotSame($entity, $form->getData());
     $this->assertNotInstanceOf('Oro\\Bundle\\ImapBundle\\Entity\\ImapEmailOrigin', $form->getData());
     $this->assertNull($form->getData());
 }