コード例 #1
0
 public function getDateTimeCMSFields()
 {
     $fields = parent::getDateTimeCMSFields();
     $fields->removeByName('Capacity');
     $fields->removeByName('Registrations');
     $fields->removeByName('Tickets');
     $fields->removeByName('EmailReminder');
     $fields->removeByName('RemindWeeks');
     $fields->removeByName('RemindDays');
     $fields->removeByName('PaymentID');
     $fields->removeByName('ReminderJobID');
     if (!$this->isInDB()) {
         $fields->addFieldToTab('Root.Registration', new LiteralField('RegistrationNote', '<p>You can configure registration once ' . 'you save for the first time.</p>'));
         return $fields;
     }
     $fields->addFieldsToTab('Root.Registration', array(new ManyManyPickerField($this, 'Tickets', 'Available Tickets', array('ShowPickedInSearch' => false, 'ExtraFields' => 'getCMSExtraFields', 'ExtraFilter' => '"EventID" = ' . $this->EventID, 'Sortable' => true, 'PopupHeight' => 350)), new NumericField('Capacity', 'Overall event capacity (0 for unlimited)')));
     if (class_exists('AbstractQueuedJob')) {
         if ($this->ReminderJobID && $this->ReminderJob()->StepsProcessed) {
             $fields->addFieldToTab('Root.Reminder', new LiteralField('RemindersAlreadySent', '<p>Reminder emails have already been sent out.</p>'));
         } else {
             $fields->addFieldsToTab('Root.Reminder', array(new CheckboxField('EmailReminder', 'Send registered atendeeds a reminder email?'), new FieldGroup('Send the reminder email', new NumericField('RemindWeeks', 'Weeks'), new NumericField('RemindDays', 'Days'), new LiteralField('', 'before the event starts'))));
         }
     } else {
         $fields->addFieldsToTab('Root.Reminder', new LiteralField('QueuedJobsReminderNote', '<p>Please install the queued jobs module to send reminder emails.</p>'));
     }
     return $fields;
 }