Пример #1
0
 public function customFormActions($isReadonly = false)
 {
     $fields = parent::customFormActions($isReadonly);
     // get the newsletters in the system
     $newsletterTypes = DataObject::get('NewsletterType');
     $availableNewsletters = array();
     $nlCheckboxes = array();
     foreach ($this->Newsletters() as $subscribeTo) {
         $availableNewsletters[] = $subscribeTo->ID;
     }
     // create a checkbox for each newsletter
     if ($newsletterTypes && is_object($newsletterTypes)) {
         foreach ($newsletterTypes as $newsletterType) {
             $nlCheckboxes[] = new CheckboxField("CustomNewsletters[{$newsletterType->ID}]", $newsletterType->Title, in_array($newsletterType->ID, $availableNewsletters));
         }
     }
     $fields->push(new OptionsetField('AllNewsletters', '', array(1 => 'All newsletters', 0 => 'Specific newsletters'), $this->AllNewsletters));
     $fields->push(new CompositeField($nlCheckboxes));
     $fields->push(new TextField('Subject', 'Subject line on confirmation', $this->Subject));
     return $fields;
 }