diff --git a/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php b/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php index 92cef302866a8525ce7f057e9f89dc6a870734ff..7fa6ca83c842c77a85286f09ec8e0e5c6ca30127 100755 --- a/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php +++ b/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php @@ -518,7 +518,8 @@ class MaarchParapheurController return $response->withStatus(400)->withJson(['errors' => 'login is empty or wrong format']); } - $error = UserController::hasUsersRights(['id' => $aArgs['id']]); + $userController = new UserController(); + $error = $userController->hasUsersRights(['id' => $aArgs['id']]); if (!empty($error['error'])) { return $response->withStatus($error['status'])->withJson(['errors' => $error['error']]); } @@ -591,7 +592,8 @@ class MaarchParapheurController return $response->withStatus(400)->withJson(['errors' => 'maarchParapheurUserId is empty or not an integer']); } - $error = UserController::hasUsersRights(['id' => $aArgs['id']]); + $userController = new UserController(); + $error = $userController->hasUsersRights(['id' => $aArgs['id']]); if (!empty($error['error'])) { return $response->withStatus($error['status'])->withJson(['errors' => $error['error']]); } @@ -664,7 +666,8 @@ class MaarchParapheurController public static function unlinkUserToMaarchParapheur(Request $request, Response $response, array $aArgs) { - $error = UserController::hasUsersRights(['id' => $aArgs['id']]); + $userController = new UserController(); + $error = $userController->hasUsersRights(['id' => $aArgs['id']]); if (!empty($error['error'])) { return $response->withStatus($error['status'])->withJson(['errors' => $error['error']]); } @@ -689,7 +692,8 @@ class MaarchParapheurController public static function userStatusInMaarchParapheur(Request $request, Response $response, array $aArgs) { - $error = UserController::hasUsersRights(['id' => $aArgs['id']]); + $userController = new UserController(); + $error = $userController->hasUsersRights(['id' => $aArgs['id']]); if (!empty($error['error'])) { return $response->withStatus($error['status'])->withJson(['errors' => $error['error']]); } @@ -719,6 +723,7 @@ class MaarchParapheurController return $response->withStatus(400)->withJson(['errors' => 'User does not have Maarch Parapheur Id']); } + $errors = ''; if ($curlResponse['code'] != '200') { if (!empty($curlResponse['response']['errors'])) { $errors = $curlResponse['response']['errors']; @@ -728,22 +733,22 @@ class MaarchParapheurController if (empty($errors)) { $errors = 'An error occured. Please check your configuration file.'; } - return $response->withStatus(400)->withJson(['errors' => $errors]); } if (empty($curlResponse['response']['user'])) { - return $response->withJson(['link' => '']); + return $response->withJson(['link' => '', 'errors' => $errors]); } } else { return $response->withStatus(403)->withJson(['errors' => 'maarchParapheur is not enabled']); } - return $response->withJson(['link' => $curlResponse['response']['user']['login']]); + return $response->withJson(['link' => $curlResponse['response']['user']['login'], 'errors' => '']); } public static function sendSignaturesToMaarchParapheur(Request $request, Response $response, array $aArgs) { - $error = UserController::hasUsersRights(['id' => $aArgs['id'], 'himself' => true]); + $userController = new UserController(); + $error = $userController->hasUsersRights(['id' => $aArgs['id'], 'himself' => true]); if (!empty($error['error'])) { return $response->withStatus($error['status'])->withJson(['errors' => $error['error']]); } diff --git a/src/frontend/app/administration/user/user-administration.component.html b/src/frontend/app/administration/user/user-administration.component.html index 0a5f0d968990973bf015e6e7f914877e12a01672..c5f4bb2a61a00ddfb4f4b68044db73ba837168a9 100755 --- a/src/frontend/app/administration/user/user-administration.component.html +++ b/src/frontend/app/administration/user/user-administration.component.html @@ -36,6 +36,9 @@ <p mat-line> {{lang.linkAccount}} </p> + <p mat-line *ngIf="!maarchParapheurConnectionStatus" style="font-size:11px;color:red"> + {{lang.maarchParapheurLinkbroken}} + </p> </a> </mat-nav-list> <mat-divider></mat-divider> diff --git a/src/frontend/app/administration/user/user-administration.component.ts b/src/frontend/app/administration/user/user-administration.component.ts index c0aa88184968cd857c20342d6ec235e763aab8d8..635b41b8354646a856d3424cbceffac5847e26c9 100755 --- a/src/frontend/app/administration/user/user-administration.component.ts +++ b/src/frontend/app/administration/user/user-administration.component.ts @@ -85,6 +85,7 @@ export class UserAdministrationComponent extends AutoCompletePlugin implements O displayedColumns = ['event_date', 'event_type', 'info', 'remote_ip']; dataSource = new MatTableDataSource(this.data); selectedTabIndex: number = 0; + maarchParapheurConnectionStatus = true; @ViewChild(MatPaginator) paginator: MatPaginator; @ViewChild(MatSort) sort: MatSort; @@ -177,10 +178,9 @@ export class UserAdministrationComponent extends AutoCompletePlugin implements O this.loading = false; if (this.maarchParapheurLink.login !== '') { this.loadAvatarMaarchParapheur(this.user.external_id.maarchParapheur); + } else { + this.maarchParapheurConnectionStatus = false; } - - }, (err) => { - this.notify.handleErrors(err); }); } @@ -245,6 +245,7 @@ export class UserAdministrationComponent extends AutoCompletePlugin implements O this.maarchParapheurLink.login = ''; this.maarchParapheurLink.picture = ''; this.notify.success(this.lang.accountUnlinked); + this.maarchParapheurConnectionStatus = true; }, (err) => { this.notify.error(err.error.errors); }); diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts index c65570b2566bbbf4c420e4d22c704d8bf03e327e..523636442396e741403abe5b5f1fab8012d8bd10 100755 --- a/src/frontend/lang/lang-en.ts +++ b/src/frontend/lang/lang-en.ts @@ -1017,5 +1017,6 @@ export const LANG_EN = { "maarchParapheurAccountMsg2" : " will be created in Maarch Parapheur.", "searchUserInMaarchParapheur" : "Search an user in Maarch Parapheur", "newLoginInMaarchParapheur" : "New Maarch Parapheur Login", - "loginAlreadyExistsInMaarchParapheur" : "Login already exists in Maarch Parapheur" + "loginAlreadyExistsInMaarchParapheur" : "Login already exists in Maarch Parapheur", + "maarchParapheurLinkbroken" : "Maarch Parapheur link is broken" }; diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts index 9c1cbf1e4882eb13d6fe524cbff1a34705c426fe..07e9e5e25cfa88fa617a4295bfea58be275a38ae 100755 --- a/src/frontend/lang/lang-fr.ts +++ b/src/frontend/lang/lang-fr.ts @@ -1050,5 +1050,6 @@ export const LANG_FR = { "maarchParapheurAccountMsg2" : "sera créé dans Maarch Parapheur.", "searchUserInMaarchParapheur" : "Rechercher un utilisateur dans Maarch Parapheur", "newLoginInMaarchParapheur" : "Nouvel identifiant Maarch Parapheur", - "loginAlreadyExistsInMaarchParapheur" : "Ce login existe déjà dans Maarch Parapheur" + "loginAlreadyExistsInMaarchParapheur" : "Ce login existe déjà dans Maarch Parapheur", + "maarchParapheurLinkbroken" : "L'utilisateur n'existe plus dans Maarch Parapheur." }; \ No newline at end of file diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts index 9d5993172770956c953fa90bdcc1c9c4fbdaa680..ff3eb642317c1c7a1d80cc3b0369906adf6ffa7a 100755 --- a/src/frontend/lang/lang-nl.ts +++ b/src/frontend/lang/lang-nl.ts @@ -1044,4 +1044,5 @@ export const LANG_NL = { "searchUserInMaarchParapheur" : "Search unlinked an user in Maarch Parapheur", //_TO_TRANSLATE "newLoginInMaarchParapheur" : "New Maarch Parapheur Login", //_TO_TRANSLATE "loginAlreadyExistsInMaarchParapheur" : "Login already exists in Maarch Parapheur", //_TO_TRANSLATE + "maarchParapheurLinkbroken" : "Maarch Parapheur link is broken", //_TO_TRANSLATE };