17 class Main extends \Magento\Backend\Block\Widget\Form\Generic
36 private $deployedLocales;
50 \
Magento\Framework\Data\FormFactory $formFactory,
51 \
Magento\Backend\Model\Auth\Session $authSession,
52 \
Magento\Framework\Locale\ListsInterface $localeLists,
56 $this->_authSession = $authSession;
57 $this->_LocaleLists = $localeLists;
58 $this->deployedLocales = $deployedLocales
59 ?: ObjectManager::getInstance()->get(OptionInterface::class);
72 $model = $this->_coreRegistry->registry(
'permissions_user');
75 $form = $this->_formFactory->create();
76 $form->setHtmlIdPrefix(
'user_');
78 $baseFieldset = $form->addFieldset(
'base_fieldset', [
'legend' =>
__(
'Account Information')]);
81 $baseFieldset->addField(
'user_id',
'hidden', [
'name' =>
'user_id']);
83 if (!
$model->hasData(
'is_active')) {
88 $baseFieldset->addField(
93 'label' =>
__(
'User Name'),
95 'title' =>
__(
'User Name'),
100 $baseFieldset->addField(
104 'name' =>
'firstname',
105 'label' =>
__(
'First Name'),
107 'title' =>
__(
'First Name'),
112 $baseFieldset->addField(
116 'name' =>
'lastname',
117 'label' =>
__(
'Last Name'),
119 'title' =>
__(
'Last Name'),
124 $baseFieldset->addField(
129 'label' =>
__(
'Email'),
130 'id' =>
'customer_email',
131 'title' =>
__(
'User Email'),
132 'class' =>
'required-entry validate-email',
137 $isNewObject =
$model->isObjectNew();
139 $passwordLabel =
__(
'Password');
141 $passwordLabel =
__(
'New Password');
143 $confirmationLabel =
__(
'Password Confirmation');
144 $this->
_addPasswordFields($baseFieldset, $passwordLabel, $confirmationLabel, $isNewObject);
146 $baseFieldset->addField(
150 'name' =>
'interface_locale',
151 'label' =>
__(
'Interface Locale'),
152 'title' =>
__(
'Interface Locale'),
153 'values' => $this->deployedLocales->getOptionLocales(),
158 if ($this->_authSession->getUser()->getId() !=
$model->getUserId()) {
159 $baseFieldset->addField(
163 'name' =>
'is_active',
164 'label' =>
__(
'This account is'),
166 'title' =>
__(
'Account Status'),
167 'class' =>
'input-select',
168 'options' => [
'1' =>
__(
'Active'),
'0' =>
__(
'Inactive')]
173 $baseFieldset->addField(
'user_roles',
'hidden', [
'name' =>
'user_roles',
'id' =>
'_user_roles']);
175 $currentUserVerificationFieldset = $form->addFieldset(
176 'current_user_verification_fieldset',
177 [
'legend' =>
__(
'Current User Identity Verification')]
179 $currentUserVerificationFieldset->addField(
180 self::CURRENT_USER_PASSWORD_FIELD,
183 'name' => self::CURRENT_USER_PASSWORD_FIELD,
184 'label' =>
__(
'Your Password'),
185 'id' => self::CURRENT_USER_PASSWORD_FIELD,
186 'title' =>
__(
'Your Password'),
187 'class' =>
'input-text validate-current-password required-entry',
193 unset(
$data[
'password']);
194 unset(
$data[self::CURRENT_USER_PASSWORD_FIELD]);
195 $form->setValues(
$data);
199 return parent::_prepareForm();
212 \
Magento\Framework\Data\
Form\Element\Fieldset $fieldset,
217 $requiredFieldClass = $isRequired ?
' required-entry' :
'';
222 'name' =>
'password',
223 'label' => $passwordLabel,
224 'id' =>
'customer_pass',
225 'title' => $passwordLabel,
226 'class' =>
'input-text validate-admin-password' . $requiredFieldClass,
227 'required' => $isRequired
234 'name' =>
'password_confirmation',
235 'label' => $confirmationLabel,
236 'id' =>
'confirmation',
237 'title' => $confirmationLabel,
238 'class' =>
'input-text validate-cpassword' . $requiredFieldClass,
239 'required' => $isRequired
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Data\FormFactory $formFactory, \Magento\Backend\Model\Auth\Session $authSession, \Magento\Framework\Locale\ListsInterface $localeLists, array $data=[], OptionInterface $deployedLocales=null)
const CURRENT_USER_PASSWORD_FIELD
_addPasswordFields(\Magento\Framework\Data\Form\Element\Fieldset $fieldset, $passwordLabel, $confirmationLabel, $isRequired=false)