Show reconnect when access-review connectors need new OAuth scopes
Signed-off-by: Sacha Al Himdani <sacha@probo.com>
This commit is contained in:
@@ -1534,7 +1534,7 @@
|
||||
"errors": { "delete": "Failed to delete access source", "configure": "Failed to configure source" },
|
||||
"messages": { "error": "Error", "success": "Success", "organizationUpdated": "Organization updated." },
|
||||
"deleteConfirmation": "This will permanently delete \"{{name}}\". This action cannot be undone.",
|
||||
"status": { "connected": "Connected", "disconnected": "Disconnected", "invalidCredentials": "Invalid credentials" },
|
||||
"status": { "connected": "Connected", "disconnected": "Disconnected", "invalidCredentials": "Invalid credentials", "reconnectRequired": "Reconnect required" },
|
||||
"actions": { "reconnect": "Reconnect", "delete": "Delete" },
|
||||
"loading": "Loading...",
|
||||
"selectOrganization": "Select organization",
|
||||
|
||||
@@ -2957,7 +2957,8 @@
|
||||
"status": {
|
||||
"connected": "Connecté",
|
||||
"disconnected": "Déconnecté",
|
||||
"invalidCredentials": "Identifiants invalides"
|
||||
"invalidCredentials": "Identifiants invalides",
|
||||
"reconnectRequired": "Reconnexion requise"
|
||||
},
|
||||
"actions": {
|
||||
"reconnect": "Reconnecter",
|
||||
|
||||
@@ -243,6 +243,10 @@ export function AccessReviewSourceRow({ fKey, connectionId, organizationId }: Pr
|
||||
|
||||
const showOrgSelector = accessSource.needsConfiguration || accessSource.selectedOrganization;
|
||||
const canReconnect = (accessSource.connector?.oauth2Scopes.length ?? 0) > 0;
|
||||
const showReconnect
|
||||
= canReconnect
|
||||
&& (accessSource.connectionStatus === "DISCONNECTED"
|
||||
|| accessSource.connectionStatus === "RECONNECT_REQUIRED");
|
||||
|
||||
return (
|
||||
<Tr>
|
||||
@@ -258,6 +262,18 @@ export function AccessReviewSourceRow({ fKey, connectionId, organizationId }: Pr
|
||||
{t("accessReviewSourceRow.status.connected")}
|
||||
</Badge>
|
||||
)}
|
||||
{accessSource.connectionStatus === "RECONNECT_REQUIRED" && (
|
||||
<div className="flex items-center gap-2">
|
||||
<Badge variant="warning" size="sm">
|
||||
{t("accessReviewSourceRow.status.reconnectRequired")}
|
||||
</Badge>
|
||||
{showReconnect && (
|
||||
<Button variant="secondary" onClick={handleReconnect}>
|
||||
{t("accessReviewSourceRow.actions.reconnect")}
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
{accessSource.connectionStatus === "DISCONNECTED" && (
|
||||
<div className="flex items-center gap-2">
|
||||
<Badge variant="danger" size="sm">
|
||||
@@ -265,7 +281,7 @@ export function AccessReviewSourceRow({ fKey, connectionId, organizationId }: Pr
|
||||
? t("accessReviewSourceRow.status.disconnected")
|
||||
: t("accessReviewSourceRow.status.invalidCredentials")}
|
||||
</Badge>
|
||||
{canReconnect && (
|
||||
{showReconnect && (
|
||||
<Button variant="secondary" onClick={handleReconnect}>
|
||||
{t("accessReviewSourceRow.actions.reconnect")}
|
||||
</Button>
|
||||
|
||||
Reference in New Issue
Block a user