ChangePasswordForm.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace ModulesGarden\Servers\ZimbraEmail\App\UI\Client\EmailAccount\Forms;
  3. use ModulesGarden\Servers\ZimbraEmail\App\UI\Client\EmailAccount\Providers\EditAccountDataProvider;
  4. use ModulesGarden\Servers\ZimbraEmail\App\Validators\PasswordsValidator;
  5. use ModulesGarden\Servers\ZimbraEmail\App\Validators\RepeatPasswordValidator;
  6. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Interfaces\ClientArea;
  7. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\BaseForm;
  8. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\Fields\Hidden;
  9. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\Fields\Password;
  10. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\Fields\Select;
  11. /**
  12. *
  13. * Created by PhpStorm.
  14. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  15. * Date: 08.11.19
  16. * Time: 12:07
  17. * Class ChangePasswordForm
  18. */
  19. class ChangePasswordForm extends BaseForm implements ClientArea
  20. {
  21. protected $id = 'changePasswordForm';
  22. protected $name = 'changePasswordForm';
  23. protected $title = 'changePasswordForm';
  24. protected function getDefaultActions()
  25. {
  26. return ['changePassword'];
  27. }
  28. public function initContent()
  29. {
  30. $this->setFormType('changePassword');
  31. $this->dataProvider = new EditAccountDataProvider();
  32. $field = new Hidden('id');
  33. $this->addField($field);
  34. /**end**/
  35. $field = new Password('password');
  36. $field->setDescription('description');
  37. $field->addValidator(new PasswordsValidator());
  38. $field->notEmpty();
  39. $this->addField($field);
  40. $field = (new Password('repeat_password'))->addValidator(new RepeatPasswordValidator());
  41. $field->notEmpty();
  42. $this->addField($field);
  43. $this->loadDataToForm();
  44. }
  45. }