示例#1
0
 /**
  * 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;
 }
示例#2
0
 public function testElementBasics()
 {
     $f = new Form\Element\Text('element-name');
     $f->setId('element-id');
     $f->setLabel('element-label');
     $f->setClass('element-class');
     $f->setContainerClass('container-class');
     $this->assertTrue($f->getName() == 'elementname');
     $this->assertTrue($f->getId() == 'element-id');
     $this->assertTrue($f->getLabel() == 'element-label');
     $this->assertTrue($f->getClass() == 'element-class');
     $this->assertTrue($f->getContainerClass() == 'container-class');
     $output = $f->render();
     $this->assertTrue(is_string($output));
     $this->assertTrue(!empty($output));
     $this->assertTrue(strpos($output, 'container-class') !== false);
 }
示例#3
0
 protected function userForm($values, $type = 'add')
 {
     $form = new FormElement();
     $form->setMethod('POST');
     if ($type == 'add') {
         $form->setAction($this->config->get('site.full_admin_url') . '/user/add');
     } else {
         $form->setAction($this->config->get('site.full_admin_url') . '/user/edit/' . $values['id']);
     }
     $form->setClass('smart-form');
     $fieldset = new Form\FieldSet('fieldset');
     $form->addField($fieldset);
     if (isset($values['id'])) {
         $field = new Form\Element\Hidden('id');
         $field->setRequired(true);
         $field->setValue($values['id']);
         $fieldset->addField($field);
     }
     $field = new Form\Element\Text('name');
     $field->setRequired(true);
     $field->setLabel('Name');
     $fieldset->addField($field);
     $field = new Form\Element\Email('email');
     $field->setRequired(true);
     $field->setLabel('Email Address');
     $fieldset->addField($field);
     $field = new Form\Element\Password('password');
     if ($type == 'add') {
         $field->setRequired(true);
     } else {
         $field->setRequired(false);
     }
     $field->setLabel('Password' . ($type == 'edit' ? ' (leave blank to keep current password)' : ''));
     $fieldset->addField($field);
     if ($this->currentUser->getIsAdmin()) {
         $field = new Form\Element\Select('is_admin');
         $field->setRequired(false);
         $field->setLabel('Administrator');
         $field->setOptions([0 => 'No', 1 => 'Yes']);
         $fieldset->addField($field);
     }
     $data = [&$form, &$values];
     Event::trigger('userForm', $data);
     list($form, $values) = $data;
     $fieldset = new Form\FieldSet('fieldset3');
     $form->addField($fieldset);
     $field = new Form\Element\Submit();
     $field->setValue('Save User');
     $field->setClass('btn-success');
     $fieldset->addField($field);
     $form->setValues($values);
     return $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;
 }
示例#5
0
 /**
  * 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;
 }
示例#6
0
 /**
  * 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;
 }
示例#7
0
 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;
 }