getContactAddresses() public method

public getContactAddresses ( )
Exemplo n.º 1
0
 /**
  * returns addresses from account or contact.
  *
  * @param AccountInterface|Contact $entity
  *
  * @return \Doctrine\Common\Collections\Collection|null
  */
 private function getAddresses($entity)
 {
     if ($entity instanceof AccountInterface) {
         return $entity->getAccountAddresses();
     } elseif ($entity instanceof Contact) {
         return $entity->getContactAddresses();
     }
     return;
 }
Exemplo n.º 2
0
 /**
  * removes the address relation from a contact and also deletes the address if it has no more relations.
  *
  * @param Contact $contact
  * @param ContactAddress $contactAddress
  *
  * @return mixed|void
  *
  * @throws \Exception
  */
 public function removeAddressRelation($contact, $contactAddress)
 {
     if (!$contact || !$contactAddress) {
         throw new \Exception('Contact and ContactAddress cannot be null');
     }
     // reload address to get all data (including relational data)
     /** @var Address $address */
     $address = $contactAddress->getAddress();
     $address = $this->em->getRepository('SuluContactBundle:Address')->findById($address->getId());
     $isMain = $contactAddress->getMain();
     // remove relation
     $contact->removeContactAddress($contactAddress);
     $address->removeContactAddress($contactAddress);
     // if was main, set a new one
     if ($isMain) {
         $this->setMainForCollection($contact->getContactAddresses());
     }
     // delete address if it has no more relations
     if (!$address->hasRelations()) {
         $this->em->remove($address);
     }
     $this->em->remove($contactAddress);
 }