/** * Get delete form * * @return \Magelight\Webform\Blocks\Form */ public function getDeleteForm() { if (!$this->deleteForm instanceof \Magelight\Webform\Blocks\Form) { $this->deleteForm = \Magelight\Webform\Blocks\Form::forge()->setConfigs('delete-form', $this->url('admin/scaffold/{entity}/delete/{id}', ['entity' => $this->entity, 'id' => $this->id])); $cancelBtn = \Magelight\Webform\Blocks\Elements\Abstraction\Element::forge()->setTag('a')->setClass('btn btn-success')->setAttribute('href', $this->url('admin/scaffold/{entity}', ['entity' => $this->entity]))->setContent(__('Cancel')); $this->deleteForm->addContent(\Magelight\Webform\Blocks\Elements\InputHidden::forge()->setName('id')->setValue($this->id)); $this->deleteForm->addButtonsRow([\Magelight\Webform\Blocks\Elements\Button::forge()->setContent(__('Delete'))->setType('submit')->addClass('btn-warning'), $cancelBtn]); } return $this->deleteForm; }
/** * Get login form * * @return \Magelight\Webform\Blocks\Form */ public function getLoginForm() { $form = Form::forge()->setHorizontal()->setConfigs('remindpass-form', $this->url(\Magelight\Config::getInstance()->getConfigString('global/auth/urls/login_url'))); $fieldset = Fieldset::forge(); $fieldset->addRowField(Elements\Input::forge()->setName('email'), __('E-Mail')); $fieldset->addRowField(Elements\PasswordInput::forge()->setName('password'), __('Password')); return $form->addFieldset($fieldset)->createResultRow(true)->addButtonsRow([Elements\Button::forge()->setContent(__('Enter'))->addClass('btn-primary'), Elements\Abstraction\Element::forge()->setTag('a')->setAttribute('href', $this->url('auth/remindpass'))->setContent(__('Remind password'))->setClass('btn')])->loadFromRequest(\Magelight\Http\Request::getInstance())->setValidator($this->getLoginFormValidator()); }
/** * Get for for password recovery page * * @return \Magelight\Webform\Blocks\Form */ public function getForgotPasswordForm() { $form = Form::forge()->setHorizontal()->setConfigs('remindpass-form', $this->url(\Magelight\Config::getInstance()->getConfigString('global/auth/urls/forgot_password_url'))); $fieldset = Fieldset::forge(); $fieldset->addRowField(Elements\Input::forge()->setName('email'), __('E-Mail', [], 1, 'default')); $validator = \Magelight\Webform\Models\Validator::forge(); $validator->fieldRules('email')->required()->setCustomError(__("Please enter a valid e-mail!", 1))->chainRule()->email()->setCustomError(__("Please enter a valid e-mail!", 1)); return $form->addFieldset($fieldset)->createResultRow(true)->addButtonsRow([Elements\Button::forge()->setContent(__('Send new password'))->addClass('btn-primary')])->loadFromRequest()->setValidator($validator)->validateOnFront(); }
/** * Get sample form * * @return Form */ public function getSampleForm() { $form = Form::forge()->setHorizontal()->setConfigs('sample', $this->url('sample/form')); $fieldset = Fieldset::forge(); $fieldset->setLegend('Register new user'); $fieldset->addRowField(Elements\Input::forge()->setName('name'), __('Name')); $fieldset->addRowField(Elements\Input::forge()->setName('email'), __('E-Mail')); $fieldset->addRowField(Elements\PasswordInput::forge()->setName('password'), __('Password')); $fieldset->addRowField(Elements\Captcha::forge($this->url(\Magelight\Config::getInstance()->getConfigString('global/auth/urls/render_captcha_url')))->setName('captcha')->addClass('col-md-6'), __('Enter protection code')); return $form->addFieldset($fieldset)->createResultRow(true)->addButtonsRow(Elements\Button::forge()->setContent(__('Register'))->addClass('btn-primary'))->loadFromRequest()->setValidator($this->getSampleFormValidator())->validateOnFront(); }
/** * Get validation messages with errors * * @param $formName * @param array $ruleset * @return string */ public function getValidationMessagesJson($formName, $ruleset = []) { if (empty($ruleset)) { $ruleset = $this->getDefaultFrontValidationRuleset(); } $messages = new \stdClass(); foreach ($this->flatNameCheckers as $fieldName => $checker) { /* @var $checker \Magelight\Webform\Models\Validation\Checker */ $fieldName = \Magelight\Webform\Blocks\Form::wrapFieldName($fieldName, $formName); $messages->{$fieldName} = $checker->getRulesMessagesJson($ruleset); } return json_encode($messages, JSON_FORCE_OBJECT | JSON_UNESCAPED_SLASHES); }