protected function settingsForm($values) { $form = new FormElement(); $form->setMethod('POST'); $fieldset = new FieldSet(); $fieldset->setId('oauth'); $fieldset->setLabel('OAuth Details'); $form->addField($fieldset); $fieldset->addField(Text::create('client_id', 'Client ID')); $fieldset->addField(Text::create('client_secret', 'Client Secret')); if (!empty($values['client_id']) && !empty($values['client_secret'])) { $fieldset = new FieldSet(); $fieldset->setId('login'); $fieldset->setLabel('Google Login'); $form->addField($fieldset); $fieldset->addField(OnOffSwitch::create('login_enabled', 'Enable Google Login?', false)); $fieldset->addField(Text::create('login_auto_create', 'Auto-approved login domains:')); } $submit = new Submit(); $submit->setValue('Save Settings'); $form->addField($submit); return $form; }