Projet

Général

Profil

Anomalie #23131

TMA - impossibilité de viser ou signer si une délégation en place

Ajouté par Charles BATIONO il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
R&D - Terminé
Priorité:
1-Majeur
Assigné à:
Version cible:
Début:
12/12/2022
Echéance:
17/01/2023
Tags Parapheur:
21.03.15

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.

Peek 13-12-2022 12-03.gif (7,6 Mo) Peek 13-12-2022 12-03.gif Charles BATIONO, 13/12/2022 12:08
Peek 13-12-2022 11-59.gif (9,08 Mo) Peek 13-12-2022 11-59.gif Charles BATIONO, 13/12/2022 12:08
Capture d’écran du 2022-12-22 15-48-51.png (91,8 ko) Capture d’écran du 2022-12-22 15-48-51.png Charles BATIONO, 22/12/2022 15:49
13904
13905
14111

Historique

#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 DILLARD supprimé

#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.gif supprimé

#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é

Formats disponibles : Atom PDF