AddDomainAliasForm.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace ModulesGarden\Servers\ZimbraEmail\App\UI\Client\DomainAlias\Forms;
  3. use ModulesGarden\Servers\ZimbraEmail\App\UI\Admin\Custom\Forms\SortedFieldForm;
  4. use ModulesGarden\Servers\ZimbraEmail\App\UI\Client\DomainAlias\Providers\AddDomainAliasDataProvider;
  5. use ModulesGarden\Servers\ZimbraEmail\App\UI\Client\DomainAlias\Providers\AddListDataProvider;
  6. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Interfaces\ClientArea;
  7. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\Fields\Hidden;
  8. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\Fields\InputGroupElements\Text as InputText;
  9. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\Fields\Text;
  10. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\FormConstants;
  11. use ModulesGarden\Servers\ZimbraEmail\Core\UI\Widget\Forms\Sections\InputGroup;
  12. /**
  13. *
  14. * Created by PhpStorm.
  15. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  16. * Date: 18.09.19
  17. * Time: 13:38
  18. * Class AddDomainAliasForm
  19. */
  20. class AddDomainAliasForm extends SortedFieldForm implements ClientArea
  21. {
  22. protected $id = 'addDomainAliasForm';
  23. protected $name = 'addDomainAliasForm';
  24. public function initContent()
  25. {
  26. $this->setFormType(FormConstants::CREATE);
  27. $this->setProvider(new AddDomainAliasDataProvider());
  28. $this->initFields();
  29. $this->loadDataToForm();
  30. }
  31. protected function initFields()
  32. {
  33. $email = new InputGroup('aliasGroup');
  34. $email->addInputComponent((new InputText('domain'))->addHtmlAttribute('readonly','true'));
  35. $email->addInputAddon('emailSign', false, '→');
  36. $email->addInputComponent((new InputText('alias')));
  37. $this->addSection($email);
  38. $this->addField((new Text('description'))->setDescription('descriptionDomainList'));
  39. /**
  40. * hidden fields
  41. */
  42. $this->addField((new Hidden('domainId')));
  43. }
  44. }