Source of file EventRegistrationForm.php
Size: 2,291 Bytes - Last Modified: 2021-12-23T10:51:54+00:00
/var/www/docs.ssmods.com/process/src/code/registrations/EventRegistrationForm.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | <?php /** * Event Registration Form ** * @package calendar * @subpackage registrations */ class EventRegistrationForm extends Form { /** * Contructor * @param type $controller * @param type $name */ public function __construct($controller, $name) { //Fields $fields = singleton('EventRegistration')->getFrontEndFields(); //Actions $actions = FieldList::create( FormAction::create("doRegister") ->setTitle("Register") ); //Validator $validator = RequiredFields::create( array( 'Name', 'Email', ) ); $this->addExtraClass('EventRegistrationForm'); $this->addExtraClass($name); parent::__construct($controller, $name, $fields, $actions, $validator); } public function setDone() { $this->setFields( FieldList::create( LiteralField::create( 'CompleteMsg', "We've received your registration." ) ) ); $this->setActions(FieldList::create()); } /** * Register action * @param type $data * @param type $form * @return \SS_HTTPResponse */ public function doRegister($data, $form) { $r = new EventRegistration(); $form->saveInto($r); $EventDetails = Event::get()->byID($r->EventID); if ($EventDetails->TicketsRequired) { $r->AmountPaid = ($r->AmountPaid/100); } $r->write(); $from = Email::getAdminEmail(); $to = $r->Email; $bcc = $EventDetails->RSVPEmail; $subject = "Event Registration - ".$EventDetails->Title." - ".date("d/m/Y H:ia"); $body = ""; $email = new Email($from, $to, $subject, $body, null, null, $bcc); $email->setTemplate('EventRegistration'); $email->send(); exit; } public function setFormField($name, $value) { $fields = $this->Fields(); foreach ($fields as $field) { //Debug::dump($field->Name); if ($field->Name == $name) { $field->setValue($value); } } } } |