Advertisement
Guest User

Untitled

a guest
Aug 11th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.63 KB | None | 0 0
  1. class CustomOrderPage_Controller extends Page_Controller{
  2.  
  3.     private static $allowed_actions = array (
  4.         'CustomOrderForm'
  5.     );
  6.  
  7.     function CustomOrderForm(){
  8.  
  9.          $fields = new FieldList (
  10.             FileField::create('FileID', 'Upload File'),
  11.             TextField::create('Name'),
  12.             TextField::create('Telephone'),
  13.             EmailField::create('Email', 'Email Address'),
  14.             TextareaField::create('Message')
  15.         );
  16.  
  17.         $actions = FieldList::create(
  18.             FormAction::create('doCustomOrder', 'Send')
  19.                 ->addExtraClass('button')
  20.  
  21.         );
  22.  
  23.         $validator = new RequiredFields('Name', 'Email');
  24.  
  25.         return new Form($this, 'CustomOrderForm', $fields, $actions, $validator);
  26.  
  27.     }
  28.  
  29.     function doCustomOrder($data, $form) {
  30.         $config = SiteConfig::current_site_config();
  31.  
  32.         // $enquiry = new CustomOrder($data);
  33.         $form->saveInto($enquiry = CustomOrder::create());
  34.         $enquiry->Date = date('d-m-Y H:i:s');
  35.         $enquiry->DateSubmitted = date('d-m-Y H:i:s');
  36.         $enquiry->write();
  37.         $this->CustomOrders()->add($enquiry);
  38.  
  39.         // payment
  40.  
  41.         $From = $data['Email'];
  42.         $To = "breakoutnotes@gmail.com";
  43.         $Subject = $config->Title." Custom Order";
  44.         $email = new Email($From, $To, $Subject);
  45.         $email->setTemplate('CustomOrderConfirmation');
  46.         $email->populateTemplate($data);
  47.         $email->send();
  48.         $this->redirect("/email-confirmation");
  49.     }
  50. }
  51.  
  52. class CustomOrder extends DataObject{
  53.  
  54.     static $db = array(
  55.         'Name' => 'Text',
  56.         'Telephone' => 'Text',
  57.         'Email' => 'Text',
  58.         'Message' => 'Text',
  59.         'DateSubmitted'=> 'Text'
  60.     );
  61.  
  62.     static $summary_fields = array(
  63.         "ID" => "ID",
  64.         "Name" => "Name",
  65.         "DateSubmitted" => "Date Submitted"
  66.     );
  67.  
  68.     static $has_one = array(
  69.         'File' => 'File',
  70.         'CustomOrderPage' => 'CustomOrderPage'
  71.     );
  72.  
  73.     function getCMSFields(){
  74.  
  75.         $fields = FieldList::create(Tabset::create('Root'));
  76.  
  77.         $fields->AddFieldsToTab('Root.Main',array(
  78.             FileField::create('File'),
  79.             TextField::create('Name')->performReadonlyTransformation( ),
  80.             TextField::create('DateSubmitted')->performReadonlyTransformation( ),
  81.             EmailField::create('Email', 'Email Address')->performReadonlyTransformation( ),
  82.             TextField::create('Telephone')->performReadonlyTransformation( ),
  83.             TextAreaField::create('Message')->performReadonlyTransformation( )
  84.  
  85.         ));
  86.  
  87.         return $fields;
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement