public function __construct($name = null, $includeCountry = false) { $this->countryEnabled = $includeCountry; parent::__construct($name); $address1 = $name . '[address1]'; $address2 = $name . '[address2]'; $town = $name . '[town]'; $postcode = 'postcode'; if ($name != 'address') { $postcode = $name . '[' . $postcode . ']'; } $address1 = Text::create($address1, 'Address 1', true); $address1->setId($name . '_address1'); $address2 = Text::create($address2, 'Address 2', false); $address2->setId($name . '_address2'); $town = Text::create($town, 'Town', true); $town->setId($name . '_town'); $postcode = Text::create($postcode, 'Postcode', true); $postcode->setId($name . '_postcode'); $postcode->setClass('postcode'); $this->addField($address1); $this->addField($address2); $this->addField($town); $this->addField($postcode); if ($includeCountry) { $country = Country::create($name . '[country]', 'Country', true, 'country'); $country->setId($name . '_country'); $this->addField($country); } }
protected function onPreRender(&$view) { parent::onPreRender($view); /** @var \Octo\AssetManager $assets */ $assets = Config::getInstance()->get('Octo.AssetManager'); $assets->addJs('Forms', 'phoneformat'); $view->type = 'tel'; }
public function __construct($name = null) { parent::__construct($name); $firstname = 'first_name'; $lastname = 'last_name'; if ($name != 'name') { $firstname = $name . '[first_name]'; $lastname = $name . '[last_name]'; } $this->addField(Text::create($firstname, 'First name', true)); $this->addField(Text::create($lastname, 'Last name', true)); }
/** * Add or edit a project group. * @param null $groupId * @return void|b8\Http\Response\RedirectResponse */ public function edit($groupId = null) { $this->requireAdmin(); if (!is_null($groupId)) { $group = $this->groupStore->getById($groupId); } else { $group = new ProjectGroup(); } if ($this->request->getMethod() == 'POST') { $group->setTitle($this->getParam('title')); $this->groupStore->save($group); $response = new b8\Http\Response\RedirectResponse(); $response->setHeader('Location', PHPCI_URL . 'group'); return $response; } $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'group/edit' . (!is_null($groupId) ? '/' . $groupId : '')); $title = new Form\Element\Text('title'); $title->setContainerClass('form-group'); $title->setClass('form-control'); $title->setLabel('Group Title'); $title->setValue($group->getTitle()); $submit = new Form\Element\Submit(); $submit->setValue('Save Group'); $form->addField($title); $form->addField($submit); $this->view->form = $form; }
protected function onPreRender(View &$view) { parent::onPreRender($view); $view->type = 'url'; }
/** * Create add / edit project form. */ protected function projectForm($values, $type = 'add') { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'project/' . $type); $form->addField(new Form\Element\Csrf('csrf')); $form->addField(new Form\Element\Hidden('pubkey')); $options = array('choose' => Lang::get('select_repository_type'), 'github' => Lang::get('github'), 'bitbucket' => Lang::get('bitbucket'), 'gitlab' => Lang::get('gitlab'), 'remote' => Lang::get('remote'), 'local' => Lang::get('local'), 'hg' => Lang::get('hg'), 'svn' => Lang::get('svn')); $field = Form\Element\Select::create('type', Lang::get('where_hosted'), true); $field->setPattern('^(github|bitbucket|gitlab|remote|local|hg|svn)'); $field->setOptions($options); $field->setClass('form-control')->setContainerClass('form-group'); $form->addField($field); $container = new Form\ControlGroup('github-container'); $container->setClass('github-container'); $field = Form\Element\Select::create('github', Lang::get('choose_github'), false); $field->setClass('form-control')->setContainerClass('form-group'); $container->addField($field); $form->addField($container); $field = Form\Element\Text::create('reference', Lang::get('repo_name'), true); $field->setValidator($this->getReferenceValidator($values)); $field->setClass('form-control')->setContainerClass('form-group'); $form->addField($field); $field = Form\Element\Text::create('title', Lang::get('project_title'), true); $field->setClass('form-control')->setContainerClass('form-group'); $form->addField($field); $field = Form\Element\TextArea::create('key', Lang::get('project_private_key'), false); $field->setClass('form-control')->setContainerClass('form-group'); $field->setRows(6); $form->addField($field); $field = Form\Element\TextArea::create('build_config', Lang::get('build_config'), false); $field->setClass('form-control')->setContainerClass('form-group'); $field->setRows(6); $form->addField($field); $field = Form\Element\Text::create('branch', Lang::get('default_branch'), true); $field->setClass('form-control')->setContainerClass('form-group')->setValue('master'); $form->addField($field); $field = Form\Element\Select::create('group_id', 'Project Group', true); $field->setClass('form-control')->setContainerClass('form-group')->setValue(1); $groups = array(); $groupStore = b8\Store\Factory::getStore('ProjectGroup'); $groupList = $groupStore->getWhere(array(), 100, 0, array(), array('title' => 'ASC')); foreach ($groupList['items'] as $group) { $groups[$group->getId()] = $group->getTitle(); } $field->setOptions($groups); $form->addField($field); $field = Form\Element\Checkbox::create('allow_public_status', Lang::get('allow_public_status'), false); $field->setContainerClass('form-group'); $field->setCheckedValue(1); $field->setValue(0); $form->addField($field); $field = Form\Element\Checkbox::create('archived', Lang::get('archived'), false); $field->setContainerClass('form-group'); $field->setCheckedValue(1); $field->setValue(0); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue(Lang::get('save_project')); $field->setContainerClass('form-group'); $field->setClass('btn-success'); $form->addField($field); $form->setValues($values); return $form; }
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; }
public function profile() { if ($this->getRequest()->getMethod() == 'POST') { $this->currentUser->setEmail($this->getParam('email')); $this->currentUser->setName($this->getParam('name')); $password = $this->getParam('password', ''); if (!empty($password)) { $this->currentUser->setHash(password_hash($password, PASSWORD_DEFAULT)); } $this->currentUser = $this->userStore->save($this->currentUser); $this->successMessage('Profile updated successfully!'); } $this->setTitle($this->currentUser->getName(), 'Edit Profile'); $form = new \Octo\Admin\Form(); $form->setMethod('POST'); $name = Form\Element\Text::create('name', 'Name', true); $name->setValue($this->currentUser->getName()); $email = Form\Element\Email::create('email', 'Email Address', true); $email->setValue($this->currentUser->getEmail()); $password = Form\Element\Password::create('password', 'Password (enter a new password to change)', false); $submit = new Form\Element\Submit(); $submit->setValue('Update Profile'); $submit->setClass('btn btn-success'); $form->addField($name); $form->addField($email); $form->addField($password); $form->addField($submit); $this->view->form = $form; }
/** * Get the email settings form. * @param array $values * @return Form */ protected function getEmailForm($values = array()) { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'settings/email'); $form->addField(new Form\Element\Csrf('csrf')); $field = new Form\Element\Text('smtp_address'); $field->setRequired(false); $field->setLabel(Lang::get('smtp_server')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $field->setValue('localhost'); $form->addField($field); $field = new Form\Element\Text('smtp_port'); $field->setRequired(false); $field->setPattern('[0-9]+'); $field->setLabel(Lang::get('smtp_port')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $field->setValue(25); $form->addField($field); $field = new Form\Element\Text('smtp_username'); $field->setRequired(false); $field->setLabel(Lang::get('smtp_username')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Password('smtp_password'); $field->setRequired(false); $field->setLabel(Lang::get('smtp_password')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Email('from_address'); $field->setRequired(false); $field->setLabel(Lang::get('from_email_address')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Email('default_mailto_address'); $field->setRequired(false); $field->setLabel(Lang::get('default_notification_address')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Select('smtp_encryption'); $field->setOptions(array('' => Lang::get('none'), 'tls' => Lang::get('tls'), 'ssl' => Lang::get('ssl'))); $field->setRequired(false); $field->setLabel(Lang::get('use_smtp_encryption')); $field->setContainerClass('form-group'); $field->setValue(1); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue(Lang::get('save')); $field->setClass('btn btn-success pull-right'); $form->addField($field); $form->setValues($values); return $form; }
/** * Create user add / edit form. */ protected function userForm($values, $type = 'add') { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'user/' . $type); $form->addField(new Form\Element\Csrf('csrf')); $field = new Form\Element\Email('email'); $field->setRequired(true); $field->setLabel(Lang::get('email_address')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Text('name'); $field->setRequired(true); $field->setLabel(Lang::get('name')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Password('password'); if ($type == 'add') { $field->setRequired(true); $field->setLabel(Lang::get('password')); } else { $field->setRequired(false); $field->setLabel(Lang::get('password_change')); } $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Checkbox('is_admin'); $field->setRequired(false); $field->setCheckedValue(1); $field->setLabel(Lang::get('is_user_admin')); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue(Lang::get('save_user')); $field->setClass('btn-success'); $form->addField($field); $form->setValues($values); return $form; }
protected function getEmailForm($values = array()) { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'settings/email'); $form->addField(new Form\Element\Csrf('csrf')); $field = new Form\Element\Text('smtp_address'); $field->setRequired(false); $field->setLabel('SMTP Server'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $field->setValue('localhost'); $form->addField($field); $field = new Form\Element\Text('smtp_port'); $field->setRequired(false); $field->setPattern('[0-9]+'); $field->setLabel('SMTP Port'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $field->setValue(25); $form->addField($field); $field = new Form\Element\Text('smtp_username'); $field->setRequired(false); $field->setLabel('SMTP Username'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Text('smtp_password'); $field->setRequired(false); $field->setLabel('SMTP Password'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Email('from_address'); $field->setRequired(false); $field->setLabel('From Email Address'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Email('default_mailto_address'); $field->setRequired(false); $field->setLabel('Default Notification Address'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Checkbox('smtp_encryption'); $field->setCheckedValue(1); $field->setRequired(false); $field->setLabel('Use SMTP encryption?'); $field->setContainerClass('form-group'); $field->setValue(1); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue('Save »'); $field->setClass('btn btn-success pull-right'); $form->addField($field); $form->setValues($values); return $form; }
protected function onPreRender(&$view) { parent::onPreRender($view); $view->type = 'email'; }
/** * Create add / edit project form. */ protected function projectForm($values, $type = 'add') { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'project/' . $type); $form->addField(new Form\Element\Csrf('csrf')); $form->addField(new Form\Element\Hidden('pubkey')); $options = array('choose' => 'Select repository type...', 'github' => 'Github', 'bitbucket' => 'Bitbucket', 'gitlab' => 'Gitlab', 'remote' => 'Remote URL', 'local' => 'Local Path', 'hg' => 'Mercurial'); $field = Form\Element\Select::create('type', 'Where is your project hosted?', true); $field->setPattern('^(github|bitbucket|gitlab|remote|local|hg)'); $field->setOptions($options); $field->setClass('form-control')->setContainerClass('form-group'); $form->addField($field); $container = new Form\ControlGroup('github-container'); $container->setClass('github-container'); $field = Form\Element\Select::create('github', 'Choose a Github repository:', false); $field->setClass('form-control')->setContainerClass('form-group'); $container->addField($field); $form->addField($container); $field = Form\Element\Text::create('reference', 'Repository Name / URL (Remote) or Path (Local)', true); $field->setValidator($this->getReferenceValidator($values)); $field->setClass('form-control')->setContainerClass('form-group'); $form->addField($field); $field = Form\Element\Text::create('title', 'Project Title', true); $field->setClass('form-control')->setContainerClass('form-group'); $form->addField($field); $title = 'Private key to use to access repository (leave blank for local and/or anonymous remotes)'; $field = Form\Element\TextArea::create('key', $title, false); $field->setClass('form-control')->setContainerClass('form-group'); $field->setRows(6); $form->addField($field); $label = 'PHPCI build config for this project (if you cannot add a phpci.yml file in the project repository)'; $field = Form\Element\TextArea::create('build_config', $label, false); $field->setClass('form-control')->setContainerClass('form-group'); $field->setRows(6); $form->addField($field); $field = Form\Element\Text::create('branch', 'Default branch name', true); $field->setValidator($this->getReferenceValidator($values)); $field->setClass('form-control')->setContainerClass('form-group')->setValue('master'); $form->addField($field); $label = 'Enable public status page and image for this project?'; $field = Form\Element\Checkbox::create('allow_public_status', $label, false); $field->setContainerClass('form-group'); $field->setCheckedValue(1); $field->setValue(1); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue('Save Project'); $field->setContainerClass('form-group'); $field->setClass('btn-success'); $form->addField($field); $form->setValues($values); return $form; }
protected function onPreRender(&$view) { parent::onPreRender($view); $view->rows = $this->getRows(); }
protected function onPreRender(&$view) { parent::onPreRender($view); $view->type = 'password'; }
public function testElements() { $e = new Form\Element\Button(); $this->assertTrue($e->validate()); $this->assertTrue(strpos($e->render(), 'button') !== false); $e = new Form\Element\Checkbox(); $e->setCheckedValue('ten'); $this->assertTrue($e->getCheckedValue() == 'ten'); $this->assertTrue(strpos($e->render(), 'checkbox') !== false); $this->assertTrue(strpos($e->render(), 'checked') === false); $e->setValue(true); $this->assertTrue(strpos($e->render(), 'checked') !== false); $e->setValue('ten'); $this->assertTrue(strpos($e->render(), 'checked') !== false); $e->setValue('fail'); $this->assertTrue(strpos($e->render(), 'checked') === false); $e = new Form\Element\CheckboxGroup(); $this->assertTrue(strpos($e->render(), 'group') !== false); $e = new Form\ControlGroup(); $this->assertTrue(strpos($e->render(), 'group') !== false); $e = new Form\Element\Email(); $this->assertTrue(strpos($e->render(), 'email') !== false); $e = new Form\Element\Select(); $e->setOptions(array('key' => 'Val')); $html = $e->render(); $this->assertTrue(strpos($html, 'select') !== false); $this->assertTrue(strpos($html, 'option') !== false); $this->assertTrue(strpos($html, 'key') !== false); $this->assertTrue(strpos($html, 'Val') !== false); $e = new Form\Element\Submit(); $this->assertTrue($e->validate()); $this->assertTrue(strpos($e->render(), 'submit') !== false); $e = new Form\Element\Text(); $e->setValue('test'); $this->assertTrue(strpos($e->render(), 'test') !== false); $e = new Form\Element\TextArea(); $e->setRows(10); $this->assertTrue(strpos($e->render(), '10') !== false); $e = new Form\Element\Url(); $this->assertTrue(strpos($e->render(), 'url') !== false); }
protected function contactForm() { $form = new \Octo\Admin\Form(); $form->addField(Form\Element\Text::create('first_name', 'First Name', true)); $form->addField(Form\Element\Text::create('last_name', 'Last Name', true)); $form->addField(Form\Element\Email::create('email', 'Email Address', true)); $form->addField(Form\Element\Text::create('phone', 'Phone Number')); $form->addField(Form\Element\Text::create('company', 'Company')); $form->addField(Form\Element\Submit::create('submit', 'Save')->setValue('Save Contact')); return $form; }
/** * Create user add / edit form. */ protected function userForm($values, $type = 'add') { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'user/' . $type); $form->addField(new Form\Element\Csrf('csrf')); $field = new Form\Element\Email('email'); $field->setRequired(true); $field->setLabel('Email Address'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Text('name'); $field->setRequired(true); $field->setLabel('Name'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Password('password'); if ($type == 'add') { $field->setRequired(true); $field->setLabel('Password'); } else { $field->setRequired(false); $field->setLabel('Password (leave blank to keep current password)'); } $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Checkbox('is_admin'); $field->setRequired(false); $field->setCheckedValue(1); $field->setLabel('Is this user an administrator?'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue('Save User'); $field->setClass('btn-success'); $form->addField($field); $form->setValues($values); return $form; }