public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('Capacity'); $fields->removeByName('Registrations'); $fields->removeByName('Tickets'); $fields->removeByName('EmailReminder'); $fields->removeByName('RemindDays'); $fields->removeByName('PaymentID'); $fields->removeByName('ReminderJobID'); if (!$this->isInDB()) { $fields->push(new LiteralField('RegistrationNote', '<p>You can configure registration once ' . 'you save for the first time.</p>')); return $fields; } $fields->push(new GridField('Tickets', _t('EventManagement.AVAILABLE_TICKETS', 'Available Tickets'), $this->Tickets(), GridFieldConfig::create()->addComponent(new GridFieldButtonRow('before'))->addComponent(new GridFieldToolbarHeader())->addComponent($add = new GridFieldAddExistingSearchButton())->addComponent(new GridFieldTitleHeader())->addComponent(new GridFieldOrderableRows('Sort'))->addComponent($editable = new GridFieldEditableColumns())->addComponent(new GridFieldDeleteAction(true)))); $fields->push($capacity = new NumericField('Capacity', _t('EventManagement.CAPACITY', 'Capacity'))); $editable->setDisplayFields(array('Title' => array('title' => 'Title', 'field' => 'ReadonlyField'), 'StartSummary' => 'Sales Start', 'PriceSummary' => 'Price', 'Available' => array('field' => 'NumericField'))); $add->setTitle(_t('EventManagement.ADD_TICKET_TYPE', 'Add Ticket Type')); $capacity->setDescription('Set to 0 for unlimited capacity.'); if (class_exists('AbstractQueuedJob')) { if ($this->ReminderJobID && $this->ReminderJob()->StepsProcessed) { $fields->push(new LiteralField('RemindersAlreadySent', '<p>Reminder emails have already been sent out.</p>')); } else { $fields->push(new CheckboxField('EmailReminder', _t('EventManagement.SEND_REMINDER_EMAIL', 'Send the registered attendees a reminder email?'))); $fields->push($remindDays = new NumericField('RemindDays', _t('EventManagement.SEND_REMINDER', 'Send reminder'))); $remindDays->setDescription(_t('EventManagement.DAYS_BEFORE_EVENT', 'Days before the event starts.')); } } return $fields; }
public function getCMSFields() { $f = parent::getCMSFields(); $f->insertBefore(new TextField('Title', _t('CalendarAnnouncement.TITLE', 'Title of announcement')), "StartDate"); $f->insertBefore(new TextareaField('Content', _t('CalendarAnnouncement.CONTENT', 'Announcement content')), "StartDate"); $this->extend('updateCMSFields', $f); return $f; }