diff --git a/phpstan.neon b/phpstan.neon index 8ae10027..1e3455d2 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -8,15 +8,6 @@ parameters: - test treatPhpDocTypesAsCertain: false ignoreErrors: - - - message: '#Parameter \#1 \$inputFilter of method Admin\\Admin\\Form\\CreateAdminForm::setInputFilter\(\) expects Laminas\\InputFilter\\InputFilterInterface, Admin\\Admin\\InputFilter\\EditAdminInputFilter given.#' - path: test/Unit/Admin/Form/AdminFormTest.php - message: '#Parameter \#1 \$expected of method PHPUnit\\Framework\\Assert::assertSame\(\) contains unresolvable type.#' path: test/Unit/App/Plugin/FormsPluginTest.php - - - message: '#Call to an undefined method Laminas\\InputFilter\\InputFilterInterface::getInputs\(\)#' - path: test - - - message: '#Call to an undefined method Laminas\\InputFilter\\InputFilterInterface::init\(\)#' - path: src diff --git a/src/Admin/src/Form/AccountForm.php b/src/Admin/src/Form/AccountForm.php index 6aba1059..7b282646 100644 --- a/src/Admin/src/Form/AccountForm.php +++ b/src/Admin/src/Form/AccountForm.php @@ -5,21 +5,15 @@ namespace Admin\Admin\Form; use Admin\Admin\InputFilter\EditAccountInputFilter; +use Admin\App\Form\AbstractForm; use Laminas\Form\Element\Csrf; use Laminas\Form\Element\Submit; use Laminas\Form\Element\Text; -use Laminas\Form\Form; -use Laminas\Form\FormInterface; use Laminas\InputFilter\InputFilterInterface; use Laminas\Session\Container; -/** - * @template-extends Form - */ -class AccountForm extends Form +class AccountForm extends AbstractForm { - protected InputFilterInterface $inputFilter; - public function __construct(?string $name = null, array $options = []) { parent::__construct($name, $options); diff --git a/src/Admin/src/Form/ChangePasswordForm.php b/src/Admin/src/Form/ChangePasswordForm.php index 0ab1075a..f18f9280 100644 --- a/src/Admin/src/Form/ChangePasswordForm.php +++ b/src/Admin/src/Form/ChangePasswordForm.php @@ -5,21 +5,15 @@ namespace Admin\Admin\Form; use Admin\Admin\InputFilter\ChangePasswordInputFilter; +use Admin\App\Form\AbstractForm; use Laminas\Form\Element\Csrf; use Laminas\Form\Element\Password; use Laminas\Form\Element\Submit; -use Laminas\Form\Form; -use Laminas\Form\FormInterface; use Laminas\InputFilter\InputFilterInterface; use Laminas\Session\Container; -/** - * @template-extends Form - */ -class ChangePasswordForm extends Form +class ChangePasswordForm extends AbstractForm { - protected InputFilterInterface $inputFilter; - public function __construct(?string $name = null, array $options = []) { parent::__construct($name, $options); diff --git a/src/Admin/src/Form/CreateAdminForm.php b/src/Admin/src/Form/CreateAdminForm.php index b3bb30c9..b91aae51 100644 --- a/src/Admin/src/Form/CreateAdminForm.php +++ b/src/Admin/src/Form/CreateAdminForm.php @@ -5,6 +5,7 @@ namespace Admin\Admin\Form; use Admin\Admin\InputFilter\CreateAdminInputFilter; +use Admin\App\Form\AbstractForm; use Core\Admin\Enum\AdminStatusEnum; use Laminas\Form\Element\Csrf; use Laminas\Form\Element\MultiCheckbox; @@ -12,18 +13,11 @@ use Laminas\Form\Element\Select; use Laminas\Form\Element\Submit; use Laminas\Form\Element\Text; -use Laminas\Form\Form; -use Laminas\Form\FormInterface; use Laminas\InputFilter\InputFilterInterface; use Laminas\Session\Container; -/** - * @template-extends Form - */ -class CreateAdminForm extends Form +class CreateAdminForm extends AbstractForm { - protected InputFilterInterface $inputFilter; - public function __construct(?string $name = null, array $options = []) { parent::__construct($name, $options); @@ -97,12 +91,4 @@ public function getInputFilter(): InputFilterInterface { return $this->inputFilter; } - - public function setInputFilter(InputFilterInterface $inputFilter): FormInterface - { - $this->inputFilter = $inputFilter; - $this->inputFilter->init(); - - return $this; - } } diff --git a/src/Admin/src/Form/DeleteAdminForm.php b/src/Admin/src/Form/DeleteAdminForm.php index 2046dcdc..61cf3148 100644 --- a/src/Admin/src/Form/DeleteAdminForm.php +++ b/src/Admin/src/Form/DeleteAdminForm.php @@ -5,21 +5,15 @@ namespace Admin\Admin\Form; use Admin\Admin\InputFilter\DeleteAdminInputFilter; +use Admin\App\Form\AbstractForm; use Laminas\Form\Element\Checkbox; use Laminas\Form\Element\Csrf; use Laminas\Form\Element\Submit; -use Laminas\Form\Form; -use Laminas\Form\FormInterface; use Laminas\InputFilter\InputFilterInterface; use Laminas\Session\Container; -/** - * @template-extends Form - */ -class DeleteAdminForm extends Form +class DeleteAdminForm extends AbstractForm { - protected InputFilterInterface $inputFilter; - public function __construct(?string $name = null, array $options = []) { parent::__construct($name, $options); @@ -64,12 +58,4 @@ public function getInputFilter(): InputFilterInterface { return $this->inputFilter; } - - public function setInputFilter(InputFilterInterface $inputFilter): FormInterface - { - $this->inputFilter = $inputFilter; - $this->inputFilter->init(); - - return $this; - } } diff --git a/src/Admin/src/Form/EditAdminForm.php b/src/Admin/src/Form/EditAdminForm.php index 301eebf2..5418ca27 100644 --- a/src/Admin/src/Form/EditAdminForm.php +++ b/src/Admin/src/Form/EditAdminForm.php @@ -5,6 +5,7 @@ namespace Admin\Admin\Form; use Admin\Admin\InputFilter\EditAdminInputFilter; +use Admin\App\Form\AbstractForm; use Core\Admin\Enum\AdminStatusEnum; use Laminas\Form\Element\Csrf; use Laminas\Form\Element\MultiCheckbox; @@ -12,15 +13,10 @@ use Laminas\Form\Element\Select; use Laminas\Form\Element\Submit; use Laminas\Form\Element\Text; -use Laminas\Form\Form; -use Laminas\Form\FormInterface; use Laminas\InputFilter\InputFilterInterface; use Laminas\Session\Container; -/** - * @template-extends Form - */ -class EditAdminForm extends Form +class EditAdminForm extends AbstractForm { protected InputFilterInterface $inputFilter; @@ -49,11 +45,6 @@ public function setRoles(array $roles): self public function init(): void { - $this->add( - (new Text('identity')) - ->setLabel('Identity') - ->setAttribute('required', true) - ); $this->add( (new Password('password')) ->setLabel('Password') @@ -95,12 +86,4 @@ public function getInputFilter(): InputFilterInterface { return $this->inputFilter; } - - public function setInputFilter(InputFilterInterface $inputFilter): FormInterface - { - $this->inputFilter = $inputFilter; - $this->inputFilter->init(); - - return $this; - } } diff --git a/src/Admin/src/Form/LoginForm.php b/src/Admin/src/Form/LoginForm.php index 1e55107f..049a0ec9 100644 --- a/src/Admin/src/Form/LoginForm.php +++ b/src/Admin/src/Form/LoginForm.php @@ -5,22 +5,16 @@ namespace Admin\Admin\Form; use Admin\Admin\InputFilter\LoginInputFilter; +use Admin\App\Form\AbstractForm; use Laminas\Form\Element\Csrf; use Laminas\Form\Element\Password; use Laminas\Form\Element\Submit; use Laminas\Form\Element\Text; -use Laminas\Form\Form; -use Laminas\Form\FormInterface; use Laminas\InputFilter\InputFilterInterface; use Laminas\Session\Container; -/** - * @template-extends Form - */ -class LoginForm extends Form +class LoginForm extends AbstractForm { - protected InputFilterInterface $inputFilter; - public function __construct(?string $name = null, array $options = []) { parent::__construct($name, $options); diff --git a/src/Admin/src/Handler/Account/GetAccountEditFormHandler.php b/src/Admin/src/Handler/Account/GetAccountEditFormHandler.php index 64a8bf9a..a409e048 100644 --- a/src/Admin/src/Handler/Account/GetAccountEditFormHandler.php +++ b/src/Admin/src/Handler/Account/GetAccountEditFormHandler.php @@ -7,7 +7,7 @@ use Admin\Admin\Form\AccountForm; use Admin\Admin\Form\ChangePasswordForm; use Admin\Admin\Service\AdminServiceInterface; -use Core\App\Exception\NotFoundException; +use Admin\App\Exception\NotFoundException; use Dot\DependencyInjection\Attribute\Inject; use Dot\FlashMessenger\FlashMessengerInterface; use Fig\Http\Message\StatusCodeInterface; diff --git a/src/Admin/src/Handler/Account/PostAccountChangePasswordHandler.php b/src/Admin/src/Handler/Account/PostAccountChangePasswordHandler.php index 6a250b57..1661c913 100644 --- a/src/Admin/src/Handler/Account/PostAccountChangePasswordHandler.php +++ b/src/Admin/src/Handler/Account/PostAccountChangePasswordHandler.php @@ -7,7 +7,7 @@ use Admin\Admin\Form\AccountForm; use Admin\Admin\Form\ChangePasswordForm; use Admin\Admin\Service\AdminServiceInterface; -use Core\App\Exception\NotFoundException; +use Admin\App\Exception\NotFoundException; use Core\App\Message; use Dot\DependencyInjection\Attribute\Inject; use Dot\FlashMessenger\FlashMessengerInterface; diff --git a/src/Admin/src/Handler/Account/PostAccountEditHandler.php b/src/Admin/src/Handler/Account/PostAccountEditHandler.php index eb6d0047..5dbc4e82 100644 --- a/src/Admin/src/Handler/Account/PostAccountEditHandler.php +++ b/src/Admin/src/Handler/Account/PostAccountEditHandler.php @@ -7,9 +7,9 @@ use Admin\Admin\Form\AccountForm; use Admin\Admin\Form\ChangePasswordForm; use Admin\Admin\Service\AdminServiceInterface; -use Core\App\Exception\BadRequestException; -use Core\App\Exception\ConflictException; -use Core\App\Exception\NotFoundException; +use Admin\App\Exception\BadRequestException; +use Admin\App\Exception\ConflictException; +use Admin\App\Exception\NotFoundException; use Core\App\Message; use Dot\DependencyInjection\Attribute\Inject; use Dot\FlashMessenger\FlashMessengerInterface; diff --git a/src/Admin/src/Handler/Admin/GetAdminDeleteFormHandler.php b/src/Admin/src/Handler/Admin/GetAdminDeleteFormHandler.php index ce59cf2e..64a6b49a 100644 --- a/src/Admin/src/Handler/Admin/GetAdminDeleteFormHandler.php +++ b/src/Admin/src/Handler/Admin/GetAdminDeleteFormHandler.php @@ -6,7 +6,7 @@ use Admin\Admin\Form\DeleteAdminForm; use Admin\Admin\Service\AdminServiceInterface; -use Core\App\Exception\NotFoundException; +use Admin\App\Exception\NotFoundException; use Dot\DependencyInjection\Attribute\Inject; use Dot\FlashMessenger\FlashMessengerInterface; use Fig\Http\Message\StatusCodeInterface; diff --git a/src/Admin/src/Handler/Admin/GetAdminEditFormHandler.php b/src/Admin/src/Handler/Admin/GetAdminEditFormHandler.php index 3d6dcd1b..d0222f0a 100644 --- a/src/Admin/src/Handler/Admin/GetAdminEditFormHandler.php +++ b/src/Admin/src/Handler/Admin/GetAdminEditFormHandler.php @@ -7,8 +7,8 @@ use Admin\Admin\Form\EditAdminForm; use Admin\Admin\Service\AdminRoleServiceInterface; use Admin\Admin\Service\AdminServiceInterface; +use Admin\App\Exception\NotFoundException; use Core\Admin\Entity\AdminRole; -use Core\App\Exception\NotFoundException; use Dot\DependencyInjection\Attribute\Inject; use Dot\FlashMessenger\FlashMessengerInterface; use Fig\Http\Message\StatusCodeInterface; @@ -68,7 +68,8 @@ public function handle(ServerRequestInterface $request): ResponseInterface return new HtmlResponse( $this->template->render('admin::admin-edit-form', [ - 'form' => $this->editAdminForm->prepare(), + 'form' => $this->editAdminForm->prepare(), + 'admin' => $admin, ]) ); } diff --git a/src/Admin/src/Handler/Admin/PostAdminCreateHandler.php b/src/Admin/src/Handler/Admin/PostAdminCreateHandler.php index d01d1eed..21dae12f 100644 --- a/src/Admin/src/Handler/Admin/PostAdminCreateHandler.php +++ b/src/Admin/src/Handler/Admin/PostAdminCreateHandler.php @@ -6,8 +6,7 @@ use Admin\Admin\Form\CreateAdminForm; use Admin\Admin\Service\AdminServiceInterface; -use Core\App\Exception\ConflictException; -use Core\App\Exception\IdentityException; +use Admin\App\Exception\ConflictException; use Core\App\Message; use Dot\DependencyInjection\Attribute\Inject; use Dot\FlashMessenger\FlashMessengerInterface; @@ -61,7 +60,7 @@ public function handle(ServerRequestInterface $request): ResponseInterface ]), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY ); - } catch (ConflictException | IdentityException $exception) { + } catch (ConflictException $exception) { return new HtmlResponse( $this->template->render('admin::admin-create-form', [ 'form' => $this->createAdminForm->prepare(), diff --git a/src/Admin/src/Handler/Admin/PostAdminDeleteHandler.php b/src/Admin/src/Handler/Admin/PostAdminDeleteHandler.php index f2656713..4dabd0c5 100644 --- a/src/Admin/src/Handler/Admin/PostAdminDeleteHandler.php +++ b/src/Admin/src/Handler/Admin/PostAdminDeleteHandler.php @@ -6,7 +6,7 @@ use Admin\Admin\Form\DeleteAdminForm; use Admin\Admin\Service\AdminServiceInterface; -use Core\App\Exception\NotFoundException; +use Admin\App\Exception\NotFoundException; use Core\App\Message; use Dot\DependencyInjection\Attribute\Inject; use Dot\FlashMessenger\FlashMessengerInterface; diff --git a/src/Admin/src/Handler/Admin/PostAdminEditHandler.php b/src/Admin/src/Handler/Admin/PostAdminEditHandler.php index 4e7192c6..fbec89f9 100644 --- a/src/Admin/src/Handler/Admin/PostAdminEditHandler.php +++ b/src/Admin/src/Handler/Admin/PostAdminEditHandler.php @@ -7,10 +7,10 @@ use Admin\Admin\Form\EditAdminForm; use Admin\Admin\Service\AdminRoleServiceInterface; use Admin\Admin\Service\AdminServiceInterface; +use Admin\App\Exception\BadRequestException; +use Admin\App\Exception\ConflictException; +use Admin\App\Exception\NotFoundException; use Core\Admin\Entity\AdminRole; -use Core\App\Exception\BadRequestException; -use Core\App\Exception\ConflictException; -use Core\App\Exception\NotFoundException; use Core\App\Message; use Dot\DependencyInjection\Attribute\Inject; use Dot\FlashMessenger\FlashMessengerInterface; @@ -83,7 +83,8 @@ public function handle(ServerRequestInterface $request): ResponseInterface return new HtmlResponse( $this->template->render('admin::admin-edit-form', [ - 'form' => $this->editAdminForm->prepare(), + 'form' => $this->editAdminForm->prepare(), + 'admin' => $admin, ]), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY ); @@ -91,6 +92,7 @@ public function handle(ServerRequestInterface $request): ResponseInterface return new HtmlResponse( $this->template->render('admin::admin-edit-form', [ 'form' => $this->editAdminForm->prepare(), + 'admin' => $admin, 'messages' => [ 'error' => $exception->getMessage(), ], diff --git a/src/Admin/src/InputFilter/EditAdminInputFilter.php b/src/Admin/src/InputFilter/EditAdminInputFilter.php index 22163013..74fa104c 100644 --- a/src/Admin/src/InputFilter/EditAdminInputFilter.php +++ b/src/Admin/src/InputFilter/EditAdminInputFilter.php @@ -8,7 +8,6 @@ use Admin\Admin\InputFilter\Input\StatusInput; use Admin\App\InputFilter\Input\CsrfInput; use Admin\App\InputFilter\Input\FirstNameInput; -use Admin\App\InputFilter\Input\IdentityInput; use Admin\App\InputFilter\Input\LastNameInput; use Admin\App\InputFilter\Input\PasswordConfirmInput; use Admin\App\InputFilter\Input\PasswordInput; @@ -19,7 +18,6 @@ class EditAdminInputFilter extends AbstractInputFilter public function init(): void { $this - ->add(new IdentityInput('identity')) ->add(new PasswordInput('password', false)) ->add(new PasswordConfirmInput('passwordConfirm', false)) ->add(new FirstNameInput('firstName', false)) diff --git a/src/Admin/src/Service/AdminRoleService.php b/src/Admin/src/Service/AdminRoleService.php index a4ec090e..cd407efc 100644 --- a/src/Admin/src/Service/AdminRoleService.php +++ b/src/Admin/src/Service/AdminRoleService.php @@ -4,9 +4,9 @@ namespace Admin\Admin\Service; +use Admin\App\Exception\NotFoundException; use Core\Admin\Entity\AdminRole; use Core\Admin\Repository\AdminRoleRepository; -use Core\App\Exception\NotFoundException; use Core\App\Message; use Dot\DependencyInjection\Attribute\Inject; diff --git a/src/Admin/src/Service/AdminRoleServiceInterface.php b/src/Admin/src/Service/AdminRoleServiceInterface.php index 2bfe8334..f85fecb4 100644 --- a/src/Admin/src/Service/AdminRoleServiceInterface.php +++ b/src/Admin/src/Service/AdminRoleServiceInterface.php @@ -4,9 +4,9 @@ namespace Admin\Admin\Service; +use Admin\App\Exception\NotFoundException; use Core\Admin\Entity\AdminRole; use Core\Admin\Repository\AdminRoleRepository; -use Core\App\Exception\NotFoundException; interface AdminRoleServiceInterface { diff --git a/src/Admin/src/Service/AdminService.php b/src/Admin/src/Service/AdminService.php index 6f7b05e1..050b5101 100644 --- a/src/Admin/src/Service/AdminService.php +++ b/src/Admin/src/Service/AdminService.php @@ -4,14 +4,14 @@ namespace Admin\Admin\Service; +use Admin\App\Exception\BadRequestException; +use Admin\App\Exception\ConflictException; +use Admin\App\Exception\NotFoundException; use Core\Admin\Entity\Admin; use Core\Admin\Entity\AdminRole; use Core\Admin\Enum\AdminStatusEnum; use Core\Admin\Repository\AdminRepository; use Core\Admin\Repository\AdminRoleRepository; -use Core\App\Exception\BadRequestException; -use Core\App\Exception\ConflictException; -use Core\App\Exception\NotFoundException; use Core\App\Helper\Paginator; use Core\App\Message; use Doctrine\ORM\Tools\Pagination\Paginator as DoctrinePaginator; diff --git a/src/Admin/src/Service/AdminServiceInterface.php b/src/Admin/src/Service/AdminServiceInterface.php index ef3749de..8e9344db 100644 --- a/src/Admin/src/Service/AdminServiceInterface.php +++ b/src/Admin/src/Service/AdminServiceInterface.php @@ -4,11 +4,11 @@ namespace Admin\Admin\Service; +use Admin\App\Exception\BadRequestException; +use Admin\App\Exception\ConflictException; +use Admin\App\Exception\NotFoundException; use Core\Admin\Entity\Admin; use Core\Admin\Repository\AdminRepository; -use Core\App\Exception\BadRequestException; -use Core\App\Exception\ConflictException; -use Core\App\Exception\NotFoundException; interface AdminServiceInterface { diff --git a/src/Admin/templates/admin/admin-edit-form.html.twig b/src/Admin/templates/admin/admin-edit-form.html.twig index a6dbc347..256a13ea 100644 --- a/src/Admin/templates/admin/admin-edit-form.html.twig +++ b/src/Admin/templates/admin/admin-edit-form.html.twig @@ -2,12 +2,11 @@