/** * @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'); }
/** * @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(); }
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); }
/** * @return string * @Grid\Header(label="Owner", sort={"primary.firstName","primary.lastName","primary.regNumber"}) */ public function getPrimaryDisplay() { return $this->primary ? $this->primary->getRegNumberDisplay() : null; }
/** * @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; }