Skip to content

Commit 23216d1

Browse files
committed
oh boy
1 parent d2b0353 commit 23216d1

17 files changed

+46
-24
lines changed

coderd/apidoc/docs.go

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries.sql.go

+3-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/organizationmembers.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
-- - Use both to get a specific org member row
66
SELECT
77
sqlc.embed(organization_members),
8-
users.username, users.avatar_url, users.name, users.rbac_roles as "global_roles"
8+
users.username, users.avatar_url, users.name, users.email, users.rbac_roles as "global_roles"
99
FROM
1010
organization_members
1111
INNER JOIN

coderd/members.go

+1
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@ func convertOrganizationMembersWithUserData(ctx context.Context, db database.Sto
319319
Username: rows[i].Username,
320320
AvatarURL: rows[i].AvatarURL,
321321
Name: rows[i].Name,
322+
Email: rows[i].Email,
322323
GlobalRoles: db2sdk.SlimRolesFromNames(rows[i].GlobalRoles),
323324
OrganizationMember: convertedMembers[i],
324325
})

codersdk/organizations.go

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ type OrganizationMemberWithUserData struct {
7070
Username string `table:"username,default_sort" json:"username"`
7171
Name string `table:"name" json:"name"`
7272
AvatarURL string `json:"avatar_url"`
73+
Email string `json:"email"`
7374
GlobalRoles []SlimRole `json:"global_roles"`
7475
OrganizationMember `table:"m,recursive_inline"`
7576
}

docs/api/members.md

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/api/schemas.md

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

site/chromatic.config.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"onlyChanged": true,
3+
"projectId": "Project:624de63c6aacee003aa84340",
4+
"storybookBaseDir": "site",
5+
"zip": true
6+
}

site/src/api/typesGenerated.ts

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

site/src/pages/ManagementSettingsPage/OrganizationMembersPage.tsx

+17-6
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,16 @@ import { Stack } from "components/Stack/Stack";
3434
import { UserAutocomplete } from "components/UserAutocomplete/UserAutocomplete";
3535
import { UserAvatar } from "components/UserAvatar/UserAvatar";
3636
import { useAuthenticated } from "contexts/auth/RequireAuth";
37+
import { TableColumnHelpTooltip } from "./TableColumnHelpTooltip";
38+
import { groupsByUserId } from "api/queries/groups";
3739

