diff --git a/api/externals/repository/sponsorship_activity_repository.go b/api/externals/repository/sponsorship_activity_repository.go index 0f753b3ab..77c4a9757 100644 --- a/api/externals/repository/sponsorship_activity_repository.go +++ b/api/externals/repository/sponsorship_activity_repository.go @@ -63,6 +63,9 @@ func (r *sponsorshipActivityRepository) FindAll(ctx context.Context, sponsorship if sponsorshipActivitiesSearchParams.ActivityStatus != nil { queryDataset = queryDataset.Where(goqu.I("sponsorship_activities.activity_status").Eq(string(*sponsorshipActivitiesSearchParams.ActivityStatus))) } + if sponsorshipActivitiesSearchParams.DesignProgress != nil { + queryDataset = queryDataset.Where(goqu.I("sponsorship_activities.design_progress").Eq(string(*sponsorshipActivitiesSearchParams.DesignProgress))) + } if sponsorshipActivitiesSearchParams.FeasibilityStatus != nil { queryDataset = queryDataset.Where(goqu.I("sponsorship_activities.feasibility_status").Eq(string(*sponsorshipActivitiesSearchParams.FeasibilityStatus))) } @@ -341,6 +344,7 @@ func (r *sponsorshipActivityRepository) Update(ctx context.Context, tx *sql.Tx, "feasibility_status": activity.FeasibilityStatus, "design_progress": activity.DesignProgress, "remarks": activity.Remarks, + "updated_at": goqu.L("CURRENT_TIMESTAMP"), }). Where(goqu.I("id").Eq(activity.ID)) query, args, err := dataset.ToSQL() diff --git a/api/generated/openapi_gen.go b/api/generated/openapi_gen.go index 424ee8893..db56b21d1 100644 --- a/api/generated/openapi_gen.go +++ b/api/generated/openapi_gen.go @@ -851,6 +851,9 @@ type GetSponsorshipActivitiesParams struct { // ActivityStatus 活動ステータス (ActivityStatusの値を指定) ActivityStatus *ActivityStatus `form:"activity_status,omitempty" json:"activity_status,omitempty"` + // DesignProgress デザイン進捗ステータス (DesignProgressの値を指定) + DesignProgress *DesignProgress `form:"design_progress,omitempty" json:"design_progress,omitempty"` + // FeasibilityStatus 協賛可否ステータス (FeasibilityStatusの値を指定) FeasibilityStatus *FeasibilityStatus `form:"feasibility_status,omitempty" json:"feasibility_status,omitempty"` @@ -2958,6 +2961,13 @@ func (w *ServerInterfaceWrapper) GetSponsorshipActivities(ctx echo.Context) erro return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter activity_status: %s", err)) } + // ------------- Optional query parameter "design_progress" ------------- + + err = runtime.BindQueryParameter("form", true, false, "design_progress", ctx.QueryParams(), ¶ms.DesignProgress) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter design_progress: %s", err)) + } + // ------------- Optional query parameter "feasibility_status" ------------- err = runtime.BindQueryParameter("form", true, false, "feasibility_status", ctx.QueryParams(), ¶ms.FeasibilityStatus) diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml index c6d3b18dd..3a383dd34 100644 --- a/openapi/openapi.yaml +++ b/openapi/openapi.yaml @@ -2543,6 +2543,12 @@ paths: required: false schema: $ref: "#/components/schemas/ActivityStatus" + - name: design_progress + in: query + description: デザイン進捗ステータス (DesignProgressの値を指定) + required: false + schema: + $ref: "#/components/schemas/DesignProgress" - name: feasibility_status in: query description: 協賛可否ステータス (FeasibilityStatusの値を指定) @@ -3794,4 +3800,4 @@ components: - money - goods -x-original-swagger-version: "2.0" \ No newline at end of file +x-original-swagger-version: "2.0" diff --git a/view/next-project/src/components/sponsor-activities/FilterModal.tsx b/view/next-project/src/components/sponsor-activities/FilterModal.tsx index db580b8bf..47b382735 100644 --- a/view/next-project/src/components/sponsor-activities/FilterModal.tsx +++ b/view/next-project/src/components/sponsor-activities/FilterModal.tsx @@ -1,16 +1,20 @@ import { FC, useMemo, useState } from 'react'; -import { FeasibilityStatus } from '@/generated/model'; -import { SORT_OPTIONS, SponsorActivitiesFilterType } from '@/utils/sponsorshipActivity'; +import { ActivityStatus, DesignProgress, FeasibilityStatus } from '@/generated/model'; +import { + ACTIVITY_STATUS_OPTIONS, + DESIGN_PROGRESS_OPTIONS, + SORT_OPTIONS, + SponsorActivitiesFilterType, +} from '@/utils/sponsorshipActivity'; import { CloseButton, Modal, PrimaryButton, SearchSelect, Select, Title } from '@components/common'; import { BUREAUS } from '@constants/bureaus'; -import { Sponsor, SponsorStyle, User } from '@type/common'; +import { SponsorStyle, User } from '@type/common'; interface ModalProps { setIsOpen: (isOpen: boolean) => void; sponsorStyles: SponsorStyle[]; users: User[]; - sponsors: Sponsor[]; filterData: SponsorActivitiesFilterType; setFilterData: (filterData: SponsorActivitiesFilterType) => void; } @@ -75,13 +79,12 @@ interface BasicFilterSectionProps { selectedBureauOption: { value: string; label: string } | null; userSelectOptions: { value: string; label: string }[]; selectedUserOption: { value: string; label: string } | null; - sponsorSelectOptions: { value: string; label: string }[]; - selectedSponsorOption: { value: string; label: string } | null; draftFilterData: SponsorActivitiesFilterType; onBureauChange: (selected: { value: string; label: string } | null) => void; onUserChange: (selected: { value: string; label: string } | null) => void; - onSponsorChange: (selected: { value: string; label: string } | null) => void; onFeasibilityChange: (value: string) => void; + onActivityStatusChange: (value: string) => void; + onDesignProgressChange: (value: string) => void; onSortChange: (value: string) => void; } @@ -90,13 +93,12 @@ const BasicFilterSection: FC = ({ selectedBureauOption, userSelectOptions, selectedUserOption, - sponsorSelectOptions, - selectedSponsorOption, draftFilterData, onBureauChange, onUserChange, - onSponsorChange, onFeasibilityChange, + onActivityStatusChange, + onDesignProgressChange, onSortChange, }) => ( <> @@ -120,16 +122,6 @@ const BasicFilterSection: FC = ({ onChange={onUserChange} /> -

企業名

-
- -

協賛可否

+

ステータス

+
+ +
+

デザイン

+
+ +

並び替え