From a64e362bbb30117c12699537290e872568c9085e Mon Sep 17 00:00:00 2001 From: Jad Date: Mon, 10 Jul 2023 13:50:44 -0700 Subject: [PATCH 1/2] Add icons to status filter in survey advances search --- .../survey/listing/AdvancedSearch.tsx | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/met-web/src/components/survey/listing/AdvancedSearch.tsx b/met-web/src/components/survey/listing/AdvancedSearch.tsx index 18169094f..2f7477639 100644 --- a/met-web/src/components/survey/listing/AdvancedSearch.tsx +++ b/met-web/src/components/survey/listing/AdvancedSearch.tsx @@ -12,6 +12,11 @@ import { } from '@mui/material'; import { MetLabel, PrimaryButton, SecondaryButton } from 'components/common'; import { AdvancedSearchFilters, SurveyListingContext } from './SurveyListingContext'; +import VisibilityOffIcon from '@mui/icons-material/VisibilityOff'; +import CheckIcon from '@mui/icons-material/Check'; +import LinkIcon from '@mui/icons-material/Link'; +import DashboardIcon from '@mui/icons-material/Dashboard'; +import { Palette } from 'styles/Theme'; export const AdvancedSearch = () => { const isMediumScreen = useMediaQuery((theme: Theme) => theme.breakpoints.down('lg')); @@ -58,21 +63,48 @@ export const AdvancedSearch = () => { } - label="Hidden" + label={ + + + Hidden + + } /> } - label="Template" + label={ + + + Template + + } /> } - label="Ready" + label={ + <> + + + Ready + + + } /> } - label="Linked" + label={ + <> + + + Linked + + + } /> From e33720b6be4c4a831863c9e4bab37ef3c5c17639 Mon Sep 17 00:00:00 2001 From: Jad Date: Mon, 10 Jul 2023 14:00:46 -0700 Subject: [PATCH 2/2] Fix bug in search by status to be _or(...chosen statuses) --- met-api/src/met_api/models/survey.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/met-api/src/met_api/models/survey.py b/met-api/src/met_api/models/survey.py index 72cdef593..a54a8a43f 100644 --- a/met-api/src/met_api/models/survey.py +++ b/met-api/src/met_api/models/survey.py @@ -84,17 +84,18 @@ def filter_by_search_options(cls, survey_search_options: SurveySearchOptions, qu if survey_search_options.exclude_template: query = query.filter(Survey.is_template.is_(False)) - if survey_search_options.is_unlinked: - query = query.filter(Survey.engagement_id.is_(None)) - + # filter by status + status_filters = [] if survey_search_options.is_linked: - query = query.filter(Survey.engagement_id.isnot(None)) - - if survey_search_options.is_hidden: - query = query.filter(Survey.is_hidden.is_(True)) - + status_filters.append(Survey.engagement_id.isnot(None)) + if survey_search_options.is_unlinked: + status_filters.append(Survey.engagement_id.is_(None)) if survey_search_options.is_template: - query = query.filter(Survey.is_template.is_(True)) + status_filters.append(Survey.is_template.is_(True)) + if survey_search_options.is_hidden: + status_filters.append(Survey.is_hidden.is_(True)) + if status_filters: + query = query.filter(or_(*status_filters)) query = cls._filter_by_created_date(query, survey_search_options)