3840
const OrganizationMembersPage: FC = () => {
3941
const queryClient = useQueryClient();
4042
const { organization } = useParams() as { organization: string };
4143
const { user: me } = useAuthenticated();
4244

4345
const membersQuery = useQuery(organizationMembers(organization));
46+
// const groupsByUserIdQuery = useQuery(groupsByUserId(organization));
4447
const addMemberMutation = useMutation(
4548
addOrganizationMember(queryClient, organization),
4649
);
@@ -61,7 +64,7 @@ const OrganizationMembersPage: FC = () => {
6164
<Stack>
6265
{Boolean(error) && <ErrorAlert error={error} />}
6366

64-
<AddGroupMember
67+
<AddOrganizationMember
6568
isLoading={addMemberMutation.isLoading}
6669
onSubmit={async (user) => {
6770
await addMemberMutation.mutateAsync(user.id);
@@ -74,7 +77,12 @@ const OrganizationMembersPage: FC = () => {
7477
<TableHead>
7578
<TableRow>
7679
<TableCell width="50%">User</TableCell>
77-
<TableCell width="49%">Roles</TableCell>
80+
<TableCell width="49%">
81+
<Stack direction="row" spacing={1} alignItems="center">
82+
<span>Roles</span>
83+
<TableColumnHelpTooltip variant="roles" />
84+
</Stack>
85+
</TableCell>
7886
<TableCell width="1%"></TableCell>
7987
</TableRow>
8088
</TableHead>
@@ -89,8 +97,8 @@ const OrganizationMembersPage: FC = () => {
8997
avatarURL={member.avatar_url}
9098
/>
9199
}
92-
title={member.name}
93-
subtitle={member.username}
100+
title={member.name || member.username}
101+
subtitle={member.email}
94102
/>
95103
</TableCell>
96104
<TableCell>
@@ -162,12 +170,15 @@ function getMemberRoles(member: OrganizationMemberWithUserData) {
162170

163171
export default OrganizationMembersPage;
164172

165-
interface AddGroupMemberProps {
173+
interface AddOrganizationMemberProps {
166174
isLoading: boolean;
167175
onSubmit: (user: User) => Promise<void>;
168176
}
169177

170-
const AddGroupMember: FC<AddGroupMemberProps> = ({ isLoading, onSubmit }) => {
178+
const AddOrganizationMember: FC<AddOrganizationMemberProps> = ({
179+
isLoading,
180+
onSubmit,
181+
}) => {
171182
const [selectedUser, setSelectedUser] = useState<User | null>(null);
172183

173184
return (

site/src/pages/TemplateSettingsPage/TemplatePermissionsPage/TemplatePermissionsPage.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import { useTemplateSettings } from "../TemplateSettingsLayout";
1212
import { TemplatePermissionsPageView } from "./TemplatePermissionsPageView";
1313

1414
export const TemplatePermissionsPage: FC = () => {
15-
const { organizationId } = useDashboard();
1615
const { template, permissions } = useTemplateSettings();
1716
const { template_rbac: isTemplateRBACEnabled } = useFeatureVisibility();
1817
const templateACLQuery = useQuery(templateACL(template.id));
@@ -39,7 +38,6 @@ export const TemplatePermissionsPage: FC = () => {
3938
/>
4039
) : (
4140
<TemplatePermissionsPageView
42-
organizationId={organizationId}
4341
templateID={template.id}
4442
templateACL={templateACLQuery.data}
4543
canUpdatePermissions={Boolean(permissions?.canUpdateTemplate)}

site/src/pages/TemplateSettingsPage/TemplatePermissionsPage/TemplatePermissionsPageView.stories.tsx

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
import type { Meta, StoryObj } from "@storybook/react";
2-
import {
3-
MockOrganization,
4-
MockTemplateACL,
5-
MockTemplateACLEmpty,
6-
} from "testHelpers/entities";
2+
import { MockTemplateACL, MockTemplateACLEmpty } from "testHelpers/entities";
73
import { TemplatePermissionsPageView } from "./TemplatePermissionsPageView";
84

95
const meta: Meta<typeof TemplatePermissionsPageView> = {
@@ -32,6 +28,5 @@ export const WithUpdatePermissions: Story = {
3228
args: {
3329
templateACL: MockTemplateACL,
3430
canUpdatePermissions: true,
35-
organizationId: MockOrganization.id,
3631
},
3732
};

site/src/pages/TemplateSettingsPage/TemplatePermissionsPage/TemplatePermissionsPageView.tsx

+1-5
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import {
3939
} from "./UserOrGroupAutocomplete";
4040

4141
type AddTemplateUserOrGroupProps = {
42-
organizationId: string;
4342
templateID: string;
4443
isLoading: boolean;
4544
templateACL: TemplateACL | undefined;
@@ -56,9 +55,9 @@ type AddTemplateUserOrGroupProps = {
5655

5756
const AddTemplateUserOrGroup: FC<AddTemplateUserOrGroupProps> = ({
5857
isLoading,
59-
onSubmit,
6058
templateID,
6159
templateACL,
60+
onSubmit,
6261
}) => {
6362
const [selectedOption, setSelectedOption] =
6463
useState<UserOrGroupAutocompleteValue>(null);
@@ -161,7 +160,6 @@ const RoleSelect: FC<SelectProps> = (props) => {
161160
export interface TemplatePermissionsPageViewProps {
162161
templateACL: TemplateACL | undefined;
163162
templateID: string;
164-
organizationId: string;
165163
canUpdatePermissions: boolean;
166164
// User
167165
onAddUser: (
@@ -190,7 +188,6 @@ export const TemplatePermissionsPageView: FC<
190188
> = ({
191189
templateACL,
192190
canUpdatePermissions,
193-
organizationId,
194191
templateID,
195192
// User
196193
onAddUser,
@@ -222,7 +219,6 @@ export const TemplatePermissionsPageView: FC<
222219
<AddTemplateUserOrGroup
223220
templateACL={templateACL}
224221
templateID={templateID}
225-
organizationId={organizationId}
226222
isLoading={isAddingUser || isAddingGroup}
227223
onSubmit={(value, role, resetAutocomplete) =>
228224
"members" in value

site/src/pages/UsersPage/UsersTable/UserGroupsCell.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import GroupIcon from "@mui/icons-material/Group";
33
import List from "@mui/material/List";
44
import ListItem from "@mui/material/ListItem";
55
import TableCell from "@mui/material/TableCell";
6+
import type { FC } from "react";
67
import type { Group } from "api/typesGenerated";
78
import { Avatar } from "components/Avatar/Avatar";
89
import { OverflowY } from "components/OverflowY/OverflowY";
@@ -17,7 +18,7 @@ type GroupsCellProps = {
1718
userGroups: readonly Group[] | undefined;
1819
};
1920

20-
export function UserGroupsCell({ userGroups }: GroupsCellProps) {
21+
export const UserGroupsCell: FC<GroupsCellProps> = ({ userGroups }) => {
2122
const theme = useTheme();
2223

2324
return (
@@ -123,4 +124,4 @@ export function UserGroupsCell({ userGroups }: GroupsCellProps) {
123124
)}
124125
</TableCell>
125126
);
126-
}
127+
};

site/src/pages/UsersPage/UsersTable/UsersTable.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import type { FC } from "react";
88
import type { GroupsByUserId } from "api/queries/groups";
99
import type * as TypesGen from "api/typesGenerated";
1010
import { Stack } from "components/Stack/Stack";
11-
import { TableColumnHelpTooltip } from "./TableColumnHelpTooltip";
11+
import { TableColumnHelpTooltip } from "../../ManagementSettingsPage/TableColumnHelpTooltip";
1212
import { UsersTableBody } from "./UsersTableBody";
1313

1414
export const Language = {

0 commit comments

Comments
 (0)