public function GameFields() { $fields = new FieldList(); // get current event $siteConfig = SiteConfig::current_site_config(); $current = $siteConfig->getCurrentEventID(); $event = Event::get()->byID($current); $genres = $this->getGroupedGames('Genre'); $fields->push(new HiddenField('ID')); $fields->push(new TextField('Title')); $fields->push(new TextField('Restriction', 'Restriction (R18, PG, etc)')); // tag input field $fields->push($tagfield = new TextField('Genre', 'Genres')); $tagfield->addExtraClass('tag-field genre'); // hidden field for all current genres $fields->push(new LiteralField('GenreList', $this->renderGenreList($genres))); $briefEditor = new TextAreaField('Brief', 'Brief (Short Description)'); $briefEditor->setRows(5); $fields->push($briefEditor); $detailsEditor = CompositeField::create(new LabelField('GameDetails', 'Game Details'), $html = new HTMLEditorField('Details'), new LiteralField('editorDiv', '<div class="editable"></div>')); $fields->push($detailsEditor); $html->addExtraClass('hide'); $detailsEditor->addExtraClass('field'); $costuming = new TextAreaField('Costuming', 'Costuming'); $costuming->setRows(5); $fields->push($costuming); $fields->push(new TextField('NumPlayers', 'Number of players')); $sessions = array(); if ($event) { for ($i = 1; $i <= $event->NumberOfSessions; $i++) { $sessions[$i] = $i; } $session = new DropdownField('Session', 'Preferred Session', $sessions); $session->setEmptyString(' '); $fields->push($session); } return $fields; }