1
0
forked from baron/baron-sso

fix(adminfront): fix tenant slug display and metadata save issue in user detail page

- Fix 'System Global' displaying by replacing user.tenantSlug with user.companyCode returned by backend
- Prevent primary tenant from being unlinked when saving 'Tenant Profile' tab by ensuring userAffiliatedTenants always includes the primary tenant, preventing react-hook-form from clearing the tenantSlug value.
This commit is contained in:
2026-04-10 17:26:25 +09:00
parent f33f023b90
commit 6c6fab3ea3

View File

@@ -391,7 +391,7 @@ function UserDetailPage() {
phone: user.phone || "",
role: user.role,
status: user.status,
tenantSlug: user.tenantSlug || "",
tenantSlug: user.companyCode || "",
department: user.department || "",
position: user.position || "",
jobTitle: user.jobTitle || "",
@@ -484,8 +484,15 @@ function UserDetailPage() {
);
}
const userAffiliatedTenants =
user.joinedTenants || (user.tenant ? [user.tenant] : []);
const userAffiliatedTenants = React.useMemo(() => {
const joined = user.joinedTenants || [];
const primary = user.tenant;
const all = [...joined];
if (primary && !joined.some((t) => t.id === primary.id)) {
all.unshift(primary);
}
return all;
}, [user.joinedTenants, user.tenant]);
return (
<div className="space-y-6">
@@ -525,7 +532,7 @@ function UserDetailPage() {
>
<Building2 size={12} className="mr-1.5" />
{user.tenant?.name ||
user.tenantSlug ||
user.companyCode ||
t("ui.admin.users.detail.form.tenant_global", "시스템 전역")}
</Badge>
<Badge