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; }