Пример #1
0
 public function addCreditCardAction()
 {
     $form = new Form\PaymentTypeBankTransfer();
     $form->get('submit')->setValue('Add');
     $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
     $deadlines = $em->getRepository("ErsBase\\Entity\\Deadline")->findBy(array(), array('deadline' => 'ASC'));
     $options = array();
     foreach ($deadlines as $deadline) {
         $options[] = array('value' => $deadline->getId(), 'label' => 'Deadline: ' . $deadline->getDeadline()->format('Y-m-d H:i:s'), 'selected' => false);
     }
     $options[] = array('value' => 0, 'label' => 'no Deadline', 'selected' => true);
     $form->get('activeFrom_id')->setAttribute('options', $options);
     $form->get('activeUntil_id')->setAttribute('options', $options);
     $paymenttype = new Entity\PaymentType();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $inputFilter = new InputFilter\PaymentTypeBankTransfer();
         $inputFilter->setEntityManager($em);
         #$form->setInputFilter($inputFilter->getInputFilter());
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $paymenttype->populate($form->getData());
             $paymenttype->setType('CreditCard');
             if ($paymenttype->getActiveFromId() == 0) {
                 $paymenttype->setActiveFromId(null);
             } else {
                 $activeFrom = $em->getRepository("ErsBase\\Entity\\Deadline")->findOneBy(array('id' => $paymenttype->getActiveFromId()));
                 $paymenttype->setActiveFrom($activeFrom);
             }
             if ($paymenttype->getActiveUntilId() == 0) {
                 $paymenttype->setActiveUntilId(null);
             } else {
                 $activeUntil = $em->getRepository("ErsBase\\Entity\\Deadline")->findOneBy(array('id' => $paymenttype->getActiveUntilId()));
                 $paymenttype->setActiveUntil($activeUntil);
             }
             $em->persist($paymenttype);
             $em->flush();
             return $this->redirect()->toRoute('admin/payment-type');
         } else {
             $logger = $this->getServiceLocator()->get('Logger');
             $logger->warn($form->getMessages());
         }
     }
     return new ViewModel(array('form' => $form));
 }