From 8fbd6871f767842a9ec616c141b6b0baae9a672c Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Thu, 22 Feb 2024 15:31:32 -0800 Subject: [PATCH] Fix report create for view only, fix createdby on save and add column in team websites table --- src/app/(main)/reports/ReportsHeader.tsx | 19 ++++++++++++------- .../[teamId]/websites/TeamWebsitesTable.tsx | 5 ++++- src/components/messages.ts | 1 + src/pages/api/websites/index.ts | 1 + src/queries/admin/website.ts | 2 +- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/app/(main)/reports/ReportsHeader.tsx b/src/app/(main)/reports/ReportsHeader.tsx index 068c0369..92f538ea 100644 --- a/src/app/(main)/reports/ReportsHeader.tsx +++ b/src/app/(main)/reports/ReportsHeader.tsx @@ -1,20 +1,25 @@ import PageHeader from 'components/layout/PageHeader'; import { Icon, Icons, Text } from 'react-basics'; -import { useMessages, useTeamUrl } from 'components/hooks'; +import { useLogin, useMessages, useTeamUrl } from 'components/hooks'; import LinkButton from 'components/common/LinkButton'; +import { ROLES } from 'lib/constants'; export function ReportsHeader() { const { formatMessage, labels } = useMessages(); const { renderTeamUrl } = useTeamUrl(); + const { user } = useLogin(); + const canEdit = user.role !== ROLES.viewOnly; return ( - - - - - {formatMessage(labels.createReport)} - + {canEdit && ( + + + + + {formatMessage(labels.createReport)} + + )} ); } diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx b/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx index 086cc03a..dc6760a6 100644 --- a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx +++ b/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx @@ -13,12 +13,15 @@ export function TeamWebsitesTable({ allowEdit?: boolean; }) { const { user } = useLogin(); - const { formatMessage, labels } = useMessages(); + return ( + + {row => row?.createUser?.username} + {row => { const { id: websiteId } = row; diff --git a/src/components/messages.ts b/src/components/messages.ts index 2710e99d..0487004a 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -26,6 +26,7 @@ export const labels = defineMessages({ myWebsites: { id: 'label.my-websites', defaultMessage: 'My websites' }, teamWebsites: { id: 'label.team-websites', defaultMessage: 'Team websites' }, created: { id: 'label.created', defaultMessage: 'Created' }, + createdBy: { id: 'label.created-by', defaultMessage: 'Created By' }, edit: { id: 'label.edit', defaultMessage: 'Edit' }, name: { id: 'label.name', defaultMessage: 'Name' }, member: { id: 'label.member', defaultMessage: 'Member' }, diff --git a/src/pages/api/websites/index.ts b/src/pages/api/websites/index.ts index eb574415..0b7826ac 100644 --- a/src/pages/api/websites/index.ts +++ b/src/pages/api/websites/index.ts @@ -62,6 +62,7 @@ export default async ( const data: any = { id: uuid(), + createdBy: userId, name, domain, shareId, diff --git a/src/queries/admin/website.ts b/src/queries/admin/website.ts index 01d52019..cef7f15d 100644 --- a/src/queries/admin/website.ts +++ b/src/queries/admin/website.ts @@ -87,7 +87,7 @@ export async function getTeamWebsites( teamId, }, include: { - user: { + createUser: { select: { id: true, username: true,