Skip to content

Commit b012f3a

Browse files
committed
Merge branch 'main' into 5441/waitlist-lotteries-allow-selection-fcfs-fixes
2 parents bc526c1 + 71c3f09 commit b012f3a

7 files changed

Lines changed: 48 additions & 7 deletions

File tree

api/prisma/seed-staging.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ export const stagingSeed = async (
155155
});
156156
const angelopolisJurisdiction = await prismaClient.jurisdictions.create({
157157
data: jurisdictionFactory('Angelopolis', {
158-
featureFlags: [],
158+
featureFlags: [FeatureFlagEnum.enableHousingDeveloperOwner],
159159
requiredListingFields: [
160160
'listingsBuildingAddress',
161161
'name',

api/src/enums/feature-flags/feature-flags-enum.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export enum FeatureFlagEnum {
1414
enableGeocodingPreferences = 'enableGeocodingPreferences',
1515
enableGeocodingRadiusMethod = 'enableGeocodingRadiusMethod',
1616
enableHomeType = 'enableHomeType',
17+
enableHousingDeveloperOwner = 'enableHousingDeveloperOwner',
1718
enableIsVerified = 'enableIsVerified',
1819
enableLimitedHowDidYouHear = 'enableLimitedHowDidYouHear',
1920
enableListingFavoriting = 'enableListingFavoriting',
@@ -104,6 +105,11 @@ export const featureFlagMap: { name: string; description: string }[] = [
104105
name: FeatureFlagEnum.enableHomeType,
105106
description: 'When true, home type feature is turned on',
106107
},
108+
{
109+
name: FeatureFlagEnum.enableHousingDeveloperOwner,
110+
description:
111+
"When true, the 'Housing developer' field label becomes 'Housing developer / owner'",
112+
},
107113
{
108114
name: FeatureFlagEnum.enableIsVerified,
109115
description:

api/src/services/listing-csv-export.service.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,12 @@ export class ListingCsvExporterService implements CsvExporterServiceInterface {
451451
},
452452
{
453453
path: 'developer',
454-
label: 'Developer',
454+
label: doAnyJurisdictionHaveFeatureFlagSet(
455+
user.jurisdictions,
456+
FeatureFlagEnum.enableHousingDeveloperOwner,
457+
)
458+
? 'Housing developer / owner'
459+
: 'Developer',
455460
},
456461
{
457462
path: 'listingsBuildingAddress.street',

shared-helpers/src/types/backend-swagger.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7554,6 +7554,7 @@ export enum FeatureFlagEnum {
75547554
"enableGeocodingPreferences" = "enableGeocodingPreferences",
75557555
"enableGeocodingRadiusMethod" = "enableGeocodingRadiusMethod",
75567556
"enableHomeType" = "enableHomeType",
7557+
"enableHousingDeveloperOwner" = "enableHousingDeveloperOwner",
75577558
"enableIsVerified" = "enableIsVerified",
75587559
"enableLimitedHowDidYouHear" = "enableLimitedHowDidYouHear",
75597560
"enableListingFavoriting" = "enableListingFavoriting",

sites/partners/page_content/locale_overrides/general.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@
250250
"listings.events.openHouseNotes": "Open house notes",
251251
"listings.fieldError": "Please resolve any errors before saving or publishing your listing.",
252252
"listings.firstComeFirstServe": "First come first serve",
253+
"listings.housingDeveloperOwner": "Housing developer / owner",
253254
"listings.isDigitalApplication": "Is there a digital application?",
254255
"listings.isPaperApplication": "Is there a paper application?",
255256
"listings.isReferralOpportunity": "Is there a referral opportunity?",

sites/partners/src/components/listings/PaperListingDetails/sections/DetailListingIntro.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,17 @@ import { FieldValue, Grid } from "@bloom-housing/ui-seeds"
44
import { ListingContext } from "../../ListingContext"
55
import { getDetailFieldString } from "./helpers"
66
import SectionWithGrid from "../../../shared/SectionWithGrid"
7+
import { AuthContext } from "@bloom-housing/shared-helpers"
8+
import { FeatureFlagEnum } from "@bloom-housing/shared-helpers/src/types/backend-swagger"
79

810
const DetailListingIntro = () => {
911
const listing = useContext(ListingContext)
12+
const { doJurisdictionsHaveFeatureFlagOn } = useContext(AuthContext)
13+
14+
const enableHousingDeveloperOwner = doJurisdictionsHaveFeatureFlagOn(
15+
FeatureFlagEnum.enableHousingDeveloperOwner,
16+
listing.jurisdictions.id
17+
)
1018

1119
return (
1220
<SectionWithGrid heading={t("listings.sections.introTitle")} inset>
@@ -24,7 +32,14 @@ const DetailListingIntro = () => {
2432
</FieldValue>
2533
</Grid.Cell>
2634
<Grid.Cell>
27-
<FieldValue id="developer" label={t("listings.developer")}>
35+
<FieldValue
36+
id="developer"
37+
label={
38+
enableHousingDeveloperOwner
39+
? t("listings.housingDeveloperOwner")
40+
: t("listings.developer")
41+
}
42+
>
2843
{getDetailFieldString(listing.developer)}
2944
</FieldValue>
3045
</Grid.Cell>

sites/partners/src/components/listings/PaperListingForm/sections/ListingIntro.tsx

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
import React from "react"
1+
import React, { useContext } from "react"
22
import { useFormContext } from "react-hook-form"
3-
import { Jurisdiction } from "@bloom-housing/shared-helpers/src/types/backend-swagger"
3+
import {
4+
FeatureFlagEnum,
5+
Jurisdiction,
6+
} from "@bloom-housing/shared-helpers/src/types/backend-swagger"
47
import { t, Field, SelectOption, Select } from "@bloom-housing/ui-components"
58
import { Grid } from "@bloom-housing/ui-seeds"
69
import {
@@ -11,6 +14,7 @@ import {
1114
} from "../../../../lib/helpers"
1215
import SectionWithGrid from "../../../shared/SectionWithGrid"
1316
import styles from "../ListingForm.module.scss"
17+
import { AuthContext } from "@bloom-housing/shared-helpers"
1418

1519
interface ListingIntroProps {
1620
jurisdictions: Jurisdiction[]
@@ -19,9 +23,16 @@ interface ListingIntroProps {
1923

2024
const ListingIntro = (props: ListingIntroProps) => {
2125
const formMethods = useFormContext()
26+
const { doJurisdictionsHaveFeatureFlagOn } = useContext(AuthContext)
2227

2328
// eslint-disable-next-line @typescript-eslint/unbound-method
24-
const { register, clearErrors, errors } = formMethods
29+
const { register, clearErrors, errors, watch } = formMethods
30+
const jurisdiction = watch("jurisdictions.id")
31+
32+
const enableHousingDeveloperOwner = doJurisdictionsHaveFeatureFlagOn(
33+
FeatureFlagEnum.enableHousingDeveloperOwner,
34+
jurisdiction
35+
)
2536

2637
const jurisdictionOptions: SelectOption[] = [
2738
{ label: "", value: "" },
@@ -101,7 +112,9 @@ const ListingIntro = (props: ListingIntroProps) => {
101112
register={register}
102113
{...defaultFieldProps(
103114
"developer",
104-
t("listings.developer"),
115+
enableHousingDeveloperOwner
116+
? t("listings.housingDeveloperOwner")
117+
: t("listings.developer"),
105118
props.requiredFields,
106119
errors,
107120
clearErrors

0 commit comments

Comments
 (0)