示例#1
0
 /**
  * @param array $dogData
  * @param Member $member
  * @return TokenInterface
  */
 public function preparePayment(array $dogData, Member $member)
 {
     $regPrice = 25;
     // TODO config value
     $storage = $this->getPaymentStorage();
     $payment = $storage->create();
     $payment->setNumber(uniqid());
     $payment->setCurrencyCode('USD');
     $payment->setTotalAmount($regPrice * 100);
     $payment->setDescription('USCSS Registration');
     $payment->setClientId($member->getId());
     $payment->setClientEmail($member->getEmail());
     $payment->setDetails(array('dogData' => $dogData, 'NOSHIPPING' => Api::NOSHIPPING_DISPLAY_ADDRESS, 'REQCONFIRMSHIPPING' => Api::REQCONFIRMSHIPPING_NOT_REQUIRED, 'L_PAYMENTREQUEST_0_NAME0' => $payment->getDescription(), 'L_PAYMENTREQUEST_0_DESC0' => $dogData['callName'], 'L_PAYMENTREQUEST_0_ITEMCATEGORY0' => Api::PAYMENTREQUEST_ITERMCATEGORY_DIGITAL, 'L_PAYMENTREQUEST_0_QTY0' => 1, 'L_PAYMENTREQUEST_0_AMT0' => $regPrice));
     $storage->update($payment);
     return $this->getServiceLocator()->get('payum.security.token_factory')->createCaptureToken('paypal', $payment, 'dog/register');
 }
示例#2
0
 /**
  * @param ObjectManager $entityManager
  */
 public function load(ObjectManager $entityManager)
 {
     echo "Loading member data.\n";
     $members = array(array("firstName" => "Claire", "lastName" => "Matthews", "email" => "*****@*****.**", "website" => "http://www.kaijukennels.com", "phone" => "(310) 795-2523", "status" => 2, "judge" => 0, "official" => 0, "street" => "21419 Wardham Ave", "city" => "Lakewood", "state" => "CA", "postalCode" => "90715"), array("firstName" => "Julie", "lastName" => "Sandoval", "email" => "*****@*****.**", "phone" => "(818) 399-6778", "status" => 2, "judge" => 1, "official" => 0, "street" => "35640 Crown Valley Rd", "city" => "Acton", "state" => "CA", "postalCode" => "93510"), array("firstName" => "Daneen", "lastName" => "Fox", "email" => "*****@*****.**", "phone" => "(818) 585-8057", "status" => 1, "judge" => 1, "official" => 1, "street" => "35640 Crown Valley Rd", "city" => "Acton", "state" => "CA", "postalCode" => "93510"));
     $memberService = $this->getServiceLocator()->get('Application\\Service\\MemberService');
     foreach ($members as $memberData) {
         if (!isset($memberData['password'])) {
             $memberData['password'] = $memberService->generatePassword();
         }
         $member = new Member();
         $member->setServiceLocator($this->getServiceLocator());
         $hydrator = new ClassMethods();
         $hydrator->hydrate($memberData, $member);
         $entityManager->persist($member);
     }
     $entityManager->flush();
 }
示例#3
0
 public function __construct(Member $memberEntity, Event $eventEntity, ObjectManager $objectManager)
 {
     parent::__construct('entry');
     $this->filter = new InputFilter();
     $dog = new AppElement\ObjectLiveSearch('dog');
     $dog->setOption('object_manager', $objectManager);
     $dog->setOption('target_class', 'Application\\Entity\\Dog');
     $dog->setOption('find_method', array('name' => 'findBy', 'params' => array('criteria' => array('primary' => $memberEntity->getId()), 'orderBy' => array('callName' => 'ASC'))));
     $dog->setEmptyOption('Select a Dog');
     $this->add($dog);
     $dogFilter = new Input('dog');
     $dogFilter->setRequired(true);
     $this->filter->add($dogFilter);
     $entryNum = 0;
     foreach ($eventEntity->getTrials() as $trialEntity) {
         $trial = new Form('trial_' . $trialEntity->getId());
         $trial->setLabel($trialEntity->getDateDisplay());
         $this->add($trial);
         foreach ($trialEntity->getTrialDivisions() as $trialDivisionEntity) {
             $divisionEntity = $trialDivisionEntity->getDivision();
             for ($whichDivisionNum = 1; $whichDivisionNum <= $trialDivisionEntity->getNumOffered(); $whichDivisionNum++) {
                 $entry = new Fieldset('entry_' . $entryNum++);
                 $entry->setOption('twb-layout', 'inline');
                 $entry->setAttribute('data-price', trim($trialDivisionEntity->getEntryFee(), '$'));
                 $entry->setAttribute('class', 'form-group entry-form');
                 $this->add($entry);
                 $entry->filter = new InputFilter();
                 $this->filter->add($entry->filter);
                 $hiddenTrial = new Element\Hidden('trial');
                 $hiddenTrial->setValue($trialEntity->getId());
                 $entry->add($hiddenTrial);
                 $hiddenDivision = new Element\Hidden('division');
                 $hiddenDivision->setValue($divisionEntity->getId());
                 $entry->add($hiddenDivision);
                 $whichDivision = new Element\Hidden('whichDivision');
                 $whichDivision->setValue($whichDivisionNum);
                 $entry->add($whichDivision);
                 $entered = new Element\Checkbox('entered');
                 $entered->setLabel($divisionEntity . ($trialDivisionEntity->getNumOffered() > 1 ? ' #' . $whichDivisionNum : ''));
                 $entry->add($entered);
                 $enteredFilter = new Input('entered');
                 $enteredFilter->setRequired(false);
                 $entry->filter->add($enteredFilter);
                 if (!$divisionEntity->isAllLevels()) {
                     $level = new AppElement\ObjectLiveSearch('level');
                     $level->setOption('object_manager', $objectManager);
                     $level->setOption('target_class', 'Application\\Entity\\Level');
                     $level->setOption('find_method', array('name' => 'findBy', 'params' => array('criteria' => array(), 'orderBy' => array('rank' => 'ASC'))));
                     $level->setEmptyOption('Select a Level');
                     $entry->add($level);
                     $levelFilter = new Input('level');
                     $levelFilter->setRequired(false);
                     $entry->filter->add($levelFilter);
                 }
                 $exhibitionOnly = new Element\Checkbox('exhibitionOnly');
                 $exhibitionOnly->setLabelAttributes(array('class' => 'small col-md-offset-2'));
                 $exhibitionOnly->setLabel('For exhibition only');
                 $entry->add($exhibitionOnly);
                 $exhibitionOnlyFilter = new Input('exhibitionOnly');
                 $exhibitionOnlyFilter->setRequired(false);
                 $entry->filter->add($exhibitionOnlyFilter);
             }
         }
     }
     $buttons = new Form('buttons');
     $buttons->setOption('twb-layout', 'inline');
     $buttons->setAttribute('class', 'form-group');
     $submit = new Element\Submit('submit');
     $submit->setAttribute('class', 'btn-event pull-right');
     $submit->setOption('glyphicon', 'circle-arrow-up');
     $submit->setLabel('Submit Entry');
     $buttons->add($submit);
     $cancel = new Element\Submit('cancel');
     $cancel->setAttribute('formnovalidate', true);
     $cancel->setAttribute('class', 'btn-warning pull-right');
     $cancel->setOption('glyphicon', 'ban-circle');
     $cancel->setLabel('Cancel');
     $buttons->add($cancel);
     $this->add($buttons);
 }
示例#4
0
 /**
  * @return string
  * @Grid\Header(label="Owner", sort={"primary.firstName","primary.lastName","primary.regNumber"})
  */
 public function getPrimaryDisplay()
 {
     return $this->primary ? $this->primary->getRegNumberDisplay() : null;
 }
示例#5
0
 /**
  * @param Member $member
  * @return array
  */
 public function findUpcomingEntries(Member $member)
 {
     $query = $this->getEntityManager()->getRepository('Application\\Entity\\Entry')->createNativeNamedQuery('fetchByDogOwner')->setParameter('owner', $member->getId());
     $result = $query->getResult();
     $entries = array();
     foreach ($result as $row) {
         $entries[] = $this->getEntityManager()->getRepository('Application\\Entity\\Entry')->find($row['id']);
     }
     return $entries;
 }