/** * @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; }
/** * @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); } }
/** * @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; }