コード例 #1
0
ファイル: AdminPresenter.php プロジェクト: fuca/sportsclub
 /**
  * Grid column render
  * @param Payment $e
  * @return string
  */
 public function statusRender($e)
 {
     return $this->tt(PaymentStatus::getOptions()[$e->getStatus()]);
 }
コード例 #2
0
 /**
  * Method for handling single onCreate event
  * @param SeasonApplication $app
  * @return void
  * @throws Exceptions\InvalidStateException
  */
 public function onCreate(SeasonApplication $app)
 {
     $amount = null;
     $season = $app->getSeason();
     $group = $app->getSportGroup();
     try {
         $tax = $this->seasonTaxService->getSeasonTaxSG($season, $group);
         if ($tax !== null) {
             $amount = $tax->getMemberShip();
             if (empty($amount) || $amount == 0) {
                 return;
             }
         } else {
             throw new Exceptions\InvalidStateException("Season tax for season {$season} and group {$group} does not exist");
         }
     } catch (Exceptions\DataErrorException $ex) {
         $this->logger->addError("Application listener - onCreate - getSeasonTaxSG failed with - " . $ex->getMessage());
         return;
     }
     $subject = "Application for " . $app->getSportGroup()->getName() . " (" . $app->getSportGroup()->getSportType()->getName() . ") within " . $app->getSeason()->getLabel() . " season";
     $payment = new Payment();
     $payment->setOwner($app->getOwner());
     $payment->setSeason($app->getSeason());
     $payment->setSubject($subject);
     $payment->setAmount($amount);
     $payment->setDueDate($this->paymentService->getDefaultDueDate());
     $payment->setOrderedDate(new DateTime());
     $payment->setEditor($app->getEditor());
     $payment->setStatus(PaymentStatus::NOT_YET);
     $payment->setVs($this->paymentService->generateVs($payment));
     $payment->setPublicNote("");
     $payment->setProtectedNote("");
     try {
         $this->paymentService->createPayment($payment);
         $app->setPayment($payment);
         $this->seasonApplicationService->updateSeasonApplication($app);
     } catch (Exceptions\DataErrorException $ex) {
         $this->logger->addError("Application listener - onCreate - savingData failed with - " . $ex->getMessage());
         return;
     }
 }
コード例 #3
0
 public function notifyNewPayment(Payment $p)
 {
     $u = $p->getOwner();
     $subjKey = "systemModule.notification.newPayment.subject";
     $bodyKey = "systemModule.notification.newPayment.body";
     $subject = $this->translator->translate($subjKey, null, ["host" => $this->getHostName()]);
     $body = $this->translator->translate($bodyKey, null, ["name" => $u->getName(), "surname" => $u->getSurname()]);
     $mail = new Message();
     $mail->setFrom($this->getSenderEmail())->setSubject($subject)->setBody($body)->addTo($u->getContact()->getEmail());
     $this->send($mail);
 }
コード例 #4
0
ファイル: PaymentService.php プロジェクト: fuca/sportsclub
 public function generateVs(Payment $p)
 {
     if ($p == null) {
         return rand(1000, 99999);
     }
     $vs = $p->getVs();
     if (empty($vs)) {
         return $p->getOwner()->getBirthNumber();
     }
     return $p->getVs();
 }