Advertisement
Guest User

Untitled

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