Exemple #1
0
 /**
  * @param Order|object $order
  * @return bool
  */
 protected function isOrderValid($order)
 {
     if (!$order instanceof Order) {
         return false;
     }
     $customer = $order->getCustomer();
     if (!$customer || !$customer instanceof Customer) {
         return false;
     }
     return true;
 }
Exemple #2
0
 /**
  * @param Order|object $order
  * @param float|null $newLifetime
  * @param array $changeSet
  * @dataProvider updateDataProvider
  */
 public function testUpdate($order, $newLifetime = null, array $changeSet = array())
 {
     $isUpdateRequired = array_intersect(array('subtotalAmount', 'status'), array_keys($changeSet));
     if ($isUpdateRequired && $newLifetime) {
         $entityManager = $this->createEntityManagerMock($order->getCustomer(), $newLifetime);
     } else {
         $entityManager = $this->createEntityManagerMock();
     }
     $listener = new OrderListener();
     $listener->preUpdate(new PreUpdateEventArgs($order, $entityManager, $changeSet));
     if ($isUpdateRequired) {
         $this->assertAttributeEquals(array($order->getId() => true), 'ordersForUpdate', $listener);
     } else {
         $this->assertAttributeEmpty('ordersForUpdate', $listener);
     }
     $listener->postUpdate(new LifecycleEventArgs($order, $entityManager));
     $this->assertAttributeEmpty('ordersForUpdate', $listener);
 }
 /**
  * Change status to disable for deleted seller products.
  *
  * @param object $observer            
  */
 public function customerdelete($observer)
 {
     $customer = $observer->getCustomer();
     $productCollections = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('seller_id', $customer->getId());
     foreach ($productCollections as $product) {
         $productId = $product->getEntityId();
         Mage::helper('marketplace/general')->changeAssignProductId($productId);
     }
 }
Exemple #4
0
 /**
  * @param Order|object $order
  *
  * @return bool
  */
 protected function isOrderValid($order)
 {
     return $order instanceof Order && $order->getCustomer() instanceof Customer;
 }
 /**
  * If customer is deleted - close ticket and unassign any customer from ticket
  * @param object $event
  * @return
  */
 public function unlinkCustomerTickets($event)
 {
     $customer = $event->getCustomer();
     $ticketCollection = Mage::getModel('helpdeskultimate/ticket')->getCollection()->addCustomerFilter($customer->getId());
     foreach ($ticketCollection as $ticket) {
         $ticket->setStatus(AW_Helpdeskultimate_Model_Status::STATUS_CLOSED)->setCustomerId(0)->save();
     }
 }
 /**
  * Function which can be over-ridden to perform any pre-deletion tasks
  *
  * You can stop the deletion by returning false but you should also add a
  * message to explain why.
  *
  * @param object $object The Doctrine2 entity to delete
  * @return bool Return false to stop / cancel the deletion
  */
 protected function preDelete($object)
 {
     // if I'm not an admin, then make sure I have permission!
     if ($this->getUser()->getPrivs() != \Entities\User::AUTH_SUPERUSER) {
         if ($object->getCustomer() != $this->getUser()->getCustomer()) {
             $this->getLogger()->notice("{$this->getUser()->getUsername()} tried to delete other customer user {$object->getUser()->getUsername()}");
             $this->addMessage('You are not authorised to delete this user. The administrators have been notified.');
             return false;
         }
     } else {
         // keep the customer ID for redirection on success
         $this->getSessionNamespace()->ixp_contact_delete_custid = $object->getCustomer()->getId();
     }
     if ($object->getUser()) {
         $this->_deleteUser($object);
     }
     // if we are only deleting the user login account, take over control here and redirect
     if ($this->getParam('useronly', false)) {
         $this->getD2EM()->flush();
         $this->addMessage('User login account successfully removed.', OSS_Message::SUCCESS);
         $this->redirectAndEnsureDie('customer/overview/tab/users/id/' . $object->getCustomer()->getId());
     }
     return true;
 }