Anomalie #23131
TMA - impossibilité de viser ou signer si une délégation en place
Description
1.) Quand un utilisateur met en place une délégation , il ne peut plus viser ou signer de document , message d'erreur : pas les droits. Un viseur/signataire doit pouvoir continuer à viser ou signer même si il a mis en place une délégation
2.) Par ailleurs, lorsque l'utilisateur qui a délégué ses documents à un autre essaye de signer/viser (au moins 2 tentatives sans succès),
L’utilisateur à qui les documents ont été délégués n'arriva pas non plus à signer/viser.
Reproduite sur la démo.
Historique
#1 Mis à jour par Charles BATIONO il y a plus d'un an
- Fichier Peek 13-12-2022 12-03.gif Peek 13-12-2022 12-03.gif ajouté
- Fichier Peek 13-12-2022 11-59.gif Peek 13-12-2022 11-59.gif ajouté
#2 Mis à jour par Charles BATIONO il y a plus d'un an
Quand je modifie les lignes ( à partir de la ligne 613) suivantes du fichier DocumentController.php, cela corrige le premier point, mais pas le second.
Je vous laisse étudier l'impact de cette modification avant de l'intégrer et livrer au client.
Avant :
if ($GLOBALS['id'] != ($substitute['substitute'] ?? $workflow['user_id'])) { return $response->withStatus(403)->withJson(['errors' => 'Current user unauthorized for this step']); }
Après
if ($GLOBALS['id'] != ($substitute['substitute'] ?? $workflow['user_id'])) { if ($GLOBALS['id'] != $workflow['user_id']) { return $response->withStatus(403)->withJson(['errors' => 'Current user unauthorized for this step']); } }
#3 Mis à jour par Emmanuel DILLARD il y a plus d'un an
- Sujet changé de impossibilité de viser ou signer si une délégation en place à TMA - impossibilité de viser ou signer si une délégation en place
- Echéance mis à 03/01/2023
- Statut changé de A qualifier à R&D - En cours
- Assigné à
Emmanuel DILLARDsupprimé
#4 Mis à jour par Emmanuel DILLARD il y a plus d'un an
- Priorité changé de 0-Bloquant à 1-Majeur
#5 Mis à jour par GIT LAB il y a plus d'un an
Commit ajouté sur la branche fix/23131/21.03 de MaarchParapheur
FIX #23131 TIME 0:40 Fix fixed error not the rights when the delegation is activated
https://labs.maarch.org/maarch/MaarchParapheur/commit/9568d8f7bbcc9f5c0bc8b268b7cc0fc6a81596c8
#6 Mis à jour par Nicolas LE BOZEC il y a plus d'un an
- Assigné à mis à Nicolas LE BOZEC
#8 Mis à jour par Emmanuel DILLARD il y a plus d'un an
- Statut changé de R&D - En cours à R&D - En test
#9 Mis à jour par Charles BATIONO il y a plus d'un an
- Fichier Peek 22-12-2022 15-35.gif ajouté
J'ai tester faire des tests avec le correctif, et nous avons un autre soucis.
Lorsqu'un utilisateur délègue ses documments à un autre, la personnes à qui les documents ont été
délégués n'arrive pas à signer ( Voir PJ).
L'anomalie se trouve au niveau de la condition ci-dessous de la fonction hasRightById du fichier DocumentController.php.
Les modifs suivantes corrigent l'anomalie
Avant :
if (!$args['readOnly']) { $currentStep = WorkflowModel::getCurrentStep(['select' => ['user_id'], 'documentId' => $args['id']]); if (empty($currentStep) || empty($currentStep['user_id'])) { return false; } if ($currentStep['user_id'] == $args['userId']) { return true; } else { $user = UserModel::getById(['id' => $args['userId'], 'select' => ['substitute']]); return $currentStep['user_id'] == $user['substitute']; } }
Après:
if (!$args['readOnly']) { $currentStep = WorkflowModel::getCurrentStep(['select' => ['user_id'], 'documentId' => $args['id']]); if (empty($currentStep)) { return false; } $user = UserModel::getById(['id' => $args['userId'], 'select' => ['substitute']]); if ($currentStep['user_id'] == $args['userId'] || $GLOBALS['id'] == $user['substitute']) { return true; } else{ return false; } }
#10 Mis à jour par Charles BATIONO il y a plus d'un an
- Fichier
Peek 22-12-2022 15-35.gifsupprimé
#11 Mis à jour par Charles BATIONO il y a plus d'un an
#12 Mis à jour par GIT LAB il y a plus d'un an
Commit ajouté sur la branche fix/23131/21.03 de MaarchParapheur
FIX #23131 TIME 1:00 Correction of the document out of perimeter when the document is delegated
https://labs.maarch.org/maarch/MaarchParapheur/commit/a29b6f972b9b711e7c5c8a7bb0463663b25ea703
#13 Mis à jour par GIT LAB il y a plus d'un an
Commit ajouté sur la branche fix/23131/21.03 de MaarchParapheur
FIX #23131 TIME 0:30 Fix check access on substitute
https://labs.maarch.org/maarch/MaarchParapheur/commit/b754b186e5ecfef74df42918bcb809f05b2df287
#14 Mis à jour par Hamza HRAMCHI il y a plus d'un an
- Statut changé de R&D - En test à R&D - Terminé
#15 Mis à jour par GIT LAB il y a plus d'un an
Commit ajouté sur la branche fix/23131/develop de MaarchParapheur
FIX #23131 TIME 0:10 Fix check access on substitute
https://labs.maarch.org/maarch/MaarchParapheur/commit/a56a850854eb4cdc6c41208eacc1fe46161ff93f
#16 Mis à jour par Hamza HRAMCHI il y a plus d'un an
- Statut changé de R&D - Terminé à R&D - En test
#17 Mis à jour par Emmanuel DILLARD il y a plus d'un an
- Statut changé de R&D - En test à R&D - En cours
#18 Mis à jour par Emmanuel DILLARD il y a plus d'un an
- Statut changé de R&D - En cours à R&D - En test
#19 Mis à jour par GIT LAB il y a plus d'un an
Commit ajouté sur la branche 21.03_TMA5 de MaarchParapheur
FIX #23131 Correction of the document out of perimeter when the document is delegated
https://labs.maarch.org/maarch/MaarchParapheur/commit/66f5b96ccc1455a3f8b9938eb2b48101b1cac655
#20 Mis à jour par GIT LAB il y a plus d'un an
Commit ajouté sur la branche fix/23131/develop de MaarchParapheur
FIX #23131 TIME 0:05 Correction test ko
https://labs.maarch.org/maarch/MaarchParapheur/commit/b185e10b80e564425bcd3657afa9ca51d36857e6
#23 Mis à jour par Emmanuel DILLARD il y a plus d'un an
- Tags Parapheur 21.03.15 ajouté
RAF TEST Develop
#24 Mis à jour par Emmanuel DILLARD il y a plus d'un an
- Echéance changé de 03/01/2023 à 17/01/2023
#25 Mis à jour par Hamza HRAMCHI il y a plus d'un an
- Statut changé de R&D - En test à R&D - Terminé