From 1020bf14ca53f9ed2d6026bcfdeb55520c2c79cb Mon Sep 17 00:00:00 2001 From: guru_sainath Date: Thu, 12 Sep 2024 21:42:18 +0530 Subject: [PATCH 1/3] [MOBIL-194] chore: added type in all projects query (#1106) * chore: integrated type all and joined in all projects query * chore: updated member query * chore: commented state_group issue filter in workspace your work * chore: handled the project member is active or not * chore: removed views form user recent visits and favorite * chore: updated the query --- apiserver/plane/graphql/queries/project.py | 14 ++++++++++++++ apiserver/plane/graphql/queries/users.py | 5 ++++- apiserver/plane/graphql/queries/workspace.py | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/apiserver/plane/graphql/queries/project.py b/apiserver/plane/graphql/queries/project.py index cd23f82c4e..2f51e4a80a 100644 --- a/apiserver/plane/graphql/queries/project.py +++ b/apiserver/plane/graphql/queries/project.py @@ -32,10 +32,24 @@ class ProjectQuery: self, info: Info, slug: str, + type: Optional[str] = "all", ) -> list[ProjectType]: project_query = Project.objects.filter( workspace__slug=slug, archived_at__isnull=True ) + + if type == "joined": + project_query = project_query.filter( + Q( + project_projectmember__member=info.context.user, + project_projectmember__is_active=True, + ) + | Q( + created_by=info.context.user, + project_projectmember__is_active=True, + ) + ) + projects = await sync_to_async(list)(project_query) return projects diff --git a/apiserver/plane/graphql/queries/users.py b/apiserver/plane/graphql/queries/users.py index c956f5c171..179babd4e8 100644 --- a/apiserver/plane/graphql/queries/users.py +++ b/apiserver/plane/graphql/queries/users.py @@ -76,6 +76,7 @@ class UserFavoritesQuery: ) & Q(project__project_projectmember__is_active=True) ), + ~Q(entity_type="view"), ) .order_by("-created_at") ) @@ -102,7 +103,9 @@ class UserRecentVisitQuery: ) -> list[UserRecentVisitType]: recent_visits = await sync_to_async(list)( UserRecentVisit.objects.filter( - workspace__slug=slug, user=info.context.user + Q(workspace__slug=slug), + Q(user=info.context.user), + ~Q(entity_name="view"), ).order_by("-visited_at") ) diff --git a/apiserver/plane/graphql/queries/workspace.py b/apiserver/plane/graphql/queries/workspace.py index f0d889e13a..29c6bd8944 100644 --- a/apiserver/plane/graphql/queries/workspace.py +++ b/apiserver/plane/graphql/queries/workspace.py @@ -174,7 +174,7 @@ class YourWorkQuery: Q( project__project_projectmember__member=info.context.user, project__project_projectmember__is_active=True, - state__group__in=["unstarted", "started"], + # state__group__in=["unstarted", "started"], assignees__in=[info.context.user], ), ) From b44dd28ac01398a78ab7386dab2ce1733c20108f Mon Sep 17 00:00:00 2001 From: Ketan Sharma Date: Fri, 13 Sep 2024 12:03:00 +0530 Subject: [PATCH 2/3] [WEB-2445] fix: date picker and member picker dropdown z-index for list, kanban and spreadsheet views (#5597) * changes for list and kanban * passing values for list and kanban * spreadsheet changes * fix use different props for different stylings * fix z index --- web/core/components/dropdowns/date.tsx | 4 +++- web/core/components/dropdowns/member/index.tsx | 4 +++- web/core/components/dropdowns/member/member-options.tsx | 5 +++-- .../issues/issue-layouts/properties/all-properties.tsx | 6 +++--- .../issue-layouts/spreadsheet/columns/assignee-column.tsx | 2 +- .../issue-layouts/spreadsheet/columns/due-date-column.tsx | 2 +- .../issue-layouts/spreadsheet/columns/start-date-column.tsx | 2 +- 7 files changed, 15 insertions(+), 10 deletions(-) diff --git a/web/core/components/dropdowns/date.tsx b/web/core/components/dropdowns/date.tsx index 77ad7bc46b..6b002b2218 100644 --- a/web/core/components/dropdowns/date.tsx +++ b/web/core/components/dropdowns/date.tsx @@ -20,6 +20,7 @@ import { TDropdownProps } from "./types"; type Props = TDropdownProps & { clearIconClassName?: string; + optionsClassName?: string; icon?: React.ReactNode; isClearable?: boolean; minDate?: Date; @@ -39,6 +40,7 @@ export const DateDropdown: React.FC = (props) => { buttonVariant, className = "", clearIconClassName = "", + optionsClassName = "", closeOnSelect = true, disabled = false, hideIcon = false, @@ -164,7 +166,7 @@ export const DateDropdown: React.FC = (props) => {
void; renderByDefault?: boolean; + optionsClassName? : string; } & MemberDropdownProps; export const MemberDropdown: React.FC = observer((props) => { @@ -34,6 +35,7 @@ export const MemberDropdown: React.FC = observer((props) => { disabled = false, dropdownArrow = false, dropdownArrowClassName = "", + optionsClassName = "", hideIcon = false, multiple, onChange, @@ -162,7 +164,7 @@ export const MemberDropdown: React.FC = observer((props) => { > {isOpen && ( { - const { projectId, referenceElement, placement, isOpen, className="" } = props; + const { projectId, referenceElement, placement, isOpen, optionsClassName="" } = props; // states const [query, setQuery] = useState(""); const [popperElement, setPopperElement] = useState(null); @@ -95,7 +96,7 @@ export const MemberOptions = observer((props: Props) => {
= observer((props) => { placeholder="Start date" icon={} buttonVariant={issue.start_date ? "border-with-text" : "border-without-text"} + optionsClassName="z-10" disabled={isReadOnly} - className="z-10" renderByDefault={isMobile} showTooltip /> @@ -350,8 +350,8 @@ export const IssueProperties: React.FC = observer((props) => { buttonVariant={issue.target_date ? "border-with-text" : "border-without-text"} buttonClassName={shouldHighlightIssueDueDate(issue.target_date, stateDetails?.group) ? "text-red-500" : ""} clearIconClassName="!text-custom-text-100" + optionsClassName="z-10" disabled={isReadOnly} - className="z-10" renderByDefault={isMobile} showTooltip /> @@ -371,7 +371,7 @@ export const IssueProperties: React.FC = observer((props) => { buttonClassName={issue.assignee_ids?.length > 0 ? "hover:bg-transparent px-0" : ""} showTooltip={issue?.assignee_ids?.length === 0} placeholder="Assignees" - className="z-10" + optionsClassName="z-10" tooltipContent="" renderByDefault={isMobile} /> diff --git a/web/core/components/issues/issue-layouts/spreadsheet/columns/assignee-column.tsx b/web/core/components/issues/issue-layouts/spreadsheet/columns/assignee-column.tsx index 5d565dd859..e6e54fcc34 100644 --- a/web/core/components/issues/issue-layouts/spreadsheet/columns/assignee-column.tsx +++ b/web/core/components/issues/issue-layouts/spreadsheet/columns/assignee-column.tsx @@ -38,7 +38,7 @@ export const SpreadsheetAssigneeColumn: React.FC = observer((props: Props } buttonClassName="text-left rounded-none group-[.selected-issue-row]:bg-custom-primary-100/5 group-[.selected-issue-row]:hover:bg-custom-primary-100/10 px-page-x" buttonContainerClassName="w-full" - className="z-9" + optionsClassName="z-[9]" onClose={onClose} />
diff --git a/web/core/components/issues/issue-layouts/spreadsheet/columns/due-date-column.tsx b/web/core/components/issues/issue-layouts/spreadsheet/columns/due-date-column.tsx index 3eaa321aae..57858ff754 100644 --- a/web/core/components/issues/issue-layouts/spreadsheet/columns/due-date-column.tsx +++ b/web/core/components/issues/issue-layouts/spreadsheet/columns/due-date-column.tsx @@ -53,7 +53,7 @@ export const SpreadsheetDueDateColumn: React.FC = observer((props: Props) "text-red-500": shouldHighlightIssueDueDate(issue.target_date, stateDetails?.group), } )} - className="z-9" + optionsClassName="z-[9]" clearIconClassName="!text-custom-text-100" onClose={onClose} /> diff --git a/web/core/components/issues/issue-layouts/spreadsheet/columns/start-date-column.tsx b/web/core/components/issues/issue-layouts/spreadsheet/columns/start-date-column.tsx index 46bc617fc9..a20c247220 100644 --- a/web/core/components/issues/issue-layouts/spreadsheet/columns/start-date-column.tsx +++ b/web/core/components/issues/issue-layouts/spreadsheet/columns/start-date-column.tsx @@ -40,7 +40,7 @@ export const SpreadsheetStartDateColumn: React.FC = observer((props: Prop buttonVariant="transparent-with-text" buttonClassName="text-left rounded-none group-[.selected-issue-row]:bg-custom-primary-100/5 group-[.selected-issue-row]:hover:bg-custom-primary-100/10 px-page-x" buttonContainerClassName="w-full" - className="z-9" + optionsClassName="z-[9]" onClose={onClose} />
From 96bd71f32acc0107b5e13414d5b45859e19142fa Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Fri, 13 Sep 2024 13:14:35 +0530 Subject: [PATCH 3/3] fix: add back `turbo.json` file. (#1118) --- turbo.json | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 turbo.json diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000000..25fb2680d4 --- /dev/null +++ b/turbo.json @@ -0,0 +1,65 @@ +{ + "$schema": "https://turbo.build/schema.json", + "globalEnv": [ + "NODE_ENV", + "NEXT_PUBLIC_API_BASE_URL", + "NEXT_PUBLIC_ADMIN_BASE_URL", + "NEXT_PUBLIC_ADMIN_BASE_PATH", + "NEXT_PUBLIC_SPACE_BASE_URL", + "NEXT_PUBLIC_SPACE_BASE_PATH", + "NEXT_PUBLIC_WEB_BASE_URL", + "NEXT_PUBLIC_LIVE_BASE_URL", + "NEXT_PUBLIC_PLAUSIBLE_DOMAIN", + "NEXT_PUBLIC_CRISP_ID", + "NEXT_PUBLIC_ENABLE_SESSION_RECORDER", + "NEXT_PUBLIC_SESSION_RECORDER_KEY", + "NEXT_PUBLIC_EXTRA_IMAGE_DOMAINS", + "NEXT_PUBLIC_POSTHOG_KEY", + "NEXT_PUBLIC_POSTHOG_HOST", + "NEXT_PUBLIC_GOD_MODE", + "NEXT_PUBLIC_POSTHOG_DEBUG", + "NEXT_PUBLIC_SUPPORT_EMAIL", + "SENTRY_AUTH_TOKEN", + "SENTRY_ORG_ID", + "SENTRY_PROJECT_ID", + "NEXT_PUBLIC_SENTRY_ENVIRONMENT", + "NEXT_PUBLIC_SENTRY_DSN", + "SENTRY_MONITORING_ENABLED", + "NEXT_PUBLIC_PRO_PLAN_MONTHLY_PAYMENT_URL", + "NEXT_PUBLIC_PRO_PLAN_YEARLY_PAYMENT_URL", + "NEXT_PUBLIC_PLANE_ONE_PAYMENT_URL", + "NEXT_PUBLIC_PRO_PLAN_MONTHLY_REDIRECT_URL", + "NEXT_PUBLIC_PRO_PLAN_YEARLY_REDIRECT_URL", + "NEXT_PUBLIC_PRO_SELF_HOSTED_PAYMENT_URL", + "NEXT_PUBLIC_PRO_SELF_HOSTED_MONTHLY_PAYMENT_URL" + ], + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": [".next/**", "dist/**"] + }, + "develop": { + "cache": false, + "persistent": true, + "dependsOn": ["^build"] + }, + "dev": { + "cache": false, + "persistent": true, + "dependsOn": ["^build"] + }, + "test": { + "dependsOn": ["^build"], + "outputs": [] + }, + "lint": { + "outputs": [] + }, + "start": { + "cache": false + }, + "clean": { + "cache": false + } + } +}