/** * @test */ public function removePositionFromObjectStorageHoldingPositions() { $position = new \Bjr\BjrLend\Domain\Model\OrderPosition(); $localObjectStorage = new \TYPO3\CMS\Extbase\Persistence\Generic\ObjectStorage(); $localObjectStorage->attach($position); $localObjectStorage->detach($position); $this->fixture->addPosition($position); $this->fixture->removePosition($position); $this->assertEquals($localObjectStorage, $this->fixture->getPositions()); }
private function sendOrderMail(\Bjr\BjrLend\Domain\Model\Order $order) { $mailConfig = array(); $mailConfig['receiver'] = $order->getCustomerEmail(); $mailConfig['sender'] = $this->settings['orderSenderEmail']; //$mailConfig['subject'] = sprintf('Bestellung von %s', $order->getCustomerName() ); //Bestellung über brauch-mal-kurz.de $mailConfig['subject'] = 'Bestellung über brauch-mal-kurz.de'; $renderer = $this->getPlainRenderer('MailbodyCustomer', 'html'); //damit f:translate funktioniert $extensionName = $this->request->getControllerExtensionName(); $renderer->getRequest()->setControllerExtensionName($extensionName); $renderer->assign('order', $order); $siteUrl = \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('TYPO3_SITE_URL'); $renderer->assign('siteUrl', $siteUrl); $content = $renderer->render(); $mailConfig['message'] = $content; /* @var $mail \TYPO3\CMS\Core\Mail\MailMessage */ $mail = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Mail\\MailMessage'); $mail->setTo($mailConfig['receiver']); $mail->setFrom($mailConfig['sender']); $mail->setSubject($mailConfig['subject']); $mail->setBody($mailConfig['message'], 'text/html'); $result = $mail->send(); //Mail to lender. For each article we have to send an email $mailConfig['subject'] = sprintf('Eingegangene Bestellung von %s', $order->getCustomerName()); foreach ($order->getPositions() as $position) { /* @var $position \Bjr\BjrLend\Domain\Model\OrderPosition */ $mailConfig['lender'] = $position->getOrganizationName(); if (strlen($position->getArticle()->getEmail()) > 0) { $mailConfig['lenderEmail'] = $position->getArticle()->getEmail(); } else { $mailConfig['lenderEmail'] = $position->getOrganizationEmail(); } $mailConfig['article'] = $position->getArticle(); $renderer = $this->getPlainRenderer('MailbodyLender', 'html'); $renderer->getRequest()->setControllerExtensionName($extensionName); $renderer->assign('order', $order); $renderer->assign('position', $position); $renderer->assign('siteUrl', $siteUrl); $content = $renderer->render(); $mailConfig['message'] = $content; $result += $this->sendMailToLender($mailConfig); } return array('sent' => $result, 'failedRecipient' => $mail->getFailedRecipients(), 'mailConfig' => $mailConfig); }