Example #1
0
 /**
  * Compares an order-address response with its origin entities.
  *
  * @param OrderAddressInterface $orderAddress
  * @param Address $address
  * @param ContactInterface $contact
  * @param AccountInterface $account
  */
 protected function checkOrderAddress($orderAddress, Address $address, ContactInterface $contact, AccountInterface $account = null)
 {
     // Contact
     $this->assertEquals($contact->getFirstName(), $orderAddress->firstName);
     $this->assertEquals($contact->getLastName(), $orderAddress->lastName);
     if ($contact->getTitle() !== null) {
         $this->assertEquals($contact->getTitle()->getTitle(), $orderAddress->title);
     }
     // Address
     $this->assertEqualsIfExists($address->getStreet(), $orderAddress, 'street');
     $this->assertEqualsIfExists($address->getAddition(), $orderAddress, 'addition');
     $this->assertEqualsIfExists($address->getNumber(), $orderAddress, 'number');
     $this->assertEqualsIfExists($address->getCity(), $orderAddress, 'city');
     $this->assertEqualsIfExists($address->getZip(), $orderAddress, 'zip');
     $this->assertEqualsIfExists($address->getCountry()->getName(), $orderAddress, 'country');
     $this->assertEqualsIfExists($address->getPostboxNumber(), $orderAddress, 'postboxNumber');
     $this->assertEqualsIfExists($address->getPostboxCity(), $orderAddress, 'postboxCity');
     $this->assertEqualsIfExists($address->getPostboxPostcode(), $orderAddress, 'postboxPostcode');
     // Account
     if ($account) {
         $this->assertEqualsIfExists($account->getName(), $orderAddress, 'accountName');
         $this->assertEqualsIfExists($account->getUid(), $orderAddress, 'uid');
     }
 }
Example #2
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;
 }
Example #3
0
 /**
  * removes the address relation from a contact and also deletes the address if it has no more relations.
  *
  * @param AccountInterface     $account
  * @param AccountAddressEntity $accountAddress
  *
  * @return mixed|void
  *
  * @throws \Exception
  */
 public function removeAddressRelation($account, $accountAddress)
 {
     if (!$account || !$accountAddress) {
         throw new \Exception('Account and AccountAddress cannot be null');
     }
     // reload address to get all data (including relational data)
     /** @var AddressEntity $address */
     $address = $accountAddress->getAddress();
     $address = $this->em->getRepository('SuluContactBundle:Address')->findById($address->getId());
     $isMain = $accountAddress->getMain();
     // remove relation
     $address->removeAccountAddress($accountAddress);
     $account->removeAccountAddress($accountAddress);
     // if was main, set a new one
     if ($isMain) {
         $this->setMainForCollection($account->getAccountContacts());
     }
     // delete address if it has no more relations
     if (!$address->hasRelations()) {
         $this->em->remove($address);
     }
     $this->em->remove($accountAddress);
 }
Example #4
0
 /**
  * Parses the account data.
  *
  * @param AccountInterface $account
  *
  * @return array
  */
 protected function parseAccount(AccountInterface $account)
 {
     if ($account) {
         $data = [];
         $data['id'] = $account->getId();
         $data['name'] = $account->getName();
         $data['phone'] = $account->getMainPhone();
         $data['email'] = $account->getMainEmail();
         $data['url'] = $account->getMainUrl();
         // get main contact
         if ($account->getMainContact()) {
             $data['contact'] = $account->getMainContact()->getFullName();
         }
         /* @var Address $accountAddress */
         $accountAddress = $account->getMainAddress();
         if ($accountAddress) {
             $data['address']['street'] = $accountAddress->getStreet();
             $data['address']['number'] = $accountAddress->getNumber();
             $data['address']['zip'] = $accountAddress->getZip();
             $data['address']['city'] = $accountAddress->getCity();
             $data['address']['country'] = $accountAddress->getCountry()->getName();
         }
         return $data;
     } else {
         return null;
     }
 }
Example #5
0
 /**
  * Process geiven entity for patch.
  *
  * @param AccountInterface $account
  * @param Request $request
  * @param ObjectManager $entityManager
  */
 protected function doPatch(AccountInterface $account, Request $request, ObjectManager $entityManager)
 {
     $accountManager = $this->getAccountManager();
     if ($request->get('uid') !== null) {
         $account->setUid($request->get('uid'));
     }
     if ($request->get('registerNumber') !== null) {
         $account->setRegisterNumber($request->get('registerNumber'));
     }
     if ($request->get('number') !== null) {
         $account->setNumber($request->get('number'));
     }
     if ($request->get('placeOfJurisdiction') !== null) {
         $account->setPlaceOfJurisdiction($request->get('placeOfJurisdiction'));
     }
     if (array_key_exists('id', $request->get('logo', []))) {
         $accountManager->setLogo($account, $request->get('logo')['id']);
     }
     if ($request->get('medias') !== null) {
         $accountManager->setMedias($account, $request->get('medias'));
     }
     // Check if mainContact is set
     if (($mainContactRequest = $request->get('mainContact')) !== null) {
         $mainContact = $entityManager->getRepository($this->container->getParameter('sulu.model.contact.class'))->find($mainContactRequest['id']);
         if ($mainContact) {
             $account->setMainContact($mainContact);
         }
     }
     // Process details
     if ($request->get('bankAccounts') !== null) {
         $accountManager->processBankAccounts($account, $request->get('bankAccounts', []));
     }
 }
Example #6
0
 /**
  * Get Email-Address of account
  *
  * @param AccountInterface $account
  *
  * @return string|null
  */
 public function getEmailAddressOfAccount(AccountInterface $account)
 {
     $accountMainEmail = $account->getMainEmail();
     if ($accountMainEmail) {
         return $accountMainEmail;
     }
     return null;
 }