diff --git a/programs/programs/urgent_needs/urgent_need_functions.py b/programs/programs/urgent_needs/urgent_need_functions.py index 0b06dbf0..f472cff4 100644 --- a/programs/programs/urgent_needs/urgent_need_functions.py +++ b/programs/programs/urgent_needs/urgent_need_functions.py @@ -147,6 +147,29 @@ def eligible(cls, screen: Screen): return household_income <= income_limit +class ForeclosureFinAssistProgram(UrgentNeedFunction): + dependencies = ['household_size', 'income_amount', 'income_frequency', 'county'] + + @classmethod + def eligible(cls, screen: Screen): + ''' + Return True if the household is at or below 80% the income limit for their household size & they live in Denver + ''' + income_limits = { + 1: 66_300, + 2: 75_750, + 3: 85_200, + 4: 94_560, + 5: 102_250, + 6: 109_800, + 7: 117_400, + 8: 124_950, + } + household_income = screen.calc_gross_income('yearly', ['all']) + income_limit = income_limits[screen.household_size] + return household_income <= income_limit and screen.county == 'Denver County' + + class EocIncomeLimitCache(Cache): expire_time = 60 * 60 * 24 default = {} diff --git a/screener/views.py b/screener/views.py index 36b98e81..c1a4376c 100644 --- a/screener/views.py +++ b/screener/views.py @@ -367,6 +367,7 @@ def urgent_need_results(screen): screen, missing_dependencies ), 'trua': urgent_need_functions.Trua.calc(screen, missing_dependencies), + 'ffap': urgent_need_functions.ForeclosureFinAssistProgram.calc(screen, missing_dependencies), 'eoc': urgent_need_functions.Eoc.calc(screen, missing_dependencies), 'co_legal_services': urgent_need_functions.CoLegalServices.calc( screen, missing_dependencies