diff --git a/app/modules/web/Controllers/Account/SaveCopyController.php b/app/modules/web/Controllers/Account/SaveCopyController.php index 795c6402..78325e81 100644 --- a/app/modules/web/Controllers/Account/SaveCopyController.php +++ b/app/modules/web/Controllers/Account/SaveCopyController.php @@ -72,7 +72,7 @@ final class SaveCopyController extends AccountControllerBase public function saveCopyAction(): ?bool { try { - $this->accountForm->validate(ActionsInterface::ACCOUNT_CREATE); + $this->accountForm->validateFor(ActionsInterface::ACCOUNT_CREATE); $accountId = $this->accountService->create($this->accountForm->getItemData()); diff --git a/app/modules/web/Controllers/Account/SaveCreateController.php b/app/modules/web/Controllers/Account/SaveCreateController.php index 6f9ecfea..a964ed30 100644 --- a/app/modules/web/Controllers/Account/SaveCreateController.php +++ b/app/modules/web/Controllers/Account/SaveCreateController.php @@ -73,7 +73,7 @@ final class SaveCreateController extends AccountControllerBase public function saveCreateAction(): ?bool { try { - $this->accountForm->validate(ActionsInterface::ACCOUNT_CREATE); + $this->accountForm->validateFor(ActionsInterface::ACCOUNT_CREATE); $accountId = $this->accountService->create($this->accountForm->getItemData()); diff --git a/app/modules/web/Controllers/Account/SaveEditController.php b/app/modules/web/Controllers/Account/SaveEditController.php index 38303be1..a18791e8 100644 --- a/app/modules/web/Controllers/Account/SaveEditController.php +++ b/app/modules/web/Controllers/Account/SaveEditController.php @@ -76,8 +76,7 @@ final class SaveEditController extends AccountControllerBase public function saveEditAction(int $id): ?bool { try { - $this->accountForm->setItemId($id); - $this->accountForm->validate(ActionsInterface::ACCOUNT_EDIT); + $this->accountForm->validateFor(ActionsInterface::ACCOUNT_EDIT, $id); $itemData = $this->accountForm->getItemData(); diff --git a/app/modules/web/Controllers/Account/SaveEditPassController.php b/app/modules/web/Controllers/Account/SaveEditPassController.php index 32a733d0..16c7b3a0 100644 --- a/app/modules/web/Controllers/Account/SaveEditPassController.php +++ b/app/modules/web/Controllers/Account/SaveEditPassController.php @@ -72,8 +72,7 @@ final class SaveEditPassController extends AccountControllerBase public function saveEditPassAction(int $id): bool { try { - $this->accountForm->setItemId($id); - $this->accountForm->validate(ActionsInterface::ACCOUNT_EDIT_PASS); + $this->accountForm->validateFor(ActionsInterface::ACCOUNT_EDIT_PASS, $id); $this->accountService->editPassword($this->accountForm->getItemData()); diff --git a/app/modules/web/Controllers/AccountManager/SaveBulkEditController.php b/app/modules/web/Controllers/AccountManager/SaveBulkEditController.php index cd950674..be0358d8 100644 --- a/app/modules/web/Controllers/AccountManager/SaveBulkEditController.php +++ b/app/modules/web/Controllers/AccountManager/SaveBulkEditController.php @@ -79,7 +79,7 @@ final class SaveBulkEditController extends ControllerBase public function saveBulkEditAction(): bool { try { - $this->accountForm->validate(ActionsInterface::ACCOUNTMGR_BULK_EDIT); + $this->accountForm->validateFor(ActionsInterface::ACCOUNTMGR_BULK_EDIT, null); $request = new AccountBulkRequest( Util::itemsIdAdapter($this->request->analyzeString('itemsId')), diff --git a/app/modules/web/Controllers/AuthToken/SaveCreateController.php b/app/modules/web/Controllers/AuthToken/SaveCreateController.php index cd36acee..48080874 100644 --- a/app/modules/web/Controllers/AuthToken/SaveCreateController.php +++ b/app/modules/web/Controllers/AuthToken/SaveCreateController.php @@ -51,7 +51,7 @@ final class SaveCreateController extends AuthTokenSaveBase ); } - $this->form->validate(ActionsInterface::AUTHTOKEN_CREATE); + $this->form->validateFor(ActionsInterface::AUTHTOKEN_CREATE); $id = $this->authTokenService->create($this->form->getItemData()); diff --git a/app/modules/web/Controllers/AuthToken/SaveEditController.php b/app/modules/web/Controllers/AuthToken/SaveEditController.php index ecfebc5e..0432d2ab 100644 --- a/app/modules/web/Controllers/AuthToken/SaveEditController.php +++ b/app/modules/web/Controllers/AuthToken/SaveEditController.php @@ -56,8 +56,7 @@ final class SaveEditController extends AuthTokenSaveBase ); } - $this->form->setItemId($id); - $this->form->validate(ActionsInterface::AUTHTOKEN_EDIT); + $this->form->validateFor(ActionsInterface::AUTHTOKEN_EDIT, $id); if ($this->form->isRefresh()) { $this->authTokenService->refreshAndUpdate($this->form->getItemData()); diff --git a/app/modules/web/Controllers/CategoryController.php b/app/modules/web/Controllers/CategoryController.php index 7a12e853..90a7d244 100644 --- a/app/modules/web/Controllers/CategoryController.php +++ b/app/modules/web/Controllers/CategoryController.php @@ -332,7 +332,7 @@ final class CategoryController extends ControllerBase implements CrudControllerI } $form = new CategoryForm($this->dic); - $form->validate(ActionsInterface::CATEGORY_CREATE); + $form->validateFor(ActionsInterface::CATEGORY_CREATE, null); $itemData = $form->getItemData(); @@ -393,7 +393,7 @@ final class CategoryController extends ControllerBase implements CrudControllerI } $form = new CategoryForm($this->dic, $id); - $form->validate(Acl::CATEGORY_EDIT); + $form->validateFor(Acl::CATEGORY_EDIT, null); $itemData = $form->getItemData(); diff --git a/app/modules/web/Controllers/ClientController.php b/app/modules/web/Controllers/ClientController.php index 1a79dd86..fbe18c45 100644 --- a/app/modules/web/Controllers/ClientController.php +++ b/app/modules/web/Controllers/ClientController.php @@ -330,7 +330,7 @@ final class ClientController extends ControllerBase implements CrudControllerInt } $form = new ClientForm($this->dic); - $form->validate(ActionsInterface::CLIENT_CREATE); + $form->validateFor(ActionsInterface::CLIENT_CREATE, null); $itemData = $form->getItemData(); @@ -391,7 +391,7 @@ final class ClientController extends ControllerBase implements CrudControllerInt } $form = new ClientForm($this->dic, $id); - $form->validate(ActionsInterface::CLIENT_EDIT); + $form->validateFor(ActionsInterface::CLIENT_EDIT, null); $this->clientService->update($form->getItemData()); diff --git a/app/modules/web/Controllers/CustomFieldController.php b/app/modules/web/Controllers/CustomFieldController.php index 681082c1..4c3a61e4 100644 --- a/app/modules/web/Controllers/CustomFieldController.php +++ b/app/modules/web/Controllers/CustomFieldController.php @@ -318,7 +318,7 @@ final class CustomFieldController extends ControllerBase implements CrudControll } $form = new CustomFieldDefForm($this->dic); - $form->validate(ActionsInterface::CUSTOMFIELD_CREATE); + $form->validateFor(ActionsInterface::CUSTOMFIELD_CREATE, null); $itemData = $form->getItemData(); @@ -373,7 +373,7 @@ final class CustomFieldController extends ControllerBase implements CrudControll } $form = new CustomFieldDefForm($this->dic, $id); - $form->validate(ActionsInterface::CUSTOMFIELD_EDIT); + $form->validateFor(ActionsInterface::CUSTOMFIELD_EDIT, null); $itemData = $form->getItemData(); diff --git a/app/modules/web/Controllers/ItemPresetController.php b/app/modules/web/Controllers/ItemPresetController.php index 9d8aa1b0..998ab183 100644 --- a/app/modules/web/Controllers/ItemPresetController.php +++ b/app/modules/web/Controllers/ItemPresetController.php @@ -394,7 +394,7 @@ final class ItemPresetController extends ControllerBase implements CrudControlle } $form = new ItemsPresetForm($this->dic); - $form->validate(ActionsInterface::ITEMPRESET_CREATE); + $form->validateFor(ActionsInterface::ITEMPRESET_CREATE, null); $itemData = $form->getItemData(); @@ -450,7 +450,7 @@ final class ItemPresetController extends ControllerBase implements CrudControlle } $form = new ItemsPresetForm($this->dic, $id); - $form->validate(Acl::ITEMPRESET_EDIT); + $form->validateFor(Acl::ITEMPRESET_EDIT, null); $itemData = $form->getItemData(); diff --git a/app/modules/web/Controllers/NotificationController.php b/app/modules/web/Controllers/NotificationController.php index dc53ab8b..70da905a 100644 --- a/app/modules/web/Controllers/NotificationController.php +++ b/app/modules/web/Controllers/NotificationController.php @@ -428,7 +428,7 @@ final class NotificationController extends ControllerBase implements CrudControl } $form = new NotificationForm($this->dic); - $form->validate(ActionsInterface::NOTIFICATION_CREATE); + $form->validateFor(ActionsInterface::NOTIFICATION_CREATE, null); $this->notificationService->create($form->getItemData()); @@ -478,7 +478,7 @@ final class NotificationController extends ControllerBase implements CrudControl } $form = new NotificationForm($this->dic, $id); - $form->validate(ActionsInterface::NOTIFICATION_EDIT); + $form->validateFor(ActionsInterface::NOTIFICATION_EDIT, null); $this->notificationService->update($form->getItemData()); diff --git a/app/modules/web/Controllers/PublicLinkController.php b/app/modules/web/Controllers/PublicLinkController.php index 8260da9b..9ffbd73b 100644 --- a/app/modules/web/Controllers/PublicLinkController.php +++ b/app/modules/web/Controllers/PublicLinkController.php @@ -384,7 +384,7 @@ final class PublicLinkController extends ControllerBase implements CrudControlle } $form = new PublicLinkForm($this->dic); - $form->validate(ActionsInterface::PUBLICLINK_CREATE); + $form->validateFor(ActionsInterface::PUBLICLINK_CREATE, null); $this->publicLinkService->create($form->getItemData()); diff --git a/app/modules/web/Controllers/TagController.php b/app/modules/web/Controllers/TagController.php index 4ef33738..b9c8fae2 100644 --- a/app/modules/web/Controllers/TagController.php +++ b/app/modules/web/Controllers/TagController.php @@ -313,7 +313,7 @@ final class TagController extends ControllerBase implements CrudControllerInterf } $form = new TagForm($this->dic); - $form->validate(ActionsInterface::TAG_CREATE); + $form->validateFor(ActionsInterface::TAG_CREATE, null); $this->tagService->create($form->getItemData()); @@ -361,7 +361,7 @@ final class TagController extends ControllerBase implements CrudControllerInterf } $form = new TagForm($this->dic, $id); - $form->validate(ActionsInterface::TAG_EDIT); + $form->validateFor(ActionsInterface::TAG_EDIT, null); $this->tagService->update($form->getItemData()); diff --git a/app/modules/web/Controllers/UserController.php b/app/modules/web/Controllers/UserController.php index 98916ed4..31d0984d 100644 --- a/app/modules/web/Controllers/UserController.php +++ b/app/modules/web/Controllers/UserController.php @@ -433,7 +433,7 @@ final class UserController extends ControllerBase implements CrudControllerInter } $form = new UserForm($this->dic); - $form->validate(Acl::USER_CREATE); + $form->validateFor(Acl::USER_CREATE, null); $itemData = $form->getItemData(); @@ -523,7 +523,7 @@ final class UserController extends ControllerBase implements CrudControllerInter } $form = new UserForm($this->dic, $id); - $form->validate(ActionsInterface::USER_EDIT); + $form->validateFor(ActionsInterface::USER_EDIT, null); $itemData = $form->getItemData(); @@ -587,7 +587,7 @@ final class UserController extends ControllerBase implements CrudControllerInter } $form = new UserForm($this->dic, $id); - $form->validate(ActionsInterface::USER_EDIT_PASS); + $form->validateFor(ActionsInterface::USER_EDIT_PASS, null); $itemData = $form->getItemData(); diff --git a/app/modules/web/Controllers/UserGroupController.php b/app/modules/web/Controllers/UserGroupController.php index 666f2b06..43270452 100644 --- a/app/modules/web/Controllers/UserGroupController.php +++ b/app/modules/web/Controllers/UserGroupController.php @@ -353,7 +353,7 @@ final class UserGroupController extends ControllerBase implements CrudController } $form = new UserGroupForm($this->dic); - $form->validate(ActionsInterface::GROUP_CREATE); + $form->validateFor(ActionsInterface::GROUP_CREATE, null); $groupData = $form->getItemData(); @@ -414,7 +414,7 @@ final class UserGroupController extends ControllerBase implements CrudController } $form = new UserGroupForm($this->dic, $id); - $form->validate(ActionsInterface::GROUP_EDIT); + $form->validateFor(ActionsInterface::GROUP_EDIT, null); $groupData = $form->getItemData(); diff --git a/app/modules/web/Controllers/UserProfileController.php b/app/modules/web/Controllers/UserProfileController.php index cab6f265..3c0ef893 100644 --- a/app/modules/web/Controllers/UserProfileController.php +++ b/app/modules/web/Controllers/UserProfileController.php @@ -350,7 +350,7 @@ final class UserProfileController extends ControllerBase implements CrudControll } $form = new UserProfileForm($this->dic); - $form->validate(ActionsInterface::PROFILE_CREATE); + $form->validateFor(ActionsInterface::PROFILE_CREATE, null); $profileData = $form->getItemData(); @@ -411,7 +411,7 @@ final class UserProfileController extends ControllerBase implements CrudControll } $form = new UserProfileForm($this->dic, $id); - $form->validate(ActionsInterface::PROFILE_EDIT); + $form->validateFor(ActionsInterface::PROFILE_EDIT, null); $profileData = $form->getItemData(); diff --git a/app/modules/web/Forms/AccountForm.php b/app/modules/web/Forms/AccountForm.php index 1f0f6eb6..42fe1519 100644 --- a/app/modules/web/Forms/AccountForm.php +++ b/app/modules/web/Forms/AccountForm.php @@ -60,6 +60,7 @@ final class AccountForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return AccountForm|FormInterface * @throws ValidationException @@ -67,7 +68,7 @@ final class AccountForm extends FormBase implements FormInterface * @throws NoSuchPropertyException * @throws QueryException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::ACCOUNT_EDIT_PASS: diff --git a/app/modules/web/Forms/AuthTokenForm.php b/app/modules/web/Forms/AuthTokenForm.php index cf4439f7..d8219f68 100644 --- a/app/modules/web/Forms/AuthTokenForm.php +++ b/app/modules/web/Forms/AuthTokenForm.php @@ -37,18 +37,23 @@ use SP\Domain\Auth\Services\AuthTokenService; final class AuthTokenForm extends FormBase implements FormInterface { protected ?AuthTokenData $authTokenData = null; - protected bool $refresh = false; + protected bool $refresh = false; /** * Validar el formulario * - * @param int $action + * @param int $action + * @param int|null $id * * @return AuthTokenForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { + if ($id !== null) { + $this->itemId = $id; + } + switch ($action) { case ActionsInterface::AUTHTOKEN_CREATE: case ActionsInterface::AUTHTOKEN_EDIT: diff --git a/app/modules/web/Forms/CategoryForm.php b/app/modules/web/Forms/CategoryForm.php index b5f0019a..ef16b942 100644 --- a/app/modules/web/Forms/CategoryForm.php +++ b/app/modules/web/Forms/CategoryForm.php @@ -41,11 +41,12 @@ final class CategoryForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return CategoryForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::CATEGORY_CREATE: diff --git a/app/modules/web/Forms/ClientForm.php b/app/modules/web/Forms/ClientForm.php index 35ad743b..94259dbf 100644 --- a/app/modules/web/Forms/ClientForm.php +++ b/app/modules/web/Forms/ClientForm.php @@ -41,11 +41,12 @@ final class ClientForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return ClientForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::CLIENT_CREATE: diff --git a/app/modules/web/Forms/CustomFieldDefForm.php b/app/modules/web/Forms/CustomFieldDefForm.php index b41373a5..658a378d 100644 --- a/app/modules/web/Forms/CustomFieldDefForm.php +++ b/app/modules/web/Forms/CustomFieldDefForm.php @@ -41,11 +41,12 @@ final class CustomFieldDefForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return CustomFieldDefForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::CUSTOMFIELD_CREATE: diff --git a/app/modules/web/Forms/FormBase.php b/app/modules/web/Forms/FormBase.php index 69425cf4..9c9f3f39 100644 --- a/app/modules/web/Forms/FormBase.php +++ b/app/modules/web/Forms/FormBase.php @@ -64,11 +64,11 @@ abstract class FormBase } /** - * @param int $itemId + * @return int|null */ - public function setItemId(int $itemId): void + public function getItemId(): ?int { - $this->itemId = $itemId; + return $this->itemId; } /** diff --git a/app/modules/web/Forms/FormInterface.php b/app/modules/web/Forms/FormInterface.php index baeab5f4..dc03f446 100644 --- a/app/modules/web/Forms/FormInterface.php +++ b/app/modules/web/Forms/FormInterface.php @@ -36,12 +36,13 @@ interface FormInterface /** * Validar el formulario * - * @param int $action + * @param int $action + * @param int|null $id * * @return FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface; + public function validateFor(int $action, ?int $id = null): FormInterface; /** * @return mixed diff --git a/app/modules/web/Forms/ItemsPresetForm.php b/app/modules/web/Forms/ItemsPresetForm.php index 5963da03..967099fb 100644 --- a/app/modules/web/Forms/ItemsPresetForm.php +++ b/app/modules/web/Forms/ItemsPresetForm.php @@ -49,11 +49,12 @@ final class ItemsPresetForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return ItemsPresetForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::ITEMPRESET_CREATE: diff --git a/app/modules/web/Forms/NotificationForm.php b/app/modules/web/Forms/NotificationForm.php index e6f2531b..f793221e 100644 --- a/app/modules/web/Forms/NotificationForm.php +++ b/app/modules/web/Forms/NotificationForm.php @@ -42,11 +42,12 @@ final class NotificationForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return NotificationForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::NOTIFICATION_CREATE: diff --git a/app/modules/web/Forms/PublicLinkForm.php b/app/modules/web/Forms/PublicLinkForm.php index b39032fe..014d5cad 100644 --- a/app/modules/web/Forms/PublicLinkForm.php +++ b/app/modules/web/Forms/PublicLinkForm.php @@ -42,11 +42,12 @@ final class PublicLinkForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return PublicLinkForm * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::PUBLICLINK_CREATE: diff --git a/app/modules/web/Forms/TagForm.php b/app/modules/web/Forms/TagForm.php index a113dd42..90c9177a 100644 --- a/app/modules/web/Forms/TagForm.php +++ b/app/modules/web/Forms/TagForm.php @@ -41,11 +41,12 @@ final class TagForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return TagForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::TAG_CREATE: diff --git a/app/modules/web/Forms/UserForm.php b/app/modules/web/Forms/UserForm.php index f88a7b60..6e5f6cb0 100644 --- a/app/modules/web/Forms/UserForm.php +++ b/app/modules/web/Forms/UserForm.php @@ -42,11 +42,12 @@ final class UserForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return UserForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::USER_CREATE: diff --git a/app/modules/web/Forms/UserGroupForm.php b/app/modules/web/Forms/UserGroupForm.php index 229ffadc..25468349 100644 --- a/app/modules/web/Forms/UserGroupForm.php +++ b/app/modules/web/Forms/UserGroupForm.php @@ -41,11 +41,12 @@ final class UserGroupForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return UserGroupForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::GROUP_CREATE: diff --git a/app/modules/web/Forms/UserProfileForm.php b/app/modules/web/Forms/UserProfileForm.php index 19a14d03..6b2af755 100644 --- a/app/modules/web/Forms/UserProfileForm.php +++ b/app/modules/web/Forms/UserProfileForm.php @@ -42,11 +42,12 @@ final class UserProfileForm extends FormBase implements FormInterface * Validar el formulario * * @param int $action + * @param int|null $id * * @return UserProfileForm|FormInterface * @throws ValidationException */ - public function validate(int $action): FormInterface + public function validateFor(int $action, ?int $id = null): FormInterface { switch ($action) { case ActionsInterface::PROFILE_CREATE: