Skip to content

Commit

Permalink
Merge pull request #897 from inbaz/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
BigAndini authored Oct 20, 2016
2 parents c185591 + ccc1818 commit fda8f7b
Show file tree
Hide file tree
Showing 9 changed files with 245 additions and 73 deletions.
58 changes: 57 additions & 1 deletion module/Admin/Module.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@
use Zend\Mvc\MvcEvent;
use Zend\Mvc\ModuleRouteListener;

class Module
use Zend\View\Helper\ServerUrl;
use Zend\View\Helper\Url as UrlHelper;
use Zend\Uri\Http as HttpUri;
use Zend\Console\Console;
use Zend\ModuleManager\Feature\ViewHelperProviderInterface;

class Module implements ViewHelperProviderInterface
{
public function onBootstrap(MvcEvent $e) {
$eventManager = $e->getApplication()->getEventManager();
Expand Down Expand Up @@ -49,6 +55,56 @@ public function getConfig()
return include __DIR__ . '/config/module.config.php';
}

public function getViewHelperConfig() {
return array(
'factories' => array(
'url' => function ($helperPluginManager) {
$serviceLocator = $helperPluginManager->getServiceLocator();
$config = $serviceLocator->get('Config');

$viewHelper = new UrlHelper();

$routerName = Console::isConsole() ? 'HttpRouter' : 'Router';

/** @var \Zend\Mvc\Router\Http\TreeRouteStack $router */
$router = $serviceLocator->get($routerName);

if (Console::isConsole()) {
$requestUri = new HttpUri();
$requestUri->setHost($config['website']['host'])
->setScheme($config['website']['scheme']);
$router->setRequestUri($requestUri);
$router->setBaseUrl($config['website']['path']);
}

$viewHelper->setRouter($router);

$match = $serviceLocator->get('application')
->getMvcEvent()
->getRouteMatch();

if ($match instanceof RouteMatch) {
$viewHelper->setRouteMatch($match);
}

return $viewHelper;
},
'serverUrl' => function ($helperPluginManager) {
$serviceLocator = $helperPluginManager->getServiceLocator();
$config = $serviceLocator->get('Config');

$serverUrlHelper = new ServerUrl();
if (Console::isConsole()) {
$serverUrlHelper->setHost($config['website']['host'])
->setScheme($config['website']['scheme']);
}

return $serverUrlHelper;
},
)
);
}

public function getServiceConfig() {
return array(
'factories' => array(
Expand Down
9 changes: 9 additions & 0 deletions module/Admin/config/module.config.php
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,15 @@
)
)
),
'send-payment-reminder' => array(
'options' => array(
'route' => 'send-payment-reminder [--real|-r]',
'defaults' => array(
'controller' => 'Admin\Controller\Cron',
'action' => 'send-payment-reminder'
)
)
),
'send-etickets' => array(
'options' => array(
'route' => 'send-etickets [--real|-r]',
Expand Down
72 changes: 71 additions & 1 deletion module/Admin/src/Admin/Controller/CronController.php
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,76 @@ public function generateEticketsAction() {
echo "generated ".$count." etickets in ".(microtime()-$time_start).' $unit'.PHP_EOL;
}

public function sendPaymentReminderAction() {
$request = $this->getRequest();

$long_real = (bool) $request->getParam('real',false);
$short_real = (bool) $request->getParam('r',false);
$isReal = ($long_real | $short_real);

$em = $this->getServiceLocator()
->get('Doctrine\ORM\EntityManager');

$qb = $em->getRepository('ErsBase\Entity\Order')->createQueryBuilder('o');
$qb->join('o.status', 's');
$qb->where($qb->expr()->eq('s.value', ':status'));
$qb->setParameter('status', 'ordered');

$notPaidOrders = $qb->getQuery()->getResult();
echo count($notPaidOrders)." not paid orders found.".PHP_EOL;

if(!$isReal) {
echo "Use -r parameter to really send out all payment reminder.".PHP_EOL;
exit();
}

# countdown
echo PHP_EOL;
for($i=10; $i > 0; $i--) {
echo "Really sending out payment reminder in... ".$i." seconds (ctrl+c to abort) \r";
sleep(1);
}
echo PHP_EOL;

$config = $this->getServiceLocator()
->get('config');

foreach($notPaidOrders as $order) {
# prepare email (participant, buyer)
#$emailService = new Service\EmailService();
$emailService = $this->getServiceLocator()
->get('ErsBase\Service\EmailService');
$config = $this->getServiceLocator()
->get('config');
$emailService->setFrom($config['ERS']['info_mail']);

$buyer = $order->getBuyer();
$emailService->addTo($buyer);
/*$user = new Entity\User();
$user->setEmail('[email protected]');
$emailService->addTo($user);*/

$bcc = new Entity\User();
$bcc->setEmail($config['ERS']['info_mail']);
$emailService->addBcc($bcc);

$subject = "[".$config['ERS']['name_short']."] "._('Payment reminder for your order:')." ".$order->getCode()->getValue();
$emailService->setSubject($subject);

$viewModel = new ViewModel(array(
'order' => $order,
));
$viewModel->setTemplate('email/payment-reminder.phtml');
$viewRender = $this->getServiceLocator()->get('ViewRenderer');
$html = $viewRender->render($viewModel);

$emailService->setHtmlMessage($html);

$emailService->send();
exit();
}
}

public function sendEticketsAction() {
$request = $this->getRequest();

Expand Down Expand Up @@ -491,7 +561,7 @@ public function sendEticketsAction() {
}
echo PHP_EOL;

$config = $emailService = $this->getServiceLocator()
$config = $this->getServiceLocator()
->get('config');

foreach($packages as $package) {
Expand Down
6 changes: 3 additions & 3 deletions module/Admin/src/Admin/Controller/OrderController.php
Original file line number Diff line number Diff line change
Expand Up @@ -368,8 +368,8 @@ public function sendEticketsAction() {
$bcc->setEmail($config['ERS']['info_mail']);
$emailService->addBcc($bcc);

$subject = "Your registration for EJC 2016 (order ".$order->getCode()->getValue().")";
$subject = "[EJC 2016] E-Ticket for ".$participant->getFirstname()." ".$participant->getSurname()." (order ".$order->getCode()->getValue().")";
$subject = "Your registration for ".$config['ERS']['short_name']." (order ".$order->getCode()->getValue().")";
$subject = "[".$config['ERS']['name_short']."] E-Ticket for ".$participant->getFirstname()." ".$participant->getSurname()." (order ".$order->getCode()->getValue().")";
$emailService->setSubject($subject);

$viewModel = new ViewModel(array(
Expand Down Expand Up @@ -452,7 +452,7 @@ public function sendPaymentReminderAction() {
$bcc->setEmail($config['ERS']['info_mail']);
$emailService->addBcc($bcc);

$subject = "[EJC 2016] Payment reminder for your order: ".$order->getCode()->getValue();
$subject = "[".$config['ERS']['name_short']."] Payment reminder for your order: ".$order->getCode()->getValue();
$emailService->setSubject($subject);

$viewModel = new ViewModel(array(
Expand Down
26 changes: 1 addition & 25 deletions module/PreReg/Module.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ function($e) use ($sm) {
public function bootstrapSession($e)
{
if(\Zend\Console\Console::isConsole()) {
echo "not starting session -> console".PHP_EOL;
return;
}

Expand Down Expand Up @@ -172,31 +173,6 @@ public function bootstrapSession($e)
$container->lifetime = time()+$expiration_time;
}

#$cartContainer->getManager()->getStorage()->clear('cart');
#$cartContainer->init = 0;
/*if(!isset($cartContainer->init) || $cartContainer->init != 1) {
#error_log('reset cart');
$cartContainer->getManager()->getStorage()->clear('cart');
$app = $e->getApplication();
$serviceManager = $app->getServiceManager();
$em = $serviceManager->get('Doctrine\ORM\EntityManager');
$code = new Entity\Code();
$code->genCode();
$order = new Entity\Order();
$order->setCode($code);
$em->persist($order);
$em->flush();
$cartContainer->order_id = $order->getId();
#$cartContainer->order = new Entity\Order();
$cartContainer->init = 1;
}*/
/*$cartContainer->chooserCount--;
if($cartContainer->chooserCount <= 0) {
$cartContainer->chooser = false;
}*/
/*
* shopping cart debugging
*/
Expand Down
Binary file modified module/PreReg/language/de_DE.mo
Binary file not shown.
83 changes: 67 additions & 16 deletions module/PreReg/language/de_DE.po
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Event Registration System\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-15 23:58+0200\n"
"PO-Revision-Date: 2016-10-15 23:59+0200\n"
"POT-Creation-Date: 2016-10-20 22:24+0200\n"
"PO-Revision-Date: 2016-10-20 22:25+0200\n"
"Last-Translator: Evan Coury <[email protected]>\n"
"Language-Team: ERS Team <[email protected]>\n"
"Language: de_DE\n"
Expand All @@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: translate\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.8.9\n"
"X-Generator: Poedit 1.8.11\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-SearchPath-0: ..\n"

Expand Down Expand Up @@ -355,12 +355,14 @@ msgstr "Ok"

#: ../view/email/eticket-participant.phtml:13
#: ../view/email/order-confirmation.phtml:17
#: ../view/email/payment-reminder.phtml:8
#: ../view/pre-reg/order/checkout.phtml:203
msgid "terms and conditions"
msgstr "Geschäftsbedingungen"

#: ../view/email/eticket-participant.phtml:54
#: ../view/email/order-confirmation.phtml:30
#: ../view/email/payment-reminder.phtml:51
#, php-format
msgid "Dear %s %s,"
msgstr "Hallo %s %s,"
Expand All @@ -379,7 +381,7 @@ msgstr ""
"Wir haben die Bezahlung für deine Bestellung mit der Nummer %s vom %s "
"erhalten. Du findest dein E-Ticket im Anhang dieser E-Mail. "

#: ../view/email/eticket-participant.phtml:65
#: ../view/email/eticket-participant.phtml:66
#, php-format
msgid ""
"First of all, <strong>please make sure that your name and date of birth on "
Expand All @@ -397,7 +399,7 @@ msgstr ""
"nicht anmelden kannst, wenn Name und Geburtsdatum auf dem E-Ticket nicht mit "
"den Daten auf deinem Ausweis übereinstimmen."

#: ../view/email/eticket-participant.phtml:69
#: ../view/email/eticket-participant.phtml:70
msgid ""
"Please bring the e-ticket and a valid ID card to the event and present both "
"documents at the registration desk. You can either print the e-ticket or "
Expand All @@ -408,40 +410,48 @@ msgstr ""
"auch mit Hilfe eines elektronischen Geräts vorzeigen."

#: ../view/email/eticket-participant.phtml:73
msgid ""
"Please bring the e-ticket to the event and present the document at the "
"registration desk. You can either print the e-ticket or present it on an "
"electronic device."
msgstr ""
"Bitte bringe dein E-Ticket zur Veranstaltung mit und zeige es an der "
"Anmeldung vor. Du kannst das E-Ticket ausdrucken oder auch mit Hilfe eines "
"elektronischen Geräts vorzeigen."

#: ../view/email/eticket-participant.phtml:76
#, php-format
msgid ""
"To be able to read the documents, you need to install Adobe Acrobat Reader, "
"which you can download here: %s."
msgstr ""
"Um die Dokumente öffnen zu können, musst du den Adobe Acrobat Reader "
"installieren, den du hier herunterladen kannst: %s."
"Um die Dokumente öffnen zu können, brauchst du den Adobe Acrobat Reader, den "
"du hier herunterladen kannst: %s."

#: ../view/email/eticket-participant.phtml:76
#: ../view/email/eticket-participant.phtml:79
#, php-format
msgid ""
"By registering for this event, you agree to the terms and conditions of "
"attendance and participation as stated on our website at %s."
msgstr ""
"Durch die Anmeldung zu unserer Veranstaltung stimmst du den "
"Geschäftsbedingungen, wie sie auf unserer Webseite unter %s aufgeführt sind, "
"zu."
msgstr "Durch die Anmeldung zu unserer Veranstaltung stimmst du den %s zu."

#: ../view/email/eticket-participant.phtml:78
#: ../view/email/eticket-participant.phtml:81
#, php-format
msgid ""
"For the latest information about %s stay tuned to %s. If you have any "
"further questions concerning your e-ticket, please contact us via %s."
msgstr ""
"Besuche %s, um die neuesten Informationen zur %s zu erhalten. Falls du noch "
"Um die neuesten Informationen zur %s zu erhalten, besuche %s. Falls du noch "
"Fragen zu deinem E-Ticket hast, kannst du uns unter %s kontaktieren. "

#: ../view/email/eticket-participant.phtml:84
#: ../view/email/eticket-participant.phtml:87
msgid ""
"We wish you a pleasant journey and we’re looking forward to welcoming you "
"soon!"
msgstr "Wir wünschen dir eine gute Anfahrt und freuen uns auf dich!"

#: ../view/email/eticket-participant.phtml:86
#: ../view/email/eticket-participant.phtml:89
#: ../view/email/payment-reminder.phtml:67
#: ../view/email/request-password.phtml:25 ../view/pdf/eticket.phtml:191
msgid "Best regards,"
msgstr "Viele Grüße"
Expand Down Expand Up @@ -595,6 +605,47 @@ msgid ""
" or contact %s."
msgstr "Für mehr Informationen zur %s, besuche %s oder kontaktiere %s. "

#: ../view/email/payment-reminder.phtml:55
#, php-format
msgid ""
"you registered for the %s at %s and we hope you're looking forward to it. We "
"haven't sent you an e-ticket yet, because we haven't received payment for "
"your order."
msgstr ""
"du hast dich für die %s am %s angemeldet und wir hoffen, dass du vor hast zu "
"kommen. Wir haben dir bisher noch kein E-Ticket geschickt, weil wir die "
"Zahlung für deine Bestellung bisher noch nicht erhalten haben."

#: ../view/email/payment-reminder.phtml:60
#, php-format
msgid "Please do one of the following until %s at the latest."
msgstr ""
"Bitte entscheide dich für eine der folgenden Optionen bis spätestens %s."

#: ../view/email/payment-reminder.phtml:62
#, php-format
msgid "Please pay your order. All needed information can be found at %s"
msgstr ""
"Bezahle deine Bestellung. Alle nötigen Informationen findest du unter: %s"

#: ../view/email/payment-reminder.phtml:63
msgid ""
"Let us know if you'd like to transfer your ticket to somebody else "
"(necessary data: first name, last name, date of birth and email address of "
"the new participant)"
msgstr ""
"Lass uns wissen ob du dein Ticket an jemand anderen übertragen möchtest "
"(nötige Informationen: Vorname, Nachname, Geburtsdatum und E-Mail Adresse "
"des neuen Teilnehmers)"

#: ../view/email/payment-reminder.phtml:64
msgid ""
"If none of the above options are possible for you, let us know if you'd like "
"us to cancel your ticket."
msgstr ""
"Wenn keine der oben genannten Optionen für dich passt, lass uns bitte wissen "
"ob du dein Ticket stornieren möchtest."

#: ../view/email/request-password.phtml:14
msgid "Dear"
msgstr "Hallo"
Expand Down
Loading

0 comments on commit fda8f7b

Please sign in to comment.