Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CustomOrderPage_Controller extends Page_Controller{
- private static $allowed_actions = array (
- 'CustomOrderForm'
- );
- function CustomOrderForm(){
- $fields = new FieldList (
- FileField::create('FileID', 'Upload File'),
- TextField::create('Name'),
- TextField::create('Telephone'),
- EmailField::create('Email', 'Email Address'),
- TextareaField::create('Message')
- );
- $actions = FieldList::create(
- FormAction::create('doCustomOrder', 'Send')
- ->addExtraClass('button')
- );
- $validator = new RequiredFields('Name', 'Email');
- return new Form($this, 'CustomOrderForm', $fields, $actions, $validator);
- }
- function doCustomOrder($data, $form) {
- $config = SiteConfig::current_site_config();
- // $enquiry = new CustomOrder($data);
- $form->saveInto($enquiry = CustomOrder::create());
- $enquiry->Date = date('d-m-Y H:i:s');
- $enquiry->DateSubmitted = date('d-m-Y H:i:s');
- $enquiry->write();
- $this->CustomOrders()->add($enquiry);
- // payment
- $From = $data['Email'];
- $To = "breakoutnotes@gmail.com";
- $Subject = $config->Title." Custom Order";
- $email = new Email($From, $To, $Subject);
- $email->setTemplate('CustomOrderConfirmation');
- $email->populateTemplate($data);
- $email->send();
- $this->redirect("/email-confirmation");
- }
- }
- class CustomOrder extends DataObject{
- static $db = array(
- 'Name' => 'Text',
- 'Telephone' => 'Text',
- 'Email' => 'Text',
- 'Message' => 'Text',
- 'DateSubmitted'=> 'Text'
- );
- static $summary_fields = array(
- "ID" => "ID",
- "Name" => "Name",
- "DateSubmitted" => "Date Submitted"
- );
- static $has_one = array(
- 'File' => 'File',
- 'CustomOrderPage' => 'CustomOrderPage'
- );
- function getCMSFields(){
- $fields = FieldList::create(Tabset::create('Root'));
- $fields->AddFieldsToTab('Root.Main',array(
- FileField::create('File'),
- TextField::create('Name')->performReadonlyTransformation( ),
- TextField::create('DateSubmitted')->performReadonlyTransformation( ),
- EmailField::create('Email', 'Email Address')->performReadonlyTransformation( ),
- TextField::create('Telephone')->performReadonlyTransformation( ),
- TextAreaField::create('Message')->performReadonlyTransformation( )
- ));
- return $fields;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement