From 07174abc9938f8cced2f3b574f89007ddcf1319b Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Wed, 23 Oct 2024 09:38:06 +0100 Subject: [PATCH 01/18] PC-1383: add html for no epc page --- help_to_heat/frontdoor/views.py | 21 ++++++++++++++ help_to_heat/templates/frontdoor/no-epc.html | 30 ++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 help_to_heat/templates/frontdoor/no-epc.html diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index 355a0ef3..15fdf0a9 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -866,6 +866,27 @@ def save_post_data(self, data, session_id, page_name): return data +@register_page(no_epc_page) +class NoEpcView(PageView): + def build_extra_context(self, request, session_id, page_name, data, is_change_page): + country = data.get(country_field) + + current_month, next_month = utils.get_current_and_next_month_names(month_names) + current_quarter_month, next_quarter_month = utils.get_current_and_next_quarter_month_names(month_names) + + show_month_wording = country in [country_field_england, country_field_wales] + + return { + "current_month": current_month, "next_month": next_month, + "current_quarter_month": current_quarter_month, "next_quarter_month": next_quarter_month, + "show_month_wording": show_month_wording + } + + def save_post_data(self, data, session_id, page_name): + data[no_epc_field] = field_yes + return data + + @register_page(benefits_page) class BenefitsView(PageView): def build_extra_context(self, request, session_id, *args, **kwargs): diff --git a/help_to_heat/templates/frontdoor/no-epc.html b/help_to_heat/templates/frontdoor/no-epc.html new file mode 100644 index 00000000..4e6968a2 --- /dev/null +++ b/help_to_heat/templates/frontdoor/no-epc.html @@ -0,0 +1,30 @@ +{% extends "frontdoor/base.html" %} +{% import "macros.html" as macros with context %} + +{% block title %} + {{_("We could not find and Energy Performance Certificate for your property - Check eligibility for Great British Insulation Scheme - GOV.UK")}} +{% endblock %} + +{% block content %} + {% call macros.form_wrapper(prev_url) -%} +

{{_("We could not find an Energy Performance Certificate for your property")}}

+ +

{{_("This may be because:")}}

+ + {% if show_month_wording %} +

{{_("If your property has had a new EPC issued since 1 %(current_month)s, we may not be able to find it in our database because it is only updated monthly. Please return to this service after 1 %(next_month)s when we expect the database to have been updated.") % { "current_month": current_month, "next_month": next_month }}}

+ {% else %} +

{{_("If your property was issued an EPC since 1 %(current_quarter_month)s, we may not be able to find it in our database because it is updated quarterly. Please return to this service after 1 %(next_quarter_month)s when we expect the database to have been updated.") % { "current_quarter_month": current_quarter_month, "next_quarter_month": next_quarter_month }}}

+ {% endif %} +
+

{{_("You may continue using this service without an EPC.")}}

+ + {%- endcall %} +{% endblock %} From 29dffe8f99a7e6a2cf43b6ffa369d1423cbcfc55 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Wed, 23 Oct 2024 11:01:05 +0100 Subject: [PATCH 02/18] PC-1383: add no epc page to route --- help_to_heat/frontdoor/consts.py | 4 +++ .../frontdoor/routing/forwards_routing.py | 26 +++++++++++++++++-- help_to_heat/frontdoor/schemas.py | 4 +++ help_to_heat/frontdoor/views.py | 14 +++++++--- help_to_heat/utils.py | 10 +++++++ 5 files changed, 52 insertions(+), 6 deletions(-) diff --git a/help_to_heat/frontdoor/consts.py b/help_to_heat/frontdoor/consts.py index 93f77399..0cfe7fdc 100644 --- a/help_to_heat/frontdoor/consts.py +++ b/help_to_heat/frontdoor/consts.py @@ -20,6 +20,7 @@ address_select_manual_page = "address-select-manual" council_tax_band_page = "council-tax-band" epc_page = "epc" +no_epc_page = "no-epc" epc_ineligible_page = "epc-ineligible" benefits_page = "benefits" household_income_page = "household-income" @@ -58,6 +59,7 @@ address_select_manual_page, council_tax_band_page, epc_page, + no_epc_page, epc_ineligible_page, benefits_page, household_income_page, @@ -205,6 +207,8 @@ epc_rating_field_not_found = "Not found" epc_rating_is_eligible_field = "epc_rating_is_eligible" +no_epc_field = "confirm_no_epc" + benefits_field = "benefits" household_income_field = "household_income" diff --git a/help_to_heat/frontdoor/routing/forwards_routing.py b/help_to_heat/frontdoor/routing/forwards_routing.py index 398b88d9..c6fbf3a0 100644 --- a/help_to_heat/frontdoor/routing/forwards_routing.py +++ b/help_to_heat/frontdoor/routing/forwards_routing.py @@ -48,6 +48,8 @@ loft_insulation_field, loft_insulation_page, loft_page, + no_epc_field, + no_epc_page, northern_ireland_ineligible_page, number_of_bedrooms_field, number_of_bedrooms_page, @@ -182,6 +184,9 @@ def get_next_page(current_page, answers): if current_page == epc_page: return _epc_next_page(answers) + if current_page == no_epc_page: + return _no_epc_next_page(answers) + if current_page == benefits_page: return _benefits_next_page(answers) @@ -405,13 +410,25 @@ def _council_tax_band_next_page(answers): return _post_council_tax_band_next_page(answers) -# confirms epc if it was found +# confirms epc if it was found, or send to no epc def _post_council_tax_band_next_page(answers): epc_found = answers.get(epc_found_field) + address_choice = answers.get(address_choice_field) + epc_select_choice = answers.get(epc_select_choice_field) + address_select_choice = answers.get(address_select_choice_field) if epc_found == field_yes: return epc_page if epc_found == field_no: - return _post_epc_next_page(answers) + # if they entered an address manually, don't show the no epc page as an epc wasn't searched for + # note that there are 3 address select pages so 3 places where the user can opt to enter manually + if ( + address_choice == address_choice_field_enter_manually + or epc_select_choice == epc_select_choice_field_enter_manually + or address_select_choice == address_choice_field_enter_manually + ): + return _post_epc_next_page(answers) + + return no_epc_page return _unknown_response @@ -425,6 +442,11 @@ def _epc_next_page(answers): return _post_epc_next_page(answers) +@_requires_answer(no_epc_field) +def _no_epc_next_page(answers): + return _post_epc_next_page(answers) + + # ask circumstances questions, depending on flow def _post_epc_next_page(answers): own_property = answers.get(own_property_field) diff --git a/help_to_heat/frontdoor/schemas.py b/help_to_heat/frontdoor/schemas.py index 89e79282..6ac29cb6 100644 --- a/help_to_heat/frontdoor/schemas.py +++ b/help_to_heat/frontdoor/schemas.py @@ -66,6 +66,7 @@ loft_insulation_field_no_loft, loft_insulation_page, loft_page, + no_epc_page, northern_ireland_ineligible_page, number_of_bedrooms_field, number_of_bedrooms_field_one, @@ -223,6 +224,7 @@ referral_already_submitted_page: summary_page, council_tax_band_page: summary_page, epc_page: summary_page, + no_epc_page: summary_page, benefits_page: summary_page, household_income_page: summary_page, property_type_page: summary_page, @@ -250,6 +252,7 @@ referral_already_submitted_page, council_tax_band_page, epc_page, + no_epc_page, northern_ireland_ineligible_page, park_home_ineligible_page, epc_ineligible_page, @@ -821,6 +824,7 @@ class SessionSchema(Schema): ) epc_rating = fields.String(validate=validate.OneOf(epc_rating_options)) epc_date = fields.String() + confirm_no_epc = fields.String() benefits = fields.String(validate=validate.OneOf(tuple(item["value"] for item in yes_no_options_map))) household_income = fields.String( validate=validate.OneOf(tuple(item["value"] for item in household_income_options_map)) diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index 15fdf0a9..2e6bd4f4 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -91,6 +91,8 @@ loft_insulation_field_more_than_threshold, loft_insulation_page, loft_page, + no_epc_field, + no_epc_page, northern_ireland_ineligible_page, number_of_bedrooms_field, number_of_bedrooms_page, @@ -869,7 +871,9 @@ def save_post_data(self, data, session_id, page_name): @register_page(no_epc_page) class NoEpcView(PageView): def build_extra_context(self, request, session_id, page_name, data, is_change_page): - country = data.get(country_field) + session_data = interface.api.session.get_session(session_id) + + country = session_data.get(country_field) current_month, next_month = utils.get_current_and_next_month_names(month_names) current_quarter_month, next_quarter_month = utils.get_current_and_next_quarter_month_names(month_names) @@ -877,9 +881,11 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa show_month_wording = country in [country_field_england, country_field_wales] return { - "current_month": current_month, "next_month": next_month, - "current_quarter_month": current_quarter_month, "next_quarter_month": next_quarter_month, - "show_month_wording": show_month_wording + "current_month": current_month, + "next_month": next_month, + "current_quarter_month": current_quarter_month, + "next_quarter_month": next_quarter_month, + "show_month_wording": show_month_wording, } def save_post_data(self, data, session_id, page_name): diff --git a/help_to_heat/utils.py b/help_to_heat/utils.py index a3fe4859..66328ee2 100644 --- a/help_to_heat/utils.py +++ b/help_to_heat/utils.py @@ -238,3 +238,13 @@ def get_current_and_next_month_names(month_names): current_month = month_names[now.month - 1] next_month = month_names[(now + relativedelta(months=+1)).month - 1] return current_month, next_month + + +# Q1 january -> april +# Q2 april -> july +# Q3 july -> october +# Q4 october -> january +# we update the month names manually on each scottish data dump +# this is to tell the user the month of the last dump, and expected month of next dump +def get_current_and_next_quarter_month_names(month_names): + return month_names[6], month_names[9] From 2077a565f7c01e5b4e85351b656dd56d8702f0b4 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Thu, 24 Oct 2024 16:11:53 +0100 Subject: [PATCH 03/18] PC-1383: format migration --- ...limit_from_some_scottishepc_text_fields.py | 127 +++++++++--------- 1 file changed, 63 insertions(+), 64 deletions(-) diff --git a/help_to_heat/portal/migrations/0015_remove_length_limit_from_some_scottishepc_text_fields.py b/help_to_heat/portal/migrations/0015_remove_length_limit_from_some_scottishepc_text_fields.py index e5a5ac59..8de49529 100644 --- a/help_to_heat/portal/migrations/0015_remove_length_limit_from_some_scottishepc_text_fields.py +++ b/help_to_heat/portal/migrations/0015_remove_length_limit_from_some_scottishepc_text_fields.py @@ -4,165 +4,164 @@ class Migration(migrations.Migration): - dependencies = [ - ('portal', '0014_add_extra_fields_to_scottishepc'), + ("portal", "0014_add_extra_fields_to_scottishepc"), ] operations = [ migrations.AlterField( - model_name='scottishepcrating', - name='address1', + model_name="scottishepcrating", + name="address1", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='address2', + model_name="scottishepcrating", + name="address2", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='address3', + model_name="scottishepcrating", + name="address3", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='built_form', + model_name="scottishepcrating", + name="built_form", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='constituency', + model_name="scottishepcrating", + name="constituency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='construction_age_band', + model_name="scottishepcrating", + name="construction_age_band", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='energy_tariff', + model_name="scottishepcrating", + name="energy_tariff", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='floor_description', + model_name="scottishepcrating", + name="floor_description", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='floor_energy_efficiency', + model_name="scottishepcrating", + name="floor_energy_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='floor_level', + model_name="scottishepcrating", + name="floor_level", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='lighting_description', + model_name="scottishepcrating", + name="lighting_description", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='lighting_energy_efficiency', + model_name="scottishepcrating", + name="lighting_energy_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='lighting_environmental_efficiency', + model_name="scottishepcrating", + name="lighting_environmental_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='local_authority', + model_name="scottishepcrating", + name="local_authority", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='main_heating_description', + model_name="scottishepcrating", + name="main_heating_description", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='main_heating_energy_efficiency', + model_name="scottishepcrating", + name="main_heating_energy_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='main_heating_environmental_efficiency', + model_name="scottishepcrating", + name="main_heating_environmental_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='main_heating_fuel_type', + model_name="scottishepcrating", + name="main_heating_fuel_type", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='mains_gas', + model_name="scottishepcrating", + name="mains_gas", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='mechanical_ventilation', + model_name="scottishepcrating", + name="mechanical_ventilation", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='property_type', + model_name="scottishepcrating", + name="property_type", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='roof_description', + model_name="scottishepcrating", + name="roof_description", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='roof_energy_efficiency', + model_name="scottishepcrating", + name="roof_energy_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='roof_environmental_efficiency', + model_name="scottishepcrating", + name="roof_environmental_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='second_heating_description', + model_name="scottishepcrating", + name="second_heating_description", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='second_heating_energy_efficiency', + model_name="scottishepcrating", + name="second_heating_energy_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='tenure', + model_name="scottishepcrating", + name="tenure", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='wall_description', + model_name="scottishepcrating", + name="wall_description", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='wall_energy_efficiency', + model_name="scottishepcrating", + name="wall_energy_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='wall_environmental_efficiency', + model_name="scottishepcrating", + name="wall_environmental_efficiency", field=models.TextField(null=True), ), migrations.AlterField( - model_name='scottishepcrating', - name='windows_description', + model_name="scottishepcrating", + name="windows_description", field=models.TextField(null=True), ), ] From 6ececb6defb510e7ed417af6b23196682cfbd1af Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Thu, 24 Oct 2024 16:13:17 +0100 Subject: [PATCH 04/18] PC-1383: fix & add tests --- tests/routing/__init__.py | 5 +- tests/routing/test_backwards_routing.py | 72 ++++++++++++++++++++----- tests/routing/test_forwards_routing.py | 32 ++++++++--- tests/test_frontdoor.py | 36 +++++++++++++ 4 files changed, 124 insertions(+), 21 deletions(-) diff --git a/tests/routing/__init__.py b/tests/routing/__init__.py index 6736b6ea..f0daa9d9 100644 --- a/tests/routing/__init__.py +++ b/tests/routing/__init__.py @@ -46,6 +46,7 @@ loft_insulation_field_dont_know, loft_insulation_field_less_than_threshold, loft_insulation_field_more_than_threshold, + no_epc_field, number_of_bedrooms_field, number_of_bedrooms_field_one, number_of_bedrooms_field_studio, @@ -378,6 +379,7 @@ def get_epc_answers(address_flow=None, duplicate_uprn=None, property_flow=None): address_flow_write_address_epc_hit_select, address_flow_write_address_scotland_select_epc, ]: + # if they would hit the epc page yield { **council_tax_band_answers, epc_accept_suggested_epc_field: field_no, @@ -394,7 +396,8 @@ def get_epc_answers(address_flow=None, duplicate_uprn=None, property_flow=None): epc_rating_is_eligible_field: field_yes, } else: - yield council_tax_band_answers + # else they would hit the no-epc page + yield {**council_tax_band_answers, no_epc_field: field_yes} def get_circumstances_answers(circumstances_flow=None, address_flow=None, duplicate_uprn=None, property_flow=None): diff --git a/tests/routing/test_backwards_routing.py b/tests/routing/test_backwards_routing.py index f7c6ef6c..ba29da5e 100644 --- a/tests/routing/test_backwards_routing.py +++ b/tests/routing/test_backwards_routing.py @@ -44,6 +44,7 @@ loft_access_page, loft_insulation_page, loft_page, + no_epc_page, northern_ireland_ineligible_page, number_of_bedrooms_page, own_property_page, @@ -373,6 +374,53 @@ def test_epc_prev_page(address_flow, property_flow, duplicate_uprn, expected_pre assert get_prev_page(epc_page, flow_answers) == expected_prev_page +@pytest.mark.parametrize( + "address_flow, property_flow, duplicate_uprn, expected_prev_page", + [ + (address_flow_write_address_epc_api_fail_select, property_flow_park_home, field_no, address_select_page), + ( + address_flow_write_address_epc_api_fail_select, + property_flow_park_home, + field_yes, + referral_already_submitted_page, + ), + (address_flow_write_address_epc_api_fail_select, property_flow_main, field_no, council_tax_band_page), + (address_flow_write_address_epc_api_fail_select, property_flow_main, field_yes, council_tax_band_page), + (address_flow_write_address_epc_api_fail_select, property_flow_social_housing, field_no, address_select_page), + ( + address_flow_write_address_epc_api_fail_select, + property_flow_social_housing, + field_yes, + referral_already_submitted_page, + ), + (address_flow_write_address_scotland_select_no_epc, property_flow_park_home, field_no, address_select_page), + ( + address_flow_write_address_scotland_select_no_epc, + property_flow_park_home, + field_yes, + referral_already_submitted_page, + ), + (address_flow_write_address_scotland_select_no_epc, property_flow_main, field_no, council_tax_band_page), + (address_flow_write_address_scotland_select_no_epc, property_flow_main, field_yes, council_tax_band_page), + ( + address_flow_write_address_scotland_select_no_epc, + property_flow_social_housing, + field_no, + address_select_page, + ), + ( + address_flow_write_address_scotland_select_no_epc, + property_flow_social_housing, + field_yes, + referral_already_submitted_page, + ), + ], +) +def test_no_epc_prev_page(address_flow, property_flow, duplicate_uprn, expected_prev_page): + for flow_answers in get_council_tax_band_answers(address_flow, duplicate_uprn, property_flow): + assert get_prev_page(no_epc_page, flow_answers) == expected_prev_page + + @pytest.mark.parametrize( "address_flow, expected_prev_page", [ @@ -401,15 +449,15 @@ def test_epc_ineligible_prev_page(address_flow, expected_prev_page): (address_flow_write_address_epc_hit_write_manually, property_flow_park_home, field_yes, epc_select_manual_page), (address_flow_write_address_epc_hit_write_manually, property_flow_main, field_no, council_tax_band_page), (address_flow_write_address_epc_hit_write_manually, property_flow_main, field_yes, council_tax_band_page), - (address_flow_write_address_epc_api_fail_select, property_flow_park_home, field_no, address_select_page), + (address_flow_write_address_epc_api_fail_select, property_flow_park_home, field_no, no_epc_page), ( address_flow_write_address_epc_api_fail_select, property_flow_park_home, field_yes, - referral_already_submitted_page, + no_epc_page, ), - (address_flow_write_address_epc_api_fail_select, property_flow_main, field_no, council_tax_band_page), - (address_flow_write_address_epc_api_fail_select, property_flow_main, field_yes, council_tax_band_page), + (address_flow_write_address_epc_api_fail_select, property_flow_main, field_no, no_epc_page), + (address_flow_write_address_epc_api_fail_select, property_flow_main, field_yes, no_epc_page), ( address_flow_write_address_epc_api_fail_manually, property_flow_park_home, @@ -428,15 +476,15 @@ def test_epc_ineligible_prev_page(address_flow, expected_prev_page): (address_flow_write_address_scotland_select_epc, property_flow_park_home, field_yes, epc_page), (address_flow_write_address_scotland_select_epc, property_flow_main, field_no, epc_page), (address_flow_write_address_scotland_select_epc, property_flow_main, field_yes, epc_page), - (address_flow_write_address_scotland_select_no_epc, property_flow_park_home, field_no, address_select_page), + (address_flow_write_address_scotland_select_no_epc, property_flow_park_home, field_no, no_epc_page), ( address_flow_write_address_scotland_select_no_epc, property_flow_park_home, field_yes, - referral_already_submitted_page, + no_epc_page, ), - (address_flow_write_address_scotland_select_no_epc, property_flow_main, field_no, council_tax_band_page), - (address_flow_write_address_scotland_select_no_epc, property_flow_main, field_yes, council_tax_band_page), + (address_flow_write_address_scotland_select_no_epc, property_flow_main, field_no, no_epc_page), + (address_flow_write_address_scotland_select_no_epc, property_flow_main, field_yes, no_epc_page), (address_flow_write_address_scotland_manually, property_flow_park_home, field_no, address_select_manual_page), (address_flow_write_address_scotland_manually, property_flow_park_home, field_yes, address_select_manual_page), (address_flow_write_address_scotland_manually, property_flow_main, field_no, council_tax_band_page), @@ -502,14 +550,14 @@ def test_property_type_main_flow_prev_page(circumstances_flow, expected_prev_pag (address_flow_write_address_epc_hit_select, field_yes, epc_page), (address_flow_write_address_epc_hit_write_manually, field_no, epc_select_manual_page), (address_flow_write_address_epc_hit_write_manually, field_yes, epc_select_manual_page), - (address_flow_write_address_epc_api_fail_select, field_no, address_select_page), - (address_flow_write_address_epc_api_fail_select, field_yes, referral_already_submitted_page), + (address_flow_write_address_epc_api_fail_select, field_no, no_epc_page), + (address_flow_write_address_epc_api_fail_select, field_yes, no_epc_page), (address_flow_write_address_epc_api_fail_manually, field_no, address_select_manual_page), (address_flow_write_address_epc_api_fail_manually, field_yes, address_select_manual_page), (address_flow_write_address_scotland_select_epc, field_no, epc_page), (address_flow_write_address_scotland_select_epc, field_yes, epc_page), - (address_flow_write_address_scotland_select_no_epc, field_no, address_select_page), - (address_flow_write_address_scotland_select_no_epc, field_yes, referral_already_submitted_page), + (address_flow_write_address_scotland_select_no_epc, field_no, no_epc_page), + (address_flow_write_address_scotland_select_no_epc, field_yes, no_epc_page), (address_flow_write_address_scotland_manually, field_no, address_select_manual_page), (address_flow_write_address_scotland_manually, field_yes, address_select_manual_page), (address_flow_manually, field_no, address_manual_page), diff --git a/tests/routing/test_forwards_routing.py b/tests/routing/test_forwards_routing.py index 7d3062f4..42a08619 100644 --- a/tests/routing/test_forwards_routing.py +++ b/tests/routing/test_forwards_routing.py @@ -59,6 +59,7 @@ loft_insulation_field_more_than_threshold, loft_insulation_page, loft_page, + no_epc_page, northern_ireland_ineligible_page, number_of_bedrooms_field, number_of_bedrooms_field_one, @@ -328,7 +329,7 @@ def test_epc_select_social_housing_next_page(choice, duplicate_uprn, expected_ne @pytest.mark.parametrize( "choice, duplicate_uprn, epc_found, expected_next_page", [ - (address_select_choice_field_select_address, field_no, field_no, benefits_page), + (address_select_choice_field_select_address, field_no, field_no, no_epc_page), (address_select_choice_field_select_address, field_no, field_yes, epc_page), (address_select_choice_field_select_address, field_yes, field_no, referral_already_submitted_page), (address_select_choice_field_select_address, field_yes, field_yes, referral_already_submitted_page), @@ -378,7 +379,7 @@ def test_address_select_not_park_home_next_page(choice, duplicate_uprn, epc_foun @pytest.mark.parametrize( "choice, duplicate_uprn, epc_found, expected_next_page", [ - (address_select_choice_field_select_address, field_no, field_no, property_type_page), + (address_select_choice_field_select_address, field_no, field_no, no_epc_page), (address_select_choice_field_select_address, field_no, field_yes, epc_page), (address_select_choice_field_select_address, field_yes, field_no, referral_already_submitted_page), (address_select_choice_field_select_address, field_yes, field_yes, referral_already_submitted_page), @@ -409,7 +410,12 @@ def test_address_select_social_housing_next_page(choice, duplicate_uprn, epc_fou ) def test_address_manual_next_page(flow, expected_next_page): for flow_answers in get_property_flow_answers(flow): - answers = {**flow_answers, epc_found_field: field_no, duplicate_uprn_field: field_no} + answers = { + **flow_answers, + epc_found_field: field_no, + duplicate_uprn_field: field_no, + address_choice_field: address_choice_field_enter_manually, + } assert get_next_page(address_manual_page, answers) == expected_next_page @@ -423,7 +429,12 @@ def test_address_manual_next_page(flow, expected_next_page): ) def test_epc_select_manual_next_page(flow, expected_next_page): for flow_answers in get_property_flow_answers(flow): - answers = {**flow_answers, epc_found_field: field_no, duplicate_uprn_field: field_no} + answers = { + **flow_answers, + epc_found_field: field_no, + duplicate_uprn_field: field_no, + epc_select_choice_field: epc_select_choice_field_enter_manually, + } assert get_next_page(epc_select_manual_page, answers) == expected_next_page @@ -437,18 +448,23 @@ def test_epc_select_manual_next_page(flow, expected_next_page): ) def test_address_select_manual_next_page(flow, expected_next_page): for flow_answers in get_property_flow_answers(flow): - answers = {**flow_answers, epc_found_field: field_no, duplicate_uprn_field: field_no} + answers = { + **flow_answers, + epc_found_field: field_no, + duplicate_uprn_field: field_no, + address_select_choice_field: address_select_choice_field_enter_manually, + } assert get_next_page(address_select_manual_page, answers) == expected_next_page @pytest.mark.parametrize( "flow, epc_found, expected_next_page", [ - (property_flow_park_home, field_no, benefits_page), + (property_flow_park_home, field_no, no_epc_page), (property_flow_park_home, field_yes, epc_page), (property_flow_main, field_no, council_tax_band_page), (property_flow_main, field_yes, council_tax_band_page), - (property_flow_social_housing, field_no, property_type_page), + (property_flow_social_housing, field_no, no_epc_page), (property_flow_social_housing, field_yes, epc_page), ], ) @@ -461,7 +477,7 @@ def test_referral_already_submitted_next_page(flow, epc_found, expected_next_pag @pytest.mark.parametrize( "epc_found, expected_next_page", [ - (field_no, benefits_page), + (field_no, no_epc_page), (field_yes, epc_page), ], ) diff --git a/tests/test_frontdoor.py b/tests/test_frontdoor.py index 2826220e..4b72bc36 100644 --- a/tests/test_frontdoor.py +++ b/tests/test_frontdoor.py @@ -443,10 +443,18 @@ def test_benefits_back_button_with_park_home_and_no_epc_should_return_to_address assert data["uprn"] == "100023336956" assert data["address"] == "10, DOWNING STREET, LONDON, CITY OF WESTMINSTER, SW1A 2AA" + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + form = page.get_form() + page = form.submit().follow() + assert page.has_one("h1:contains('Is anyone in your household receiving any of the following benefits?')") page = page.click(contains="Back") + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + + page = page.click(contains="Back") + assert page.has_one('h1:contains("Select your address")') @@ -497,10 +505,18 @@ def test_benefits_back_button_with_park_home_and_scotland_should_return_to_addre assert data["uprn"] == "100023336956" assert data["address"] == "10, DOWNING STREET, LONDON, CITY OF WESTMINSTER, SW1A 2AA" + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + form = page.get_form() + page = form.submit().follow() + assert page.has_one("h1:contains('Is anyone in your household receiving any of the following benefits?')") page = page.click(contains="Back") + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + + page = page.click(contains="Back") + assert page.has_one('h1:contains("Select your address")') @@ -546,10 +562,18 @@ def test_property_type_back_button_with_social_housing_and_no_epc_should_return_ assert data["uprn"] == "100023336956" assert data["address"] == "10, DOWNING STREET, LONDON, CITY OF WESTMINSTER, SW1A 2AA" + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + form = page.get_form() + page = form.submit().follow() + assert page.has_one("h1:contains('What kind of property do you have?')") page = page.click(contains="Back") + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + + page = page.click(contains="Back") + assert page.has_one('h1:contains("Select your address")') @@ -594,10 +618,18 @@ def test_property_type_back_button_with_social_housing_and_scotland_should_retur assert data["uprn"] == "100023336956" assert data["address"] == "10, DOWNING STREET, LONDON, CITY OF WESTMINSTER, SW1A 2AA" + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + form = page.get_form() + page = form.submit().follow() + assert page.has_one("h1:contains('What kind of property do you have?')") page = page.click(contains="Back") + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + + page = page.click(contains="Back") + assert page.has_one('h1:contains("Select your address")') @@ -813,6 +845,10 @@ def test_epc_lookup_failure(): assert page.has_one("h1:contains('What is the council tax band of your property?')") page = _check_page(page, "council-tax-band", "council_tax_band", "B") + assert page.has_one("h1:contains('We could not find an Energy Performance Certificate for your property')") + form = page.get_form() + page = form.submit().follow() + assert page.has_one("h1:contains('Is anyone in your household receiving any of the following benefits?')") page = _check_page(page, "benefits", "benefits", "Yes") From a7cdef482fdbbf891f9c80c80e1dd31fd2d1fd00 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Thu, 24 Oct 2024 17:31:46 +0100 Subject: [PATCH 05/18] PC-1383: add translations for no epc page --- help_to_heat/locale/cy/LC_MESSAGES/django.mo | Bin 93758 -> 95332 bytes help_to_heat/locale/cy/LC_MESSAGES/django.po | 354 +++++++++++-------- 2 files changed, 202 insertions(+), 152 deletions(-) diff --git a/help_to_heat/locale/cy/LC_MESSAGES/django.mo b/help_to_heat/locale/cy/LC_MESSAGES/django.mo index 49b6954e96bbf28711a247245289b503ac87feff..c08e408461c72300fe807d1ece39540fd24d5eb3 100644 GIT binary patch delta 13340 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 Lkc*F|8#(_2;n^rQ delta 12331 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 UtZQTjZ}aPAwDXvIW2lk+U%4R7{{R30 diff --git a/help_to_heat/locale/cy/LC_MESSAGES/django.po b/help_to_heat/locale/cy/LC_MESSAGES/django.po index 451fab91..f88293d5 100644 --- a/help_to_heat/locale/cy/LC_MESSAGES/django.po +++ b/help_to_heat/locale/cy/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-10-17 16:08+0000\n" +"POT-Creation-Date: 2024-10-28 11:35+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,125 +19,125 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != " "11) ? 2 : 3;\n" -#: help_to_heat/frontdoor/schemas.py:140 +#: help_to_heat/frontdoor/schemas.py:141 msgid "Country of property" msgstr "Gwlad yr eiddo" -#: help_to_heat/frontdoor/schemas.py:141 help_to_heat/frontdoor/schemas.py:163 +#: help_to_heat/frontdoor/schemas.py:142 help_to_heat/frontdoor/schemas.py:164 msgid "Energy supplier" msgstr "Cyflenwr ynni" -#: help_to_heat/frontdoor/schemas.py:142 +#: help_to_heat/frontdoor/schemas.py:143 msgctxt "summary page" msgid "Do you own the property?" msgstr "Ydy'r eiddo yn perthyn i chi?" -#: help_to_heat/frontdoor/schemas.py:143 +#: help_to_heat/frontdoor/schemas.py:144 #: help_to_heat/templates/frontdoor/park-home.html:14 msgid "Do you live in a park home?" msgstr "Ydych chi'n byw mewn aelwyd mewn parc?" -#: help_to_heat/frontdoor/schemas.py:144 +#: help_to_heat/frontdoor/schemas.py:145 #: help_to_heat/templates/frontdoor/park-home-main-residence.html:14 msgid "Is the park home your main residence?" msgstr "Ai'r aelwyd mewn parc yw'ch prif breswylfa?" -#: help_to_heat/frontdoor/schemas.py:145 +#: help_to_heat/frontdoor/schemas.py:146 msgid "Property address" msgstr "Cyfeiriad yr eiddo" -#: help_to_heat/frontdoor/schemas.py:146 +#: help_to_heat/frontdoor/schemas.py:147 msgid "Council tax band" msgstr "Band treth gyngor" -#: help_to_heat/frontdoor/schemas.py:147 +#: help_to_heat/frontdoor/schemas.py:148 msgid "Energy Performance Certificate" msgstr "Dystysgrif Perfformiad Ynni" -#: help_to_heat/frontdoor/schemas.py:149 +#: help_to_heat/frontdoor/schemas.py:150 msgctxt "summary page" msgid "Is anyone in your household receiving any of the following benefits?" msgstr "" "Oes unrhyw un yn eich aelwyd chi'n cael unrhyw un o'r budd-daliadau canlynol?" -#: help_to_heat/frontdoor/schemas.py:151 +#: help_to_heat/frontdoor/schemas.py:152 msgid "Annual household income" msgstr "Incwm blynyddol yr aelwyd" -#: help_to_heat/frontdoor/schemas.py:152 help_to_heat/frontdoor/schemas.py:153 +#: help_to_heat/frontdoor/schemas.py:153 help_to_heat/frontdoor/schemas.py:154 msgid "Property type" msgstr "Math o eiddo" -#: help_to_heat/frontdoor/schemas.py:154 +#: help_to_heat/frontdoor/schemas.py:155 msgid "Number of bedrooms" msgstr "Nifer yr ystafelloedd gwely" -#: help_to_heat/frontdoor/schemas.py:155 +#: help_to_heat/frontdoor/schemas.py:156 msgid "Property walls" msgstr "Waliau'r eiddo" -#: help_to_heat/frontdoor/schemas.py:156 +#: help_to_heat/frontdoor/schemas.py:157 msgctxt "summary page" msgid "Are your walls insulated?" msgstr "Ydy'ch waliau wedi'u hinswleiddio?" -#: help_to_heat/frontdoor/schemas.py:157 +#: help_to_heat/frontdoor/schemas.py:158 msgid "Does this property have a loft?" msgstr "Oes gan yr eiddo yma atig?" -#: help_to_heat/frontdoor/schemas.py:158 +#: help_to_heat/frontdoor/schemas.py:159 #: help_to_heat/templates/frontdoor/loft-access.html:14 msgid "Is there access to your loft?" msgstr "Oes modd mynd i'ch atig?" -#: help_to_heat/frontdoor/schemas.py:159 +#: help_to_heat/frontdoor/schemas.py:160 msgid "Is there 100mm of insulation in your loft?" msgstr "Oes 100mm o inswleiddiad yn eich atig?" -#: help_to_heat/frontdoor/schemas.py:164 +#: help_to_heat/frontdoor/schemas.py:165 #: help_to_heat/templates/frontdoor/contact-details.html:23 msgid "First name" msgstr "Enw cyntaf" -#: help_to_heat/frontdoor/schemas.py:165 +#: help_to_heat/frontdoor/schemas.py:166 #: help_to_heat/templates/frontdoor/contact-details.html:26 msgid "Last name" msgstr "Enw olaf" -#: help_to_heat/frontdoor/schemas.py:166 +#: help_to_heat/frontdoor/schemas.py:167 #: help_to_heat/templates/frontdoor/contact-details.html:39 msgid "Contact number" msgstr "Rhif ffôn" -#: help_to_heat/frontdoor/schemas.py:167 +#: help_to_heat/frontdoor/schemas.py:168 msgid "Email" msgstr "Ebost" -#: help_to_heat/frontdoor/schemas.py:268 help_to_heat/frontdoor/schemas.py:415 +#: help_to_heat/frontdoor/schemas.py:271 help_to_heat/frontdoor/schemas.py:418 msgid "England" msgstr "Lloegr" -#: help_to_heat/frontdoor/schemas.py:272 help_to_heat/frontdoor/schemas.py:416 +#: help_to_heat/frontdoor/schemas.py:275 help_to_heat/frontdoor/schemas.py:419 msgid "Scotland" msgstr "Yr Alban" -#: help_to_heat/frontdoor/schemas.py:276 help_to_heat/frontdoor/schemas.py:417 +#: help_to_heat/frontdoor/schemas.py:279 help_to_heat/frontdoor/schemas.py:420 msgid "Wales" msgstr "Cymru" -#: help_to_heat/frontdoor/schemas.py:280 +#: help_to_heat/frontdoor/schemas.py:283 msgid "Northern Ireland" msgstr "Gogledd Iwerddon" -#: help_to_heat/frontdoor/schemas.py:287 help_to_heat/frontdoor/schemas.py:420 +#: help_to_heat/frontdoor/schemas.py:290 help_to_heat/frontdoor/schemas.py:423 msgid "Yes, I own my property and live in it" msgstr "Ydy, mae'r eiddo'n perthyn i mi a dwi'n byw ynddo" -#: help_to_heat/frontdoor/schemas.py:291 help_to_heat/frontdoor/schemas.py:421 +#: help_to_heat/frontdoor/schemas.py:294 help_to_heat/frontdoor/schemas.py:424 msgid "No, I am a tenant" msgstr "Nac ydy. Tenant ydw i" -#: help_to_heat/frontdoor/schemas.py:293 help_to_heat/frontdoor/schemas.py:301 +#: help_to_heat/frontdoor/schemas.py:296 help_to_heat/frontdoor/schemas.py:304 msgid "" "If you are eligible for a referral through this service, your energy " "supplier will need to check that you have your landlord’s " @@ -147,205 +147,205 @@ msgstr "" "i'ch cyflenwr ynni wirio bod gennych chi ganiatâd eich landlord i osod " "unrhyw fesurau arbed ynni yn yr eiddo." -#: help_to_heat/frontdoor/schemas.py:299 help_to_heat/frontdoor/schemas.py:422 +#: help_to_heat/frontdoor/schemas.py:302 help_to_heat/frontdoor/schemas.py:425 msgid "No, I am a social housing tenant" msgstr "Nac ydy. Dwi'n denant tai cymdeithasol" -#: help_to_heat/frontdoor/schemas.py:307 help_to_heat/frontdoor/schemas.py:423 +#: help_to_heat/frontdoor/schemas.py:310 help_to_heat/frontdoor/schemas.py:426 msgid "" "Yes, I am the property owner but I lease the property to one or more tenants" msgstr "" "Ydy, mae'r eiddo'n perthyn i mi ond dwi'n gosod yr eiddo i un neu ragor o " "denantiaid" -#: help_to_heat/frontdoor/schemas.py:313 +#: help_to_heat/frontdoor/schemas.py:316 msgctxt "park home question option" msgid "Yes" msgstr "Ydw" -#: help_to_heat/frontdoor/schemas.py:317 +#: help_to_heat/frontdoor/schemas.py:320 msgctxt "park home question option" msgid "No" msgstr "Nad ydw" -#: help_to_heat/frontdoor/schemas.py:323 help_to_heat/frontdoor/schemas.py:333 +#: help_to_heat/frontdoor/schemas.py:326 help_to_heat/frontdoor/schemas.py:336 msgid "Yes" msgstr "Ie" -#: help_to_heat/frontdoor/schemas.py:327 help_to_heat/frontdoor/schemas.py:337 +#: help_to_heat/frontdoor/schemas.py:330 help_to_heat/frontdoor/schemas.py:340 msgid "No" msgstr "Nage" -#: help_to_heat/frontdoor/schemas.py:341 help_to_heat/frontdoor/schemas.py:459 -#: help_to_heat/frontdoor/schemas.py:465 help_to_heat/frontdoor/schemas.py:479 -#: help_to_heat/frontdoor/schemas.py:591 help_to_heat/frontdoor/schemas.py:609 -#: help_to_heat/frontdoor/schemas.py:701 +#: help_to_heat/frontdoor/schemas.py:344 help_to_heat/frontdoor/schemas.py:462 +#: help_to_heat/frontdoor/schemas.py:468 help_to_heat/frontdoor/schemas.py:482 +#: help_to_heat/frontdoor/schemas.py:594 help_to_heat/frontdoor/schemas.py:612 +#: help_to_heat/frontdoor/schemas.py:704 msgid "I do not know" msgstr "Wn i ddim" -#: help_to_heat/frontdoor/schemas.py:346 +#: help_to_heat/frontdoor/schemas.py:349 msgid "Not found" msgstr "Heb ei ganfod" -#: help_to_heat/frontdoor/schemas.py:375 help_to_heat/frontdoor/schemas.py:426 +#: help_to_heat/frontdoor/schemas.py:378 help_to_heat/frontdoor/schemas.py:429 msgctxt "yes no question option" msgid "Yes" msgstr "Oes" -#: help_to_heat/frontdoor/schemas.py:379 help_to_heat/frontdoor/schemas.py:427 +#: help_to_heat/frontdoor/schemas.py:382 help_to_heat/frontdoor/schemas.py:430 msgctxt "yes no question option" msgid "No" msgstr "Nac oes" -#: help_to_heat/frontdoor/schemas.py:385 help_to_heat/frontdoor/schemas.py:430 +#: help_to_heat/frontdoor/schemas.py:388 help_to_heat/frontdoor/schemas.py:433 msgid "Less than £31,000 a year" msgstr "Llai na £31,000 y flwyddyn" -#: help_to_heat/frontdoor/schemas.py:389 help_to_heat/frontdoor/schemas.py:431 +#: help_to_heat/frontdoor/schemas.py:392 help_to_heat/frontdoor/schemas.py:434 msgid "£31,000 or more a year" msgstr "£31,000 y flwyddyn neu ragor" -#: help_to_heat/frontdoor/schemas.py:395 help_to_heat/frontdoor/schemas.py:434 +#: help_to_heat/frontdoor/schemas.py:398 help_to_heat/frontdoor/schemas.py:437 msgid "House" msgstr "Tŷ" -#: help_to_heat/frontdoor/schemas.py:399 help_to_heat/frontdoor/schemas.py:435 +#: help_to_heat/frontdoor/schemas.py:402 help_to_heat/frontdoor/schemas.py:438 msgid "Bungalow" msgstr "Byngalo" -#: help_to_heat/frontdoor/schemas.py:403 help_to_heat/frontdoor/schemas.py:436 +#: help_to_heat/frontdoor/schemas.py:406 help_to_heat/frontdoor/schemas.py:439 msgid "Apartment, flat or maisonette" msgstr "Rhandy, fflat neu fflat ddeulawr" -#: help_to_heat/frontdoor/schemas.py:408 +#: help_to_heat/frontdoor/schemas.py:411 msgid "house" msgstr "dŷ" -#: help_to_heat/frontdoor/schemas.py:409 +#: help_to_heat/frontdoor/schemas.py:412 msgid "bungalow" msgstr "fyngalo" -#: help_to_heat/frontdoor/schemas.py:410 +#: help_to_heat/frontdoor/schemas.py:413 msgid "apartment, flat or maisonette" msgstr "randy, fflat neu fflat ddeulawr" -#: help_to_heat/frontdoor/schemas.py:437 +#: help_to_heat/frontdoor/schemas.py:440 msgid "Park home" msgstr "" -#: help_to_heat/frontdoor/schemas.py:440 help_to_heat/frontdoor/schemas.py:507 -#: help_to_heat/frontdoor/schemas.py:529 +#: help_to_heat/frontdoor/schemas.py:443 help_to_heat/frontdoor/schemas.py:510 +#: help_to_heat/frontdoor/schemas.py:532 msgid "Detached" msgstr "Tŷ sengl" -#: help_to_heat/frontdoor/schemas.py:441 help_to_heat/frontdoor/schemas.py:512 -#: help_to_heat/frontdoor/schemas.py:534 +#: help_to_heat/frontdoor/schemas.py:444 help_to_heat/frontdoor/schemas.py:515 +#: help_to_heat/frontdoor/schemas.py:537 msgid "Semi-detached" msgstr "Tŷ pâr" -#: help_to_heat/frontdoor/schemas.py:442 help_to_heat/frontdoor/schemas.py:517 -#: help_to_heat/frontdoor/schemas.py:539 +#: help_to_heat/frontdoor/schemas.py:445 help_to_heat/frontdoor/schemas.py:520 +#: help_to_heat/frontdoor/schemas.py:542 msgid "Terraced" msgstr "Tŷ teras" -#: help_to_heat/frontdoor/schemas.py:443 help_to_heat/frontdoor/schemas.py:522 -#: help_to_heat/frontdoor/schemas.py:544 +#: help_to_heat/frontdoor/schemas.py:446 help_to_heat/frontdoor/schemas.py:525 +#: help_to_heat/frontdoor/schemas.py:547 msgid "End terrace" msgstr "Tŷ pen teras" -#: help_to_heat/frontdoor/schemas.py:444 help_to_heat/frontdoor/schemas.py:488 +#: help_to_heat/frontdoor/schemas.py:447 help_to_heat/frontdoor/schemas.py:491 msgid "Top floor" msgstr "Llawr uchaf" -#: help_to_heat/frontdoor/schemas.py:445 help_to_heat/frontdoor/schemas.py:493 +#: help_to_heat/frontdoor/schemas.py:448 help_to_heat/frontdoor/schemas.py:496 msgid "Middle floor" msgstr "Llawr canol" -#: help_to_heat/frontdoor/schemas.py:446 help_to_heat/frontdoor/schemas.py:498 +#: help_to_heat/frontdoor/schemas.py:449 help_to_heat/frontdoor/schemas.py:501 msgid "Ground floor" msgstr "Llawr daear" -#: help_to_heat/frontdoor/schemas.py:449 help_to_heat/frontdoor/schemas.py:552 +#: help_to_heat/frontdoor/schemas.py:452 help_to_heat/frontdoor/schemas.py:555 msgid "Studio" msgstr "Stiwdio" -#: help_to_heat/frontdoor/schemas.py:450 help_to_heat/frontdoor/schemas.py:556 +#: help_to_heat/frontdoor/schemas.py:453 help_to_heat/frontdoor/schemas.py:559 msgid "One bedroom" msgstr "Un ystafell wely" -#: help_to_heat/frontdoor/schemas.py:451 help_to_heat/frontdoor/schemas.py:560 +#: help_to_heat/frontdoor/schemas.py:454 help_to_heat/frontdoor/schemas.py:563 msgid "Two bedrooms" msgstr "Dwy ystafell wely" -#: help_to_heat/frontdoor/schemas.py:452 help_to_heat/frontdoor/schemas.py:564 +#: help_to_heat/frontdoor/schemas.py:455 help_to_heat/frontdoor/schemas.py:567 msgid "Three or more bedrooms" msgstr "Tair neu fwy o ystafelloedd gwely" -#: help_to_heat/frontdoor/schemas.py:455 help_to_heat/frontdoor/schemas.py:571 +#: help_to_heat/frontdoor/schemas.py:458 help_to_heat/frontdoor/schemas.py:574 msgid "Solid walls" msgstr "Waliau solet" -#: help_to_heat/frontdoor/schemas.py:456 help_to_heat/frontdoor/schemas.py:575 +#: help_to_heat/frontdoor/schemas.py:459 help_to_heat/frontdoor/schemas.py:578 msgid "Cavity walls" msgstr "Waliau ceudod" -#: help_to_heat/frontdoor/schemas.py:457 help_to_heat/frontdoor/schemas.py:579 +#: help_to_heat/frontdoor/schemas.py:460 help_to_heat/frontdoor/schemas.py:582 msgid "Mix of solid and cavity walls" msgstr "Cymysgedd o waliau solet a waliau ceudod" -#: help_to_heat/frontdoor/schemas.py:458 help_to_heat/frontdoor/schemas.py:583 +#: help_to_heat/frontdoor/schemas.py:461 help_to_heat/frontdoor/schemas.py:586 msgid "I do not see my option listed" msgstr "Dwi ddim yn gweld bod fy opsiwn i wedi'i restru" -#: help_to_heat/frontdoor/schemas.py:462 help_to_heat/frontdoor/schemas.py:597 +#: help_to_heat/frontdoor/schemas.py:465 help_to_heat/frontdoor/schemas.py:600 msgid "Yes they are all insulated" msgstr "Ydyn, maen nhw i gyd wedi'u hinswleiddio" -#: help_to_heat/frontdoor/schemas.py:463 help_to_heat/frontdoor/schemas.py:601 +#: help_to_heat/frontdoor/schemas.py:466 help_to_heat/frontdoor/schemas.py:604 msgid "Some are insulated, some are not" msgstr "Mae rhai wedi'u eu hinswleiddio, mae rhai heb" -#: help_to_heat/frontdoor/schemas.py:464 help_to_heat/frontdoor/schemas.py:605 +#: help_to_heat/frontdoor/schemas.py:467 help_to_heat/frontdoor/schemas.py:608 msgid "No they are not insulated" msgstr "Na, dydyn nhw ddim wedi'u hinswleiddio" -#: help_to_heat/frontdoor/schemas.py:468 help_to_heat/frontdoor/schemas.py:615 +#: help_to_heat/frontdoor/schemas.py:471 help_to_heat/frontdoor/schemas.py:618 msgid "Yes, I have a loft that has not been converted into a room" msgstr "Oes, mae gen i atig sydd heb ei droi'n ystafell" -#: help_to_heat/frontdoor/schemas.py:469 help_to_heat/frontdoor/schemas.py:619 +#: help_to_heat/frontdoor/schemas.py:472 help_to_heat/frontdoor/schemas.py:622 msgid "No, I do not have a loft or my loft has been converted into a room" msgstr "Nac oes, does gen i ddim atig neu mae fy atig i wedi'i droi'n ystafell" -#: help_to_heat/frontdoor/schemas.py:472 help_to_heat/frontdoor/schemas.py:625 +#: help_to_heat/frontdoor/schemas.py:475 help_to_heat/frontdoor/schemas.py:628 msgid "Yes, there is access to my loft" msgstr "Oes, mae modd mynd i'r atig" -#: help_to_heat/frontdoor/schemas.py:473 help_to_heat/frontdoor/schemas.py:629 +#: help_to_heat/frontdoor/schemas.py:476 help_to_heat/frontdoor/schemas.py:632 msgid "No, there is no access to my loft" msgstr "Nac oes, does dim modd mynd i'r atig" -#: help_to_heat/frontdoor/schemas.py:474 help_to_heat/frontdoor/schemas.py:480 +#: help_to_heat/frontdoor/schemas.py:477 help_to_heat/frontdoor/schemas.py:483 msgid "No loft" msgstr "Dim atig" -#: help_to_heat/frontdoor/schemas.py:477 help_to_heat/frontdoor/schemas.py:693 +#: help_to_heat/frontdoor/schemas.py:480 help_to_heat/frontdoor/schemas.py:696 msgid "I have more than 100mm of loft insulation" msgstr "Mae gen i fwy na 100mm o inswleiddiad atig" -#: help_to_heat/frontdoor/schemas.py:478 help_to_heat/frontdoor/schemas.py:697 +#: help_to_heat/frontdoor/schemas.py:481 help_to_heat/frontdoor/schemas.py:700 msgid "I have up to 100mm of loft insulation" msgstr "Mae gen i hyd at 100mm o inswleiddiad atig" -#: help_to_heat/frontdoor/schemas.py:489 +#: help_to_heat/frontdoor/schemas.py:492 msgid "Sits directly below the roof with no other flat above it" msgstr "Yn gorwedd yn union o dan y to heb unrhyw fflat arall uwch ei phen" -#: help_to_heat/frontdoor/schemas.py:494 +#: help_to_heat/frontdoor/schemas.py:497 msgid "Has another flat above, and another below" msgstr "Mae fflat arall uwchben, ac un arall odani" -#: help_to_heat/frontdoor/schemas.py:500 +#: help_to_heat/frontdoor/schemas.py:503 msgid "" "The lowest flat in the building with no flat beneath - typically at street " "level but may be a basement" @@ -353,24 +353,24 @@ msgstr "" "Y fflat isaf yn yr adeilad heb fflat odani - fel arfer ar lefel y stryd ond " "gall fod yn islawr" -#: help_to_heat/frontdoor/schemas.py:508 help_to_heat/frontdoor/schemas.py:530 +#: help_to_heat/frontdoor/schemas.py:511 help_to_heat/frontdoor/schemas.py:533 msgid "Does not share any of its walls with another house or building" msgstr "Nid yw'n rhannu unrhyw un o'i waliau â thŷ neu adeilad arall" -#: help_to_heat/frontdoor/schemas.py:513 help_to_heat/frontdoor/schemas.py:535 +#: help_to_heat/frontdoor/schemas.py:516 help_to_heat/frontdoor/schemas.py:538 msgid "Is attached to one other house or building" msgstr "Mae wedi'i gysylltu ag un tŷ neu adeilad arall" -#: help_to_heat/frontdoor/schemas.py:518 help_to_heat/frontdoor/schemas.py:540 +#: help_to_heat/frontdoor/schemas.py:521 help_to_heat/frontdoor/schemas.py:543 msgid "Sits in the middle with a house or building on each side" msgstr "Yn sefyll yn y canol gyda thŷ neu adeilad o boptu iddo" -#: help_to_heat/frontdoor/schemas.py:523 help_to_heat/frontdoor/schemas.py:545 +#: help_to_heat/frontdoor/schemas.py:526 help_to_heat/frontdoor/schemas.py:548 msgid "" "Sits at the end of a row of similar houses with one house attached to it" msgstr "Yn sefyll ar ben rhes o dai tebyg gydag un tŷ ynghlwm wrtho" -#: help_to_heat/frontdoor/schemas.py:585 +#: help_to_heat/frontdoor/schemas.py:588 msgid "" "Other wall types could include cob walls, timber framed, system built, steel " "framed or other non-traditional build types" @@ -378,173 +378,173 @@ msgstr "" "Gallai mathau eraill o waliau gynnwys waliau cob, waliau ffrâm pren, " "adeiladu system, fframiau dur neu fathau eraill o adeiladau anhraddodiadol" -#: help_to_heat/frontdoor/schemas.py:646 +#: help_to_heat/frontdoor/schemas.py:649 msgid "Bulb, now part of Octopus Energy" msgstr "Bulb, sydd bellach yn rhan o Octopus" -#: help_to_heat/frontdoor/schemas.py:712 +#: help_to_heat/frontdoor/schemas.py:715 msgid "Completely agree" msgstr "Cytuno'n llwyr" -#: help_to_heat/frontdoor/schemas.py:716 +#: help_to_heat/frontdoor/schemas.py:719 msgid "Agree" msgstr "Cytuno" -#: help_to_heat/frontdoor/schemas.py:720 +#: help_to_heat/frontdoor/schemas.py:723 msgid "Neutral" msgstr "Niwtral" -#: help_to_heat/frontdoor/schemas.py:724 +#: help_to_heat/frontdoor/schemas.py:727 msgid "Disagree" msgstr "Anghytuno" -#: help_to_heat/frontdoor/schemas.py:728 +#: help_to_heat/frontdoor/schemas.py:731 msgid "Completely disagree" msgstr "Anghytuno'n llwyr" -#: help_to_heat/frontdoor/schemas.py:735 +#: help_to_heat/frontdoor/schemas.py:738 msgid "Very satisfied" msgstr "Bodlon iawn" -#: help_to_heat/frontdoor/schemas.py:739 +#: help_to_heat/frontdoor/schemas.py:742 msgid "Somewhat satisfied" msgstr "Eithaf bodlon" -#: help_to_heat/frontdoor/schemas.py:743 +#: help_to_heat/frontdoor/schemas.py:746 msgid "Neither satisfied nor dissatisfied" msgstr "Ddim yn fodlon nac yn anfodlon" -#: help_to_heat/frontdoor/schemas.py:747 +#: help_to_heat/frontdoor/schemas.py:750 msgid "Somewhat dissatisfied" msgstr "Eithaf anfodlon" -#: help_to_heat/frontdoor/schemas.py:751 +#: help_to_heat/frontdoor/schemas.py:754 msgid "Very dissatisfied" msgstr "Anfodlon iawn" -#: help_to_heat/frontdoor/schemas.py:758 +#: help_to_heat/frontdoor/schemas.py:761 msgid "To find ways to reduce my energy bills" msgstr "Dod o hyd i ffyrdd i leihau fy miliau ynni" -#: help_to_heat/frontdoor/schemas.py:762 +#: help_to_heat/frontdoor/schemas.py:765 msgid "To find ways to reduce my carbon emissions" msgstr "Dod o hyd i ffyrdd i leihau fy allyriadau carbon" -#: help_to_heat/frontdoor/schemas.py:766 +#: help_to_heat/frontdoor/schemas.py:769 msgid "To find ways to install a specific measure in my home" msgstr "Dod o hyd i ffyrdd o osod mesur penodol yn fy nghartref" -#: help_to_heat/frontdoor/schemas.py:770 +#: help_to_heat/frontdoor/schemas.py:773 msgid "To find ways to improve my EPC rating" msgstr "Dod o hyd i ffyrdd i wella fy sgôr EPC" -#: help_to_heat/frontdoor/schemas.py:774 +#: help_to_heat/frontdoor/schemas.py:777 msgid "To find ways to make my home more comfortable" msgstr "Dod o hyd i ffyrdd i wneud fy nghartref yn fwy cyffyrddus" -#: help_to_heat/frontdoor/schemas.py:778 +#: help_to_heat/frontdoor/schemas.py:781 msgid "Other" msgstr "Arall" -#: help_to_heat/frontdoor/schemas.py:865 +#: help_to_heat/frontdoor/schemas.py:869 msgid "Enter a valid UK postcode" msgstr "Rhowch god post dilys yn y Deyrnas Unedig" -#: help_to_heat/frontdoor/schemas.py:870 +#: help_to_heat/frontdoor/schemas.py:874 msgid "Invalid email format" msgstr "Fformat ebost annilys" -#: help_to_heat/frontdoor/schemas.py:880 help_to_heat/frontdoor/schemas.py:884 +#: help_to_heat/frontdoor/schemas.py:884 help_to_heat/frontdoor/schemas.py:888 msgid "" "Enter a telephone number, like 01632 960 001, 07700 900 982 or +44 808 157 " "0192" msgstr "Rhowch rif ffôn, fel 01632 960 001, 07700 900 982 neu +44 808 157 0192" -#: help_to_heat/frontdoor/schemas.py:896 +#: help_to_heat/frontdoor/schemas.py:900 msgid "Energy Company Obligation 4" msgstr "Rhwymedigaeth Cwmni Ynni 4" -#: help_to_heat/frontdoor/schemas.py:897 +#: help_to_heat/frontdoor/schemas.py:901 msgid "Great British Insulation Scheme" msgstr "Cynllun Inswleiddio Mawr Prydain" -#: help_to_heat/frontdoor/views.py:198 +#: help_to_heat/frontdoor/views.py:200 msgid "Select where the property is located" msgstr "Dewiswch beth yw lleoliad yr eiddo" -#: help_to_heat/frontdoor/views.py:199 +#: help_to_heat/frontdoor/views.py:201 msgid "Select if you own the property" msgstr "Dewiswch os yw'r eiddo'n perthyn i chi" -#: help_to_heat/frontdoor/views.py:200 +#: help_to_heat/frontdoor/views.py:202 msgid "Select if you live in a park home" msgstr "Dewiswch os ydych chi’n byw mewn aelwyd mewn parc " -#: help_to_heat/frontdoor/views.py:201 +#: help_to_heat/frontdoor/views.py:203 msgid "Select if the park home is your main residence" msgstr "Dewiswch os eich aelwyd mewn parc yw’ch prif breswylfa " -#: help_to_heat/frontdoor/views.py:202 +#: help_to_heat/frontdoor/views.py:204 msgid "Enter building name or number" msgstr "Rhowch enw neu rif yr adeilad" -#: help_to_heat/frontdoor/views.py:203 +#: help_to_heat/frontdoor/views.py:205 msgid "Enter Address line 1" msgstr "Rhowch linell 1 y cyfeiriad" -#: help_to_heat/frontdoor/views.py:204 +#: help_to_heat/frontdoor/views.py:206 msgid "Enter a postcode" msgstr "Rhowch god post" -#: help_to_heat/frontdoor/views.py:205 help_to_heat/frontdoor/views.py:206 +#: help_to_heat/frontdoor/views.py:207 help_to_heat/frontdoor/views.py:208 msgid "" "Select your address, or I can't find my address if your address is not listed" msgstr "" "Dewiswch eich cyfeiriad, neu ‘Dwi’n methu gweld fy nghyfeiriad i’ os nad " "yw'ch cyfeiriad wedi'i restru" -#: help_to_heat/frontdoor/views.py:207 +#: help_to_heat/frontdoor/views.py:209 msgid "Enter your Town or city" msgstr "Rhowch eich tref neu'ch dinas" -#: help_to_heat/frontdoor/views.py:208 +#: help_to_heat/frontdoor/views.py:210 msgid "Please confirm that you want to submit another referral" msgstr "A wnewch chi gadarnhau eich bod eisiau cyflwyno atgyfeiriad arall" -#: help_to_heat/frontdoor/views.py:209 +#: help_to_heat/frontdoor/views.py:211 msgid "Enter the Council Tax Band of the property" msgstr "Rhowch Fand Treth Gyngor yr eiddo" -#: help_to_heat/frontdoor/views.py:210 +#: help_to_heat/frontdoor/views.py:212 msgid "Select if your EPC rating is correct or not, or that you do not know" msgstr "" "Dewiswch a yw eich cyfraddiad EPC yn gywir neu beidio, neu nad ydych chi'n " "gwybod" -#: help_to_heat/frontdoor/views.py:211 +#: help_to_heat/frontdoor/views.py:213 msgid "" "Select if anyone in your household is receiving any benefits listed below" msgstr "" "Dewiswch a oes unrhyw un yn eich aelwyd chi'n cael unrhyw un neu ragor o'r " "budd-daliadau isod" -#: help_to_heat/frontdoor/views.py:212 +#: help_to_heat/frontdoor/views.py:214 msgid "Select your household income" msgstr "Dewiswch incwm eich aelwyd" -#: help_to_heat/frontdoor/views.py:213 help_to_heat/frontdoor/views.py:214 +#: help_to_heat/frontdoor/views.py:215 help_to_heat/frontdoor/views.py:216 msgid "Select your property type" msgstr "Dewiswch eich math o eiddo" -#: help_to_heat/frontdoor/views.py:215 +#: help_to_heat/frontdoor/views.py:217 msgid "Select the number of bedrooms the property has" msgstr "Dewiswch nifer yr ystafelloedd gwely sydd gan yr eiddo" -#: help_to_heat/frontdoor/views.py:216 +#: help_to_heat/frontdoor/views.py:218 msgid "Select the type of walls the property has" msgstr "Dewiswch y math o waliau sydd gan yr eiddo" -#: help_to_heat/frontdoor/views.py:217 +#: help_to_heat/frontdoor/views.py:219 msgid "" "Select if the walls of the property are insulated or not, or if you do not " "know" @@ -552,40 +552,40 @@ msgstr "" "Dewiswch a ydy waliau'r eiddo wedi'u hinswleiddio neu beidio, neu nad ydych " "chi'n gwybod" -#: help_to_heat/frontdoor/views.py:218 +#: help_to_heat/frontdoor/views.py:220 msgid "Select if you have a loft that has been converted into a room or not" msgstr "Dewiswch a oes gennych chi atig sydd wedi'i droi'n ystafell neu beidio" -#: help_to_heat/frontdoor/views.py:219 +#: help_to_heat/frontdoor/views.py:221 msgid "Select whether or not you have access to the loft" msgstr "Dewiswch a oes modd mynd i'r atig neu beidio" -#: help_to_heat/frontdoor/views.py:220 +#: help_to_heat/frontdoor/views.py:222 msgid "Select whether or not your loft is fully insulated" msgstr "Dewiswch a ydy'ch atig wedi'i inswleiddio'n llawn neu beidio" -#: help_to_heat/frontdoor/views.py:221 +#: help_to_heat/frontdoor/views.py:223 #: help_to_heat/templates/frontdoor/supplier.html:14 msgid "Select your home energy supplier from the list below" msgstr "Dewiswch eich cyflenwr ynni cartref chi o blith y rhestr isod" -#: help_to_heat/frontdoor/views.py:222 +#: help_to_heat/frontdoor/views.py:224 msgid "Enter your first name" msgstr "Rhowch eich enw cyntaf" -#: help_to_heat/frontdoor/views.py:223 +#: help_to_heat/frontdoor/views.py:225 msgid "Enter your last name" msgstr "Rhowch eich enw olaf" -#: help_to_heat/frontdoor/views.py:224 +#: help_to_heat/frontdoor/views.py:226 msgid "Enter your email address" msgstr "Rhowch eich cyfeiriad ebost" -#: help_to_heat/frontdoor/views.py:225 +#: help_to_heat/frontdoor/views.py:227 msgid "Enter your contact number" msgstr "Rhowch eich rhif ffôn" -#: help_to_heat/frontdoor/views.py:227 help_to_heat/frontdoor/views.py:230 +#: help_to_heat/frontdoor/views.py:229 help_to_heat/frontdoor/views.py:232 msgid "" "Please confirm that you agree to the use of your information by checking " "this box" @@ -593,7 +593,7 @@ msgstr "" "Rhowch gadarnhad eich bod yn cytuno i'ch gwybodaeth gael ei defnyddio drwy " "roi tic yn y blwch hwn" -#: help_to_heat/frontdoor/views.py:233 +#: help_to_heat/frontdoor/views.py:235 msgid "" "Please confirm that you understand your home must be sufficiently ventilated " "before any insulation is installed" @@ -601,7 +601,7 @@ msgstr "" "Rhowch gadarnhad eich bod yn deall bod rhaid bod i’ch cartref fod wedi’i " "awyru’n ddigonol cyn i unrhyw inswleiddiad gael ei osod" -#: help_to_heat/frontdoor/views.py:237 +#: help_to_heat/frontdoor/views.py:239 msgid "" "Please confirm that you understand you may be required to contribute towards " "the cost of installing insulation" @@ -609,55 +609,55 @@ msgstr "" "Rhowch gadarnhad eich bod yn deall y gall fod angen ichi gyfrannu at gost " "gosod inswleiddiad" -#: help_to_heat/frontdoor/views.py:242 +#: help_to_heat/frontdoor/views.py:244 msgid "January" msgstr "Ionawr" -#: help_to_heat/frontdoor/views.py:243 +#: help_to_heat/frontdoor/views.py:245 msgid "February" msgstr "Chwefror" -#: help_to_heat/frontdoor/views.py:244 +#: help_to_heat/frontdoor/views.py:246 msgid "March" msgstr "Mawrth" -#: help_to_heat/frontdoor/views.py:245 +#: help_to_heat/frontdoor/views.py:247 msgid "April" msgstr "Ebrill" -#: help_to_heat/frontdoor/views.py:246 +#: help_to_heat/frontdoor/views.py:248 msgid "May" msgstr "Mai" -#: help_to_heat/frontdoor/views.py:247 +#: help_to_heat/frontdoor/views.py:249 msgid "June" msgstr "Mehefin" -#: help_to_heat/frontdoor/views.py:248 +#: help_to_heat/frontdoor/views.py:250 msgid "July" msgstr "Gorffennaf" -#: help_to_heat/frontdoor/views.py:249 +#: help_to_heat/frontdoor/views.py:251 msgid "August" msgstr "Awst" -#: help_to_heat/frontdoor/views.py:250 +#: help_to_heat/frontdoor/views.py:252 msgid "September" msgstr "Medi" -#: help_to_heat/frontdoor/views.py:251 +#: help_to_heat/frontdoor/views.py:253 msgid "October" msgstr "Hydref" -#: help_to_heat/frontdoor/views.py:252 +#: help_to_heat/frontdoor/views.py:254 msgid "November" msgstr "Tachwedd" -#: help_to_heat/frontdoor/views.py:253 +#: help_to_heat/frontdoor/views.py:255 msgid "December" msgstr "Rhagfyr" -#: help_to_heat/frontdoor/views.py:635 help_to_heat/frontdoor/views.py:710 +#: help_to_heat/frontdoor/views.py:637 help_to_heat/frontdoor/views.py:712 msgid "I cannot find my address, I want to enter it manually" msgstr "Dwi'n methu gweld fy nghyfeiriad i. Hoffwn ei roi fy hunan." @@ -970,6 +970,7 @@ msgstr "" "Beth os ydw i wedi cael Tystysgrif Perfformiad Ynni newydd yn ddiweddar?" #: help_to_heat/templates/frontdoor/address-select.html:36 +#: help_to_heat/templates/frontdoor/no-epc.html:22 #, python-format msgid "" "If your property has had a new EPC issued since 1 %(current_month)s, we may " @@ -2061,6 +2062,55 @@ msgstr "" "ddefnyddio fel lle byw gyda waliau a nenfydau gorffenedig, yna mae'r atig " "wedi'i droi'n ystafell." +#: help_to_heat/templates/frontdoor/no-epc.html:5 +msgid "" +"We could not find and Energy Performance Certificate for your property - " +"Check eligibility for Great British Insulation Scheme - GOV.UK" +msgstr "" +"Rydyn ni wedi methu dod o hyd i Dystysgrif Perfformiad Ynni ar gyfer eich " +"eiddo chi - Gwirio’ch cymhwystra ar gyfer Cynllun Inswleiddio Mawr Prydain - " +"GOV.UK" + +#: help_to_heat/templates/frontdoor/no-epc.html:10 +msgid "We could not find an Energy Performance Certificate for your property" +msgstr "" +"Rydyn ni wedi methu dod o hyd i Dystysgrif Perfformiad Ynni ar gyfer eich " +"eiddo chi" + +#: help_to_heat/templates/frontdoor/no-epc.html:12 +msgid "This may be because:" +msgstr "Rhesymau posibl am hyn yw:" + +#: help_to_heat/templates/frontdoor/no-epc.html:15 +msgid "your property was issued an EPC within the last month" +msgstr "bod EPC wedi’i rhoi i'ch eiddo yn y mis diwethaf" + +#: help_to_heat/templates/frontdoor/no-epc.html:17 +msgid "your property was issued an EPC within the last quarter" +msgstr "bod EPC wedi’i rhoi i'ch eiddo yn y chwarter diwethaf" + +#: help_to_heat/templates/frontdoor/no-epc.html:19 +msgid "your property has not previously been issued an EPC" +msgstr "nad oes EPC wedi’i rhoi i’ch eiddo o'r blaen" + +#: help_to_heat/templates/frontdoor/no-epc.html:24 +#, python-format +msgid "" +"If your property was issued an EPC since 1 %(current_quarter_month)s, we may " +"not be able to find it in our database because it is updated quarterly. " +"Please return to this service after 1 %(next_quarter_month)s when we expect " +"the database to have been updated." +msgstr "" +"Os yw’ch eiddo wedi cael EPC ers 1 %(current_quarter_month)s, efallai na " +"fyddwn yn gallu dod o hyd iddi yn ein cronfa ddata am mai bob chwarter y " +"bydd honno’n cael ei diweddaru. Dewch yn ôl i’r gwasanaeth yma ar ôl 1 " +"%(next_quarter_month)s pan ydyn ni’n disgwyl y bydd y gronfa ddata wedi'i " +"diweddaru." + +#: help_to_heat/templates/frontdoor/no-epc.html:27 +msgid "You may continue using this service without an EPC." +msgstr "Cewch barhau i ddefnyddio'r gwasanaeth yma heb EPC." + #: help_to_heat/templates/frontdoor/northern-ireland.html:4 msgid "" "Northern Ireland - Check eligibility for Great British Insulation Scheme - " From 7c53c8e8b855d680c7949f65ff2d770dcbab34a2 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Thu, 24 Oct 2024 17:42:21 +0100 Subject: [PATCH 06/18] PC-1380: remove EPC warning dropdown on address select --- help_to_heat/frontdoor/views.py | 8 --- help_to_heat/locale/cy/LC_MESSAGES/django.mo | Bin 95332 -> 94949 bytes help_to_heat/locale/cy/LC_MESSAGES/django.po | 61 +++++++++--------- .../templates/frontdoor/address-select.html | 16 ----- 4 files changed, 29 insertions(+), 56 deletions(-) diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index 2e6bd4f4..34919e98 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -688,16 +688,11 @@ def save_post_data(self, data, session_id, page_name): @register_page(address_select_page) class AddressSelectView(PageView): def build_extra_context(self, request, session_id, page_name, data, is_change_page): - session_data = interface.api.session.get_session(session_id) - show_epc_update_details = session_data.get(country_field) in [country_field_wales, country_field_england] - data = interface.api.session.get_answer(session_id, address_page) building_name_or_number = data[address_building_name_or_number_field] postcode = data[address_postcode_field] addresses = interface.api.address.find_addresses(building_name_or_number, postcode) - current_month, next_month = utils.get_current_and_next_month_names(month_names) - uprn_options = tuple( { "value": a["uprn"], @@ -717,9 +712,6 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa return { "uprn_options": uprn_options, "manual_url": page_name_to_url(session_id, address_select_manual_page, is_change_page), - "current_month": current_month, - "next_month": next_month, - "show_epc_update_details": show_epc_update_details, "fallback_option": fallback_option, } diff --git a/help_to_heat/locale/cy/LC_MESSAGES/django.mo b/help_to_heat/locale/cy/LC_MESSAGES/django.mo index c08e408461c72300fe807d1ece39540fd24d5eb3..2b8f46e461de4639cfa4947391c3f81f8283b68b 100644 GIT binary patch delta 10346 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 OHK_XY#f8Qxum1yE>N|S? delta 10559 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 HKY0BgtTKeH diff --git a/help_to_heat/locale/cy/LC_MESSAGES/django.po b/help_to_heat/locale/cy/LC_MESSAGES/django.po index f88293d5..e0954c11 100644 --- a/help_to_heat/locale/cy/LC_MESSAGES/django.po +++ b/help_to_heat/locale/cy/LC_MESSAGES/django.po @@ -657,7 +657,7 @@ msgstr "Tachwedd" msgid "December" msgstr "Rhagfyr" -#: help_to_heat/frontdoor/views.py:637 help_to_heat/frontdoor/views.py:712 +#: help_to_heat/frontdoor/views.py:637 help_to_heat/frontdoor/views.py:707 msgid "I cannot find my address, I want to enter it manually" msgstr "Dwi'n methu gweld fy nghyfeiriad i. Hoffwn ei roi fy hunan." @@ -963,37 +963,6 @@ msgstr "Heb ddod o hyd i unrhyw gyfeiriadau" msgid "Enter address manually" msgstr "Rhowch y cyfeiriad eich hunan" -#: help_to_heat/templates/frontdoor/address-select.html:32 -#: help_to_heat/templates/frontdoor/epc.html:19 -msgid "What if I have had a new EPC issued recently?" -msgstr "" -"Beth os ydw i wedi cael Tystysgrif Perfformiad Ynni newydd yn ddiweddar?" - -#: help_to_heat/templates/frontdoor/address-select.html:36 -#: help_to_heat/templates/frontdoor/no-epc.html:22 -#, python-format -msgid "" -"If your property has had a new EPC issued since 1 %(current_month)s, we may " -"not be able to find it in our database because it is only updated monthly. " -"Please return to this service after 1 %(next_month)s when we expect the " -"database to have been updated." -msgstr "" -"Os oes Tystysgrif Perfformiad Ynni newydd wedi cael ei chyhoeddi ar gyfer " -"eich eiddo ers 1 %(current_month)s, efallai na fyddwn yn gallu dod o hyd " -"iddi yn ein cronfa ddata gan mai dim ond yn fisol y caiff ei diweddaru. " -"Dewch yn ôl at y gwasanaeth hwn ar ôl 1 %(next_month)s. Disgwyliwn y bydd y " -"gronfa ddata wedi cael ei diweddaru erbyn hynny." - -#: help_to_heat/templates/frontdoor/address-select.html:38 -msgid "" -"You can continue without your EPC having been found by this service, but the " -"energy supplier you have selected may not be able to help if they do not " -"have your new EPC." -msgstr "" -"Gallwch barhau heb i’r gwasanaeth hwn ddod o hyd i’ch Tystysgrif Perfformiad " -"Ynni, ond efallai na fydd y cyflenwr ynni rydych chi wedi’i ddewis yn gallu " -"helpu heb gael eich tystysgrif newydd." - #: help_to_heat/templates/frontdoor/address.html:5 msgid "" "What is the property address? - Check eligibility for Great British " @@ -1570,6 +1539,11 @@ msgstr "" "Fe allai'r dystysgrif yma fod wedi'i chofrestru ar gyfer eich eiddo chi neu " "un o'r eiddo cyfagos sy'n rhannu rhan o'ch cyfeiriad." +#: help_to_heat/templates/frontdoor/epc.html:19 +msgid "What if I have had a new EPC issued recently?" +msgstr "" +"Beth os ydw i wedi cael Tystysgrif Perfformiad Ynni newydd yn ddiweddar?" + #: help_to_heat/templates/frontdoor/epc.html:23 #, python-format msgid "" @@ -2093,6 +2067,20 @@ msgstr "bod EPC wedi’i rhoi i'ch eiddo yn y chwarter diwethaf" msgid "your property has not previously been issued an EPC" msgstr "nad oes EPC wedi’i rhoi i’ch eiddo o'r blaen" +#: help_to_heat/templates/frontdoor/no-epc.html:22 +#, python-format +msgid "" +"If your property has had a new EPC issued since 1 %(current_month)s, we may " +"not be able to find it in our database because it is only updated monthly. " +"Please return to this service after 1 %(next_month)s when we expect the " +"database to have been updated." +msgstr "" +"Os oes Tystysgrif Perfformiad Ynni newydd wedi cael ei chyhoeddi ar gyfer " +"eich eiddo ers 1 %(current_month)s, efallai na fyddwn yn gallu dod o hyd " +"iddi yn ein cronfa ddata gan mai dim ond yn fisol y caiff ei diweddaru. " +"Dewch yn ôl at y gwasanaeth hwn ar ôl 1 %(next_month)s. Disgwyliwn y bydd y " +"gronfa ddata wedi cael ei diweddaru erbyn hynny." + #: help_to_heat/templates/frontdoor/no-epc.html:24 #, python-format msgid "" @@ -3576,3 +3564,12 @@ msgstr "Darganfyddwch a allwch chi gael cymorth gan eich cyngor lleol drwy'r " #: help_to_heat/templates/macros.html:141 msgid "Household Support Fund" msgstr "Gronfa Cymorth i Aelwydydd" + +#~ msgid "" +#~ "You can continue without your EPC having been found by this service, but " +#~ "the energy supplier you have selected may not be able to help if they do " +#~ "not have your new EPC." +#~ msgstr "" +#~ "Gallwch barhau heb i’r gwasanaeth hwn ddod o hyd i’ch Tystysgrif " +#~ "Perfformiad Ynni, ond efallai na fydd y cyflenwr ynni rydych chi wedi’i " +#~ "ddewis yn gallu helpu heb gael eich tystysgrif newydd." diff --git a/help_to_heat/templates/frontdoor/address-select.html b/help_to_heat/templates/frontdoor/address-select.html index 405b68a0..5c09d553 100644 --- a/help_to_heat/templates/frontdoor/address-select.html +++ b/help_to_heat/templates/frontdoor/address-select.html @@ -23,22 +23,6 @@

{{_("Enter address manually")}}

{% endif %} - - {% if show_epc_update_details %} -
-
- - - {{_("What if I have had a new EPC issued recently?") }} - - -
- {{_("If your property has had a new EPC issued since 1 %(current_month)s, we may not be able to find it in our database because it is only updated monthly. Please return to this service after 1 %(next_month)s when we expect the database to have been updated.") % { "current_month": current_month, "next_month": next_month }}} -
- {{_("You can continue without your EPC having been found by this service, but the energy supplier you have selected may not be able to help if they do not have your new EPC.")}} -
-
- {% endif %} {% endcall %} From 6b9d3be936d8f8effe02a68a5f4716f9a2373085 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Fri, 25 Oct 2024 11:02:28 +0100 Subject: [PATCH 07/18] PC-1342: add text to epc page for scottish routes --- help_to_heat/frontdoor/views.py | 10 ++++++++-- help_to_heat/templates/frontdoor/epc.html | 9 ++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index 34919e98..ccbbb2cc 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -822,7 +822,10 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa session_data = interface.api.session.get_session(session_id) address = session_data.get(address_field) - show_epc_update_details = session_data.get(country_field) in [country_field_wales, country_field_england] + show_monthly_epc_update_details = session_data.get(country_field) in [ + country_field_wales, + country_field_england, + ] epc = session_data.get(epc_details_field) @@ -838,6 +841,7 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa gds_epc_date = "" current_month, next_month = utils.get_current_and_next_month_names(month_names) + current_quarter_month, next_quarter_month = utils.get_current_and_next_quarter_month_names(month_names) context = { "epc_rating": epc_band.upper() if epc_band else "", @@ -845,9 +849,11 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa "epc_date": epc_date, "current_month": current_month, "next_month": next_month, + "current_quarter_month": current_quarter_month, + "next_quarter_month": next_quarter_month, "epc_display_options": schemas.epc_display_options_map, "address": address, - "show_epc_update_details": show_epc_update_details, + "show_monthly_epc_update_details": show_monthly_epc_update_details, } return context diff --git a/help_to_heat/templates/frontdoor/epc.html b/help_to_heat/templates/frontdoor/epc.html index 1c9650e5..722237b7 100644 --- a/help_to_heat/templates/frontdoor/epc.html +++ b/help_to_heat/templates/frontdoor/epc.html @@ -12,7 +12,7 @@

{{_("We found an Energy Performance Certificate that might be yours")}}

{{_("This certificate may be registered to your property or one of the properties nearby that shares part of your address.")}}

- {% if show_epc_update_details %} +
@@ -20,12 +20,15 @@

{{_("We found an Energy Performance Certificate that

- {{_("If your property has had a new EPC issued since 1 %(current_month)s, we may not be able to find it in our database because it is only updated monthly. If you do not recognise the EPC below as your most recent one, please return to this service after 1 %(next_month)s when we expect the database to have been updated.") % { "current_month": current_month, "next_month": next_month }}} + {% if show_monthly_epc_update_details %} + {{_("If your property has had a new EPC issued since 1 %(current_month)s, we may not be able to find it in our database because it is only updated monthly. If you do not recognise the EPC below as your most recent one, please return to this service after 1 %(next_month)s when we expect the database to have been updated.") % { "current_month": current_month, "next_month": next_month }}} + {% else %} + {{_("If your property has had a new EPC issued since 1 %(current_quarter_month)s, we may not be able to find it in our database because it is only updated quarterly. If you do not recognise the EPC below as your most recent one, please return to this service after 1 %(next_quarter_month)s when we expect the database to have been updated.") % { "current_quarter_month": current_quarter_month, "next_quarter_month": next_quarter_month }}} + {% endif %}
{{_("You can continue with your old EPC but the energy supplier you have selected may not be able to help based on an out-of-date EPC")}}
- {% endif %}
From b95c641a55c74d81c2be1314aa75a4af826bf6ec Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Mon, 28 Oct 2024 11:32:50 +0000 Subject: [PATCH 08/18] PC-1342: add translations --- help_to_heat/locale/cy/LC_MESSAGES/django.mo | Bin 94949 -> 95750 bytes help_to_heat/locale/cy/LC_MESSAGES/django.po | 30 ++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/help_to_heat/locale/cy/LC_MESSAGES/django.mo b/help_to_heat/locale/cy/LC_MESSAGES/django.mo index 2b8f46e461de4639cfa4947391c3f81f8283b68b..418e467c403e6faa8e0d73b1e09b46785c3d0156 100644 GIT binary patch delta 12671 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 AMgRZ+ delta 12455 zcmY+~2YgT0`@r#Y5s}Cs39-^7B9R!0APItmED=O%kBG#G8B~;7*IuQfDJrVAS~Y7# zi&|B!)~04#TT`=Is-^$WbInY`n_3JBD z65Hb{?1podGL?!@%G*#X58JU~ZKP6}_%8-xk0_=3;uP$PMHtBTi4Bx;BOlaIDY@1$ z=#9%z_S=oJ{u)-q`{;m@r=CnVpuKX#)V<(hH@Cnil z)FX7o;#_VSEQ@jnRnZwo+4Ymrll&tri)&H#--B|zAFvhra}syVL3uRe<7xjE6y{J7 zhUZc4sAPg}a(9#i)J8{~hygeg<$^v(Iq^P}6Q4%9jk<|);gu8h@j`6t+D79r*2gE( z{ya9dlZu}B1S?}Z+P^yvL3sqnu?OD5E*Q^MXW*yE(^Id|7n>yO^cT5U$rT5Vh|3P_X#Z&Z!xTEY?6Q$`|BIi@I-MY;19C@0E9Il)K_!rAuv?MOdW$I%5{ z+UN_ah^5H=(GP2&^obO7!X8*j#(zHwbVxNBJ&eL-0Ke#g#Z+#{X#w(uumJ>6tAD1Igbs@%7k?QkDTlLpaK<(bB#G<8dK$4rz*I1K$U59LC(;Xux>u27H@wqSO7fjL;( zP^v#;ErNUmwwr?|5Ho(M>^{>loO|QrulI=^0d`{ zG}lpZVXJW5iNou>vdNMy!V4 z*m)7k0UZYE_1;*LJRE5Z)c_rEF&4+=D0jLVUGN;rg*$7+hv^xx1{RTzMtQV--_ehH zJX-JnPbu7F#aAd-wwxi*6t^K)s2(F1t>SWZuil1HiE_u6QFge2&RB1xehW6mSn?0i1J9tG;5OF9KT%pT zm}X&WRdrE1ach)En1$&$73G3&pqWhJcM72x`JO&;AB-p8f%42=pv+)ZM(g@$lmksb z+3y-M1t`}sdY%}7A>>a`I&l>`Rya08xzOPliEGC4{5>gLrJ^-H#yS`?PWR5CScQBw zR>XrSO?L%b;%{~yF<#$!9JZ&vHS)OC3T%O1G;;$?w_SkJGAB$5?^C#m(#eKS&^wMr zKk^6I2Hhv>w_p#Hrq4xxoQ~25)*&NHokQuI%_r&M*}^sz<-$8+BkYax2$q@@DpOdC zo$)X(E=JFstkgn-xqhmi$PIjiAF$saxD&6>(l@k-yUHLBoK4Ti zsrVnNIeOw!AMim-YGzZArk#tvxDEsG7|Mm+#|r2)SKo0}tVAAfn}PMnN8@(fgwjG; zdHPFe1j-{gj|>FmJ5Rq;=HpTs|Hg;<#LKae4Gy3@n=$#kt7(Be+(+&_U-yw?7)|cI zKz}8-!?(#7V^w^B{#bS)a|PDJG<=NZG45kV5O&2t&aduMh@irA5g(eEj5Tm12H^^f z!DA@fITh&67K1M2$yf$E+IhB}=c4RC73GFDVp%+ZZg>WzL#pc(q{(9!>(0{~v&jdb z^zze~fIgq-;nfSdNmYc6aMBXKf^aW3#k5a(MD(FNJVL%<87)Xl4qMJFN?vCr-+y== z&9^9|tRley*cn@|)-RPc7|D)KYxJ;+{Y<}x=VL9l^IWSxG-7cR`N!A=lh*NC#^qQF zuc6$)9o&Vr*Xu`jYd!6sAr%{RruA-0+hTA?IZ^ZLwPiFu?lX-a(EIw z@HQ65zp)ay~gn|?HXFpzv1%7uS}a@^Y}Et6<6X5@saI0JJq44>fytp0`Ga4pgp zYAec}r0>w5Tr-jGqiXHsCh#b}hjFy?B;1R)F?P3oyh7ba)?z*C%{vrEQmDK~ce;Fh zLjDhS#0OvMzYh|=(!**!N{bvvY5GSfkE#=6tt{?ACs~hm@I1z%<39ZsZGk@IyD&}0 z|2ey&`hNY46HuCJmF-~+CclX?W4V5Q=A%8BlwG_~Ua{m9B- zdGY`Zk@4S%LIWy#V`W@o=Y{A?{sc>)$3Z4|c#PyM7KPljmb9Ud1G=eMlc? z1WMnTk8++3n9KRqQ3~$Z_^^IGw!)_5CVJsMtb%7y?&uLlq1zFC$B8JNtOv@SO+mTv z#V9BI5^Lcp48m6!h=Jd54xWKZp&%`=1mD8*=!t)#3`eJ<`oK{r2W*2Su{S#6K$IDC zI7-WWij{CT_Qf+OovqQgdIrrwxq(&R(*DsDu23PJr@}FPM>SCL<~YP)^1&eT!{6!7 zSA-SF-M`oGf?zyN-WwNV)N$qrJcA1{{|Eg#ulb|?qH2Xq0jkrFwEuJpB~NhYoah70 zApiU%e@3C}DShQrkWJNY%)|zqEr#t2(1rZc89mY5L3w1(XZhm;eNkGh3;N;^l$M)| zRdInyA%a37%5ZszA?SBbH)TtFhrBoX;RWo0&ruH4>AY^49{4pEG!;uwpZJsYdQ~YX z+ZAClKEZa__@aJmnt2pjQ*i_34#O|$m(EsfPyR2K!?eq~4`ickHy*3uD|EzwEBXtk zCXOR-h|6#nI%DUndi3-{>FoWHK4Pl(C`fPr$o33M6MJ0KC(cDT@>%GCi!cK>q6518 ztk-*>^cjEj#Cj+fo`iC|bWFwlDBHRJA{S<|1BEtJ)I#Z%V^ErGJ66O!*d5QJoG|=X zJw->M94H&*0^dVdoPkYo0ZQLEhtfjV(FuREeTp+Vzj{R>9A{kTIpZD-Lf;$u*(YKZ z@$KOf1Ak|LB%^ibKc?{?((!`KA6ko`k)qFaJu<1EaCIjQ{T_$g_0) zPn&}K$Y-ML&_Ws3yI>*vbuF6C6gE?E#62j(xB0eiO=t z{(vR$90uSelnZ}_a^a5d+E6S<-T@PFAXdX|SOzb+n}#*F-=)Hpii9%yKwDk{W|9Y#(-%4wr;%UBX4t>HZqf}XEpQg)!{RD7M)^-`GOskj3`|3rvbUnl z3+7=8()6b=2Y*4iv(yTPHH1tBLLr?Mh1d|iD;w4yp=l`3Y(2_>A7c;(RWYoYuQiS$Uy6}f!N;(s z=2VpVWE0lF?tIrti%dtEQP-oi%ms{-@$coUhe>A~#EPLP!|W9tiuH~`+N!L!5%H4W>7r9^Gr7b4Mt`f0d_{bz?7)_*@p3Nx(#2K)>Q zs2^KLcXID={iur9W&DS*B8xYU%v7^cntBz=FxhX{Uqk7&f7$Du>giEZ4P}@`Vlzy^ zy*LNuPE+a|*4wcgwjw`?6VWHau>M2E(g@Q~UsB-^X;^<;9zZ$3J(LUiEXuHcIys0J z$tO0{Q*5_J`h+{M1NF~v1h$UW6Vf5{Bfo>+VyVW4^@GJJ^e2yQVpxBGq?;6~Q{mE7 zcZ&KbqhJu$!8Ito_yS6=Ef%9kLk!B4nu~I$6HtzmhcbWcMwzg_!*INe(o(Lmy6;p) z+25=~L3(RrloPK+8UI&tI^MvJIIx*v{o!yBmy(xnZdgAi?Zmd^{o-^>7NU%b5%Gq) zV(?N!X}RTzhWeg-OcH&IJSo|bA3RJ|r={+Vg~)qG-9;IOPg4x*FQ3d-hFVMgS(FPI z*Tztj@hsNF&Z+wCHU+;UKY?Shpsj9E?=(FMQc?OqCp>|xFj>Zb?%Vp=>_d5N2DdY; zUo4wpAM#l!GuI=`#`5j;Xc><~$O};Fojd54%R4A7x)7yvzd|1j?x>HGhy%z6;V>Eh z7bpZ{awkL0;ZEN{>3s4v(H|;fEu4ySplvA6`XtH}`y3gq%B8D5jytv|Z-8Mq2c-|} zMH%J~@f|GPjqzWK!gvaPI2{+`T9h5*yX!BVT$B@eq#M?c%t0tke-)3QQx8L}#1l9a zhiB-i`6kMvO7Cf?^Y|+c#NC;C^i<1Y{MVzRZUm-b%9OkX>*794#>XgqD>_@ZMaa-%#Pt3jcok z3gfT}`DWYWC@-ITD5IlHf5Z9+EsrkbsVEavca*o?5X``-=!>_|5gi8Tx27w~Bd%sr zkU2aC<>fFKHMd>i**S9Beuza9HweOZsP zUlGa$m@g?zpip73Ua<({$Twh1e26j?H_Fj>&;{j0nHYn8P!6;jrBi;5*2gExOUW3b z^C*;;PFt*sCeoQrwSq!x*%2F|+fdyi$tVXLi4AZm%7K5feT>fJ&cpOfRt{x`^hasx z9w-;u7pLI>lo|Cg%4@pnJ2F2o{;E@mr6L2RX_lci%+QPcB+?hHC6z);Vh3UItRLBVaki3WHubVF z)~yMjp{7m}!*sR!nX;d~Z57IosGn!An?WwU(T&I^eArH!W|Byq%*x8d6Jiq^$@Ho z!c_7U_TgJvA$&l1#{c~TWXM( zW}{4Mm)YxD*jtoAC)UaT>ra*l*8hra?CqrP1;Lxb`k0oymHcBb0qo~YJS)Qnbto`V zTcdPEenhbE;6LomezOm^pL{P-k+?$ax9dmQ7RSca&m@i!(S(fE>-Ktz*7A`27}10X zpr$!zu9<%z*wgf*W;``tTifY>4uJ#pyiTpE5rzUT_sE-JnZ~;TiNlR zT@HSut{mks!iy_laaO$Q)Hg)k{PYlS`PIgngk;@PB8NyPWTJCrs~R|wXw2>}u`PA8 zF_wrUWEn*y5u;f*8f&p_4Pr9+XXFhi-@-HbzlQjld_!0t4>hTMy&RyfDj^GRNae`7 zA1L1-J|eGA9!Nxz&nI3l+w6Tp(Sh~9*(-QE|8HqZ=>+*=bdzx~hGeb1`Zm%tt-r^l zYW*8KR^Wi1M3P;%j`fk`H^`%i^LBkBlsDPC=!??{gY9H4Z%4ddDpRL_tb<54jw9rc zi9jNPn3Z3#W@VqxsC`IQ8sA*rBL5;kt){1$#DQe~&nFCOhY$&GZ2dR&rHE~WEO!V# z36(FAO-v%cPE;Zm5Etxy|3e4zSdO2EEwKwOAx03gBo?E+O0i)nR<5;oY(e<|E5ora zamw0M|HDg+tK=h+ctWuu9wO!uv+V6cu@A9|x~9bIC5&U$CPq@Ro%*R5z?Yc%!`{gM z^_I3f?fSXcj2*91|H@t$L;jrdZq{wYc)R{R@+Oq0VP`^?OxsT>yR)AxRk1ozTKY>x zHu&1!$di0H{-9^x`FjwoRtq&DR&td^%6v(J@KoYgMC|I zPl~yO=|xh7${ajSbSFv@)mhmSTjFYbz3jEi?@}TEx&4)$_p&$O3(Wc&mUJfNukbLo zL2tINPT84Ard&)$(Cg(AmA463D&%vyDH{Zm%MwEQeO*)|sq?YxpJNI!m>6f*?O?l~ zC>PoJ5sW7$*?A1!vCI36;{5EIpBWlp9;C|4K7~+=XhoePv6R?F-kS)g{DRm($P&$^ zEy4}Nx74kaN|y2(wZ+~}(ioyF+czO1h!5>`o8-r+ldRlK#ZMTYUpCA;9HR6gH#oEy~wWmIUG-t7QGMZ&NVy^FFH>$$EF>>a{sDeZT%_(i%5t0-L@c4MIkAp7Ox~5~ zMp>3ZEFkI=b@ZPPJZ_Raq5>QIiLaOR?cw2p5&4&od2HX6J!R>x6QzvAK_%L!#-}b! I8e#1JKjWU-CjbBd diff --git a/help_to_heat/locale/cy/LC_MESSAGES/django.po b/help_to_heat/locale/cy/LC_MESSAGES/django.po index e0954c11..0207dc3d 100644 --- a/help_to_heat/locale/cy/LC_MESSAGES/django.po +++ b/help_to_heat/locale/cy/LC_MESSAGES/django.po @@ -1544,7 +1544,7 @@ msgid "What if I have had a new EPC issued recently?" msgstr "" "Beth os ydw i wedi cael Tystysgrif Perfformiad Ynni newydd yn ddiweddar?" -#: help_to_heat/templates/frontdoor/epc.html:23 +#: help_to_heat/templates/frontdoor/epc.html:24 #, python-format msgid "" "If your property has had a new EPC issued since 1 %(current_month)s, we may " @@ -1560,7 +1560,23 @@ msgstr "" "y gwasanaeth hwn ar ôl 1 %(next_month)s. Disgwyliwn y bydd y gronfa ddata " "wedi cael ei diweddaru erbyn hynny." -#: help_to_heat/templates/frontdoor/epc.html:25 +#: help_to_heat/templates/frontdoor/epc.html:26 +#, python-format +msgid "" +"If your property has had a new EPC issued since 1 %(current_quarter_month)s, " +"we may not be able to find it in our database because it is only updated " +"quarterly. If you do not recognise the EPC below as your most recent one, " +"please return to this service after 1 %(next_quarter_month)s when we expect " +"the database to have been updated." +msgstr "" +"Os oes EPC newydd wedi'i rhoi i’ch eiddo chi ers 1 " +"%(current_quarter_month)s, efallai na fyddwn yn gallu dod o hyd iddi yn ein " +"cronfa ddata am mai dim ond bob chwarter y bydd honno’n cael ei diweddaru. " +"Os nad ydych chi’n adnabod yr EPC isod fel eich un ddiweddaraf chi, dewch yn " +"ôl i'r gwasanaeth yma ar ôl 1 %(next_quarter_month)s pan ydyn ni’n disgwyl y " +"bydd y gronfa ddata wedi'i diweddaru." + +#: help_to_heat/templates/frontdoor/epc.html:29 msgid "" "You can continue with your old EPC but the energy supplier you have selected " "may not be able to help based on an out-of-date EPC" @@ -1568,23 +1584,23 @@ msgstr "" "Gallwch barhau â’ch hen Dystysgrif Perfformiad Ynni, ond efallai na fydd y " "cyflenwr ynni rydych chi wedi’i ddewis yn gallu helpu ar sail hen dystysgrif." -#: help_to_heat/templates/frontdoor/epc.html:33 +#: help_to_heat/templates/frontdoor/epc.html:36 msgid "Certificate" msgstr "Tystysgrif" -#: help_to_heat/templates/frontdoor/epc.html:38 +#: help_to_heat/templates/frontdoor/epc.html:41 msgid "Registered address" msgstr "Cyfeiriad cofrestredig" -#: help_to_heat/templates/frontdoor/epc.html:43 +#: help_to_heat/templates/frontdoor/epc.html:46 msgid "EPC rating" msgstr "Cyfraddiad EPC " -#: help_to_heat/templates/frontdoor/epc.html:50 +#: help_to_heat/templates/frontdoor/epc.html:53 msgid "Date of issue" msgstr "Dyddiad Rhoi" -#: help_to_heat/templates/frontdoor/epc.html:60 +#: help_to_heat/templates/frontdoor/epc.html:63 msgid "Is this your EPC?" msgstr "Ai eich EPC chi yw hon?" From 6f7782ecb4fdf29536bb89b36176c6a342cec187 Mon Sep 17 00:00:00 2001 From: Glenn Clarke Date: Thu, 24 Oct 2024 12:30:58 +0100 Subject: [PATCH 09/18] PC-1349: add "property type" to EPC page --- help_to_heat/frontdoor/views.py | 17 +++++++++++++ help_to_heat/locale/cy/LC_MESSAGES/django.mo | Bin 95750 -> 95902 bytes help_to_heat/locale/cy/LC_MESSAGES/django.po | 25 +++++++++++++------ help_to_heat/templates/frontdoor/epc.html | 10 +++++++- 4 files changed, 44 insertions(+), 8 deletions(-) diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index ccbbb2cc..3d728d8e 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -255,6 +255,14 @@ _("December"), ] +property_types = { + "Flat": _("Flat"), + "Bungalow": _("Bungalow"), + "House": _("House"), + "Maisonette": _("Maisonette"), + "Park home": _("Park home"), +} + # to be updated when we get full list of excluded suppliers converted_suppliers = ["Bulb, now part of Octopus Energy", "Utility Warehouse"] unavailable_suppliers = [] @@ -832,6 +840,14 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa epc_band = epc.get("current-energy-rating") epc_date = epc.get("lodgement-date") + epc_property_type = epc.get("property-type") + + if epc_property_type in property_types: + property_type = property_types[epc_property_type] + else: + logger.error(f"Unrecognised Property Type: {epc_property_type}") + property_type = "" + try: working_epc_date = datetime.strptime(epc_date, "%Y-%m-%d") month_name = month_names[working_epc_date.month - 1] @@ -851,6 +867,7 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa "next_month": next_month, "current_quarter_month": current_quarter_month, "next_quarter_month": next_quarter_month, + "property_type": property_type, "epc_display_options": schemas.epc_display_options_map, "address": address, "show_monthly_epc_update_details": show_monthly_epc_update_details, diff --git a/help_to_heat/locale/cy/LC_MESSAGES/django.mo b/help_to_heat/locale/cy/LC_MESSAGES/django.mo index 418e467c403e6faa8e0d73b1e09b46785c3d0156..bf19b7fb79b9a4a4bd3e5b1a9f878d7fbd4d4eb1 100644 GIT binary patch delta 12865 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 delta 12740 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\n" "Language-Team: LANGUAGE \n" @@ -65,6 +65,7 @@ msgid "Annual household income" msgstr "Incwm blynyddol yr aelwyd" #: help_to_heat/frontdoor/schemas.py:153 help_to_heat/frontdoor/schemas.py:154 +#: help_to_heat/templates/frontdoor/epc.html:49 msgid "Property type" msgstr "Math o eiddo" @@ -206,10 +207,12 @@ msgid "£31,000 or more a year" msgstr "£31,000 y flwyddyn neu ragor" #: help_to_heat/frontdoor/schemas.py:398 help_to_heat/frontdoor/schemas.py:437 +#: help_to_heat/frontdoor/views.py:261 msgid "House" msgstr "Tŷ" #: help_to_heat/frontdoor/schemas.py:402 help_to_heat/frontdoor/schemas.py:438 +#: help_to_heat/frontdoor/views.py:260 msgid "Bungalow" msgstr "Byngalo" @@ -229,9 +232,9 @@ msgstr "fyngalo" msgid "apartment, flat or maisonette" msgstr "randy, fflat neu fflat ddeulawr" -#: help_to_heat/frontdoor/schemas.py:440 +#: help_to_heat/frontdoor/schemas.py:440 help_to_heat/frontdoor/views.py:263 msgid "Park home" -msgstr "" +msgstr "Cartref mewn parc" #: help_to_heat/frontdoor/schemas.py:443 help_to_heat/frontdoor/schemas.py:510 #: help_to_heat/frontdoor/schemas.py:532 @@ -657,7 +660,15 @@ msgstr "Tachwedd" msgid "December" msgstr "Rhagfyr" -#: help_to_heat/frontdoor/views.py:637 help_to_heat/frontdoor/views.py:707 +#: help_to_heat/frontdoor/views.py:259 +msgid "Flat" +msgstr "Fflat" + +#: help_to_heat/frontdoor/views.py:262 +msgid "Maisonette" +msgstr "Fflat deulawr" + +#: help_to_heat/frontdoor/views.py:645 help_to_heat/frontdoor/views.py:715 msgid "I cannot find my address, I want to enter it manually" msgstr "Dwi'n methu gweld fy nghyfeiriad i. Hoffwn ei roi fy hunan." @@ -1592,15 +1603,15 @@ msgstr "Tystysgrif" msgid "Registered address" msgstr "Cyfeiriad cofrestredig" -#: help_to_heat/templates/frontdoor/epc.html:46 +#: help_to_heat/templates/frontdoor/epc.html:54 msgid "EPC rating" msgstr "Cyfraddiad EPC " -#: help_to_heat/templates/frontdoor/epc.html:53 +#: help_to_heat/templates/frontdoor/epc.html:61 msgid "Date of issue" msgstr "Dyddiad Rhoi" -#: help_to_heat/templates/frontdoor/epc.html:63 +#: help_to_heat/templates/frontdoor/epc.html:71 msgid "Is this your EPC?" msgstr "Ai eich EPC chi yw hon?" diff --git a/help_to_heat/templates/frontdoor/epc.html b/help_to_heat/templates/frontdoor/epc.html index 722237b7..4f65e0cb 100644 --- a/help_to_heat/templates/frontdoor/epc.html +++ b/help_to_heat/templates/frontdoor/epc.html @@ -42,7 +42,15 @@

{{ part.strip() }}

{% endfor %} - + +
+ + {% if property_type %} +

{{_("Property type")}}

+ +

{{ property_type }}

+ {% endif %} +

{{_("EPC rating")}}

{% if epc_rating %} From 5b01ab1ea106c7b4c5928e755feca33c9ac60bb9 Mon Sep 17 00:00:00 2001 From: Glenn Clarke Date: Thu, 24 Oct 2024 13:38:57 +0100 Subject: [PATCH 10/18] PC-1349: standardise keys to avoid capitalisation mistakes --- help_to_heat/frontdoor/views.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index 3d728d8e..411265d8 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -256,11 +256,11 @@ ] property_types = { - "Flat": _("Flat"), - "Bungalow": _("Bungalow"), - "House": _("House"), - "Maisonette": _("Maisonette"), - "Park home": _("Park home"), + "FLAT": _("Flat"), + "BUNGALOW": _("Bungalow"), + "HOUSE": _("House"), + "MAISONETTE": _("Maisonette"), + "PARK HOME": _("Park home"), } # to be updated when we get full list of excluded suppliers @@ -840,7 +840,7 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa epc_band = epc.get("current-energy-rating") epc_date = epc.get("lodgement-date") - epc_property_type = epc.get("property-type") + epc_property_type = epc.get("property-type").upper() if epc_property_type in property_types: property_type = property_types[epc_property_type] From 639a059b885ce06d5a1f21ad2e9939d6e78b6e5a Mon Sep 17 00:00:00 2001 From: Glenn Clarke Date: Thu, 24 Oct 2024 13:50:14 +0100 Subject: [PATCH 11/18] PC-1349: change fallback value to None from empty string --- help_to_heat/frontdoor/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index 411265d8..8b22db82 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -846,7 +846,7 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa property_type = property_types[epc_property_type] else: logger.error(f"Unrecognised Property Type: {epc_property_type}") - property_type = "" + property_type = None try: working_epc_date = datetime.strptime(epc_date, "%Y-%m-%d") @@ -854,7 +854,7 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa gds_epc_date = f"{working_epc_date.strftime('%-d')} {month_name} {working_epc_date.strftime('%Y')}" except ValueError as e: logger.error(e) - gds_epc_date = "" + gds_epc_date = None current_month, next_month = utils.get_current_and_next_month_names(month_names) current_quarter_month, next_quarter_month = utils.get_current_and_next_quarter_month_names(month_names) From 0ba7bf9f68db32519f81fbc266d7ad51715fefe5 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Wed, 30 Oct 2024 13:31:36 +0000 Subject: [PATCH 12/18] PC-1349: fallback to the literal string always in english --- help_to_heat/frontdoor/views.py | 16 +++- help_to_heat/locale/cy/LC_MESSAGES/django.po | 96 ++++++++++---------- 2 files changed, 60 insertions(+), 52 deletions(-) diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index 8b22db82..a9e14a59 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -7,6 +7,7 @@ from django.shortcuts import redirect, render from django.urls import reverse from django.utils import timezone +from django.utils.translation import get_language from django.utils.translation import gettext_lazy as _ from marshmallow import ValidationError @@ -840,13 +841,20 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa epc_band = epc.get("current-energy-rating") epc_date = epc.get("lodgement-date") - epc_property_type = epc.get("property-type").upper() + epc_property_type = epc.get("property-type") - if epc_property_type in property_types: - property_type = property_types[epc_property_type] + if epc_property_type.upper() in property_types: + property_type = property_types[epc_property_type.upper()] else: logger.error(f"Unrecognised Property Type: {epc_property_type}") - property_type = None + + language = get_language() + if language == "en": + # if in english, display the property type anyway + property_type = epc_property_type + else: + # else if in welsh, display nothing as there's no translation + property_type = None try: working_epc_date = datetime.strptime(epc_date, "%Y-%m-%d") diff --git a/help_to_heat/locale/cy/LC_MESSAGES/django.po b/help_to_heat/locale/cy/LC_MESSAGES/django.po index 16578cdf..d6415b72 100644 --- a/help_to_heat/locale/cy/LC_MESSAGES/django.po +++ b/help_to_heat/locale/cy/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-10-31 09:36+0000\n" +"POT-Creation-Date: 2024-10-31 09:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -207,12 +207,12 @@ msgid "£31,000 or more a year" msgstr "£31,000 y flwyddyn neu ragor" #: help_to_heat/frontdoor/schemas.py:398 help_to_heat/frontdoor/schemas.py:437 -#: help_to_heat/frontdoor/views.py:261 +#: help_to_heat/frontdoor/views.py:262 msgid "House" msgstr "Tŷ" #: help_to_heat/frontdoor/schemas.py:402 help_to_heat/frontdoor/schemas.py:438 -#: help_to_heat/frontdoor/views.py:260 +#: help_to_heat/frontdoor/views.py:261 msgid "Bungalow" msgstr "Byngalo" @@ -232,7 +232,7 @@ msgstr "fyngalo" msgid "apartment, flat or maisonette" msgstr "randy, fflat neu fflat ddeulawr" -#: help_to_heat/frontdoor/schemas.py:440 help_to_heat/frontdoor/views.py:263 +#: help_to_heat/frontdoor/schemas.py:440 help_to_heat/frontdoor/views.py:264 msgid "Park home" msgstr "Cartref mewn parc" @@ -471,83 +471,83 @@ msgstr "Rhwymedigaeth Cwmni Ynni 4" msgid "Great British Insulation Scheme" msgstr "Cynllun Inswleiddio Mawr Prydain" -#: help_to_heat/frontdoor/views.py:200 +#: help_to_heat/frontdoor/views.py:201 msgid "Select where the property is located" msgstr "Dewiswch beth yw lleoliad yr eiddo" -#: help_to_heat/frontdoor/views.py:201 +#: help_to_heat/frontdoor/views.py:202 msgid "Select if you own the property" msgstr "Dewiswch os yw'r eiddo'n perthyn i chi" -#: help_to_heat/frontdoor/views.py:202 +#: help_to_heat/frontdoor/views.py:203 msgid "Select if you live in a park home" msgstr "Dewiswch os ydych chi’n byw mewn aelwyd mewn parc " -#: help_to_heat/frontdoor/views.py:203 +#: help_to_heat/frontdoor/views.py:204 msgid "Select if the park home is your main residence" msgstr "Dewiswch os eich aelwyd mewn parc yw’ch prif breswylfa " -#: help_to_heat/frontdoor/views.py:204 +#: help_to_heat/frontdoor/views.py:205 msgid "Enter building name or number" msgstr "Rhowch enw neu rif yr adeilad" -#: help_to_heat/frontdoor/views.py:205 +#: help_to_heat/frontdoor/views.py:206 msgid "Enter Address line 1" msgstr "Rhowch linell 1 y cyfeiriad" -#: help_to_heat/frontdoor/views.py:206 +#: help_to_heat/frontdoor/views.py:207 msgid "Enter a postcode" msgstr "Rhowch god post" -#: help_to_heat/frontdoor/views.py:207 help_to_heat/frontdoor/views.py:208 +#: help_to_heat/frontdoor/views.py:208 help_to_heat/frontdoor/views.py:209 msgid "" "Select your address, or I can't find my address if your address is not listed" msgstr "" "Dewiswch eich cyfeiriad, neu ‘Dwi’n methu gweld fy nghyfeiriad i’ os nad " "yw'ch cyfeiriad wedi'i restru" -#: help_to_heat/frontdoor/views.py:209 +#: help_to_heat/frontdoor/views.py:210 msgid "Enter your Town or city" msgstr "Rhowch eich tref neu'ch dinas" -#: help_to_heat/frontdoor/views.py:210 +#: help_to_heat/frontdoor/views.py:211 msgid "Please confirm that you want to submit another referral" msgstr "A wnewch chi gadarnhau eich bod eisiau cyflwyno atgyfeiriad arall" -#: help_to_heat/frontdoor/views.py:211 +#: help_to_heat/frontdoor/views.py:212 msgid "Enter the Council Tax Band of the property" msgstr "Rhowch Fand Treth Gyngor yr eiddo" -#: help_to_heat/frontdoor/views.py:212 +#: help_to_heat/frontdoor/views.py:213 msgid "Select if your EPC rating is correct or not, or that you do not know" msgstr "" "Dewiswch a yw eich cyfraddiad EPC yn gywir neu beidio, neu nad ydych chi'n " "gwybod" -#: help_to_heat/frontdoor/views.py:213 +#: help_to_heat/frontdoor/views.py:214 msgid "" "Select if anyone in your household is receiving any benefits listed below" msgstr "" "Dewiswch a oes unrhyw un yn eich aelwyd chi'n cael unrhyw un neu ragor o'r " "budd-daliadau isod" -#: help_to_heat/frontdoor/views.py:214 +#: help_to_heat/frontdoor/views.py:215 msgid "Select your household income" msgstr "Dewiswch incwm eich aelwyd" -#: help_to_heat/frontdoor/views.py:215 help_to_heat/frontdoor/views.py:216 +#: help_to_heat/frontdoor/views.py:216 help_to_heat/frontdoor/views.py:217 msgid "Select your property type" msgstr "Dewiswch eich math o eiddo" -#: help_to_heat/frontdoor/views.py:217 +#: help_to_heat/frontdoor/views.py:218 msgid "Select the number of bedrooms the property has" msgstr "Dewiswch nifer yr ystafelloedd gwely sydd gan yr eiddo" -#: help_to_heat/frontdoor/views.py:218 +#: help_to_heat/frontdoor/views.py:219 msgid "Select the type of walls the property has" msgstr "Dewiswch y math o waliau sydd gan yr eiddo" -#: help_to_heat/frontdoor/views.py:219 +#: help_to_heat/frontdoor/views.py:220 msgid "" "Select if the walls of the property are insulated or not, or if you do not " "know" @@ -555,40 +555,40 @@ msgstr "" "Dewiswch a ydy waliau'r eiddo wedi'u hinswleiddio neu beidio, neu nad ydych " "chi'n gwybod" -#: help_to_heat/frontdoor/views.py:220 +#: help_to_heat/frontdoor/views.py:221 msgid "Select if you have a loft that has been converted into a room or not" msgstr "Dewiswch a oes gennych chi atig sydd wedi'i droi'n ystafell neu beidio" -#: help_to_heat/frontdoor/views.py:221 +#: help_to_heat/frontdoor/views.py:222 msgid "Select whether or not you have access to the loft" msgstr "Dewiswch a oes modd mynd i'r atig neu beidio" -#: help_to_heat/frontdoor/views.py:222 +#: help_to_heat/frontdoor/views.py:223 msgid "Select whether or not your loft is fully insulated" msgstr "Dewiswch a ydy'ch atig wedi'i inswleiddio'n llawn neu beidio" -#: help_to_heat/frontdoor/views.py:223 +#: help_to_heat/frontdoor/views.py:224 #: help_to_heat/templates/frontdoor/supplier.html:14 msgid "Select your home energy supplier from the list below" msgstr "Dewiswch eich cyflenwr ynni cartref chi o blith y rhestr isod" -#: help_to_heat/frontdoor/views.py:224 +#: help_to_heat/frontdoor/views.py:225 msgid "Enter your first name" msgstr "Rhowch eich enw cyntaf" -#: help_to_heat/frontdoor/views.py:225 +#: help_to_heat/frontdoor/views.py:226 msgid "Enter your last name" msgstr "Rhowch eich enw olaf" -#: help_to_heat/frontdoor/views.py:226 +#: help_to_heat/frontdoor/views.py:227 msgid "Enter your email address" msgstr "Rhowch eich cyfeiriad ebost" -#: help_to_heat/frontdoor/views.py:227 +#: help_to_heat/frontdoor/views.py:228 msgid "Enter your contact number" msgstr "Rhowch eich rhif ffôn" -#: help_to_heat/frontdoor/views.py:229 help_to_heat/frontdoor/views.py:232 +#: help_to_heat/frontdoor/views.py:230 help_to_heat/frontdoor/views.py:233 msgid "" "Please confirm that you agree to the use of your information by checking " "this box" @@ -596,7 +596,7 @@ msgstr "" "Rhowch gadarnhad eich bod yn cytuno i'ch gwybodaeth gael ei defnyddio drwy " "roi tic yn y blwch hwn" -#: help_to_heat/frontdoor/views.py:235 +#: help_to_heat/frontdoor/views.py:236 msgid "" "Please confirm that you understand your home must be sufficiently ventilated " "before any insulation is installed" @@ -604,7 +604,7 @@ msgstr "" "Rhowch gadarnhad eich bod yn deall bod rhaid bod i’ch cartref fod wedi’i " "awyru’n ddigonol cyn i unrhyw inswleiddiad gael ei osod" -#: help_to_heat/frontdoor/views.py:239 +#: help_to_heat/frontdoor/views.py:240 msgid "" "Please confirm that you understand you may be required to contribute towards " "the cost of installing insulation" @@ -612,63 +612,63 @@ msgstr "" "Rhowch gadarnhad eich bod yn deall y gall fod angen ichi gyfrannu at gost " "gosod inswleiddiad" -#: help_to_heat/frontdoor/views.py:244 +#: help_to_heat/frontdoor/views.py:245 msgid "January" msgstr "Ionawr" -#: help_to_heat/frontdoor/views.py:245 +#: help_to_heat/frontdoor/views.py:246 msgid "February" msgstr "Chwefror" -#: help_to_heat/frontdoor/views.py:246 +#: help_to_heat/frontdoor/views.py:247 msgid "March" msgstr "Mawrth" -#: help_to_heat/frontdoor/views.py:247 +#: help_to_heat/frontdoor/views.py:248 msgid "April" msgstr "Ebrill" -#: help_to_heat/frontdoor/views.py:248 +#: help_to_heat/frontdoor/views.py:249 msgid "May" msgstr "Mai" -#: help_to_heat/frontdoor/views.py:249 +#: help_to_heat/frontdoor/views.py:250 msgid "June" msgstr "Mehefin" -#: help_to_heat/frontdoor/views.py:250 +#: help_to_heat/frontdoor/views.py:251 msgid "July" msgstr "Gorffennaf" -#: help_to_heat/frontdoor/views.py:251 +#: help_to_heat/frontdoor/views.py:252 msgid "August" msgstr "Awst" -#: help_to_heat/frontdoor/views.py:252 +#: help_to_heat/frontdoor/views.py:253 msgid "September" msgstr "Medi" -#: help_to_heat/frontdoor/views.py:253 +#: help_to_heat/frontdoor/views.py:254 msgid "October" msgstr "Hydref" -#: help_to_heat/frontdoor/views.py:254 +#: help_to_heat/frontdoor/views.py:255 msgid "November" msgstr "Tachwedd" -#: help_to_heat/frontdoor/views.py:255 +#: help_to_heat/frontdoor/views.py:256 msgid "December" msgstr "Rhagfyr" -#: help_to_heat/frontdoor/views.py:259 +#: help_to_heat/frontdoor/views.py:260 msgid "Flat" msgstr "Fflat" -#: help_to_heat/frontdoor/views.py:262 +#: help_to_heat/frontdoor/views.py:263 msgid "Maisonette" msgstr "Fflat deulawr" -#: help_to_heat/frontdoor/views.py:645 help_to_heat/frontdoor/views.py:715 +#: help_to_heat/frontdoor/views.py:646 help_to_heat/frontdoor/views.py:716 msgid "I cannot find my address, I want to enter it manually" msgstr "Dwi'n methu gweld fy nghyfeiriad i. Hoffwn ei roi fy hunan." From 3d72b04dadbbfc6ad3b2b0ecf8a9cb018488aaf9 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Wed, 30 Oct 2024 15:35:16 +0000 Subject: [PATCH 13/18] PC-1349: add tests for epc values --- help_to_heat/frontdoor/mock_epc_api.py | 12 +- .../sample_epc_response_with_epc_c.json | 192 ------------------ tests/test_frontdoor.py | 59 ++++++ 3 files changed, 63 insertions(+), 200 deletions(-) delete mode 100644 help_to_heat/frontdoor/mock_epc_api_data/sample_epc_response_with_epc_c.json diff --git a/help_to_heat/frontdoor/mock_epc_api.py b/help_to_heat/frontdoor/mock_epc_api.py index 044a97c8..0513aee2 100644 --- a/help_to_heat/frontdoor/mock_epc_api.py +++ b/help_to_heat/frontdoor/mock_epc_api.py @@ -27,15 +27,11 @@ def get_epc_recommendations(self, lmk_key): return load_test_reponse("sample_epc_recommendations_response.json") -class MockEPCApiWithEPCC: - def search_epc_details(self, building, postcode): - return load_test_reponse("sample_search_response.json") - +class MockEPCApiWithEPCC(MockEPCApi): def get_epc_details(self, rrn): - return load_test_reponse("sample_epc_response_with_epc_c.json") - - def get_epc_recommendations(self, lmk_key): - return load_test_reponse("sample_epc_recommendations_response.json") + epc = load_test_reponse("sample_epc_response.json") + epc["rows"][0]["current-energy-rating"] = "C" + return epc class MockUnauthorizedEPCApi(MockEPCApi): diff --git a/help_to_heat/frontdoor/mock_epc_api_data/sample_epc_response_with_epc_c.json b/help_to_heat/frontdoor/mock_epc_api_data/sample_epc_response_with_epc_c.json deleted file mode 100644 index 20d85b7f..00000000 --- a/help_to_heat/frontdoor/mock_epc_api_data/sample_epc_response_with_epc_c.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "column-names": [ - "lmk-key", - "address1", - "address2", - "address3", - "postcode", - "building-reference-number", - "current-energy-rating", - "potential-energy-rating", - "current-energy-efficiency", - "potential-energy-efficiency", - "property-type", - "built-form", - "inspection-date", - "local-authority", - "constituency", - "county", - "lodgement-date", - "transaction-type", - "environment-impact-current", - "environment-impact-potential", - "energy-consumption-current", - "energy-consumption-potential", - "co2-emissions-current", - "co2-emiss-curr-per-floor-area", - "co2-emissions-potential", - "lighting-cost-current", - "lighting-cost-potential", - "heating-cost-current", - "heating-cost-potential", - "hot-water-cost-current", - "hot-water-cost-potential", - "total-floor-area", - "energy-tariff", - "mains-gas-flag", - "floor-level", - "flat-top-storey", - "flat-storey-count", - "main-heating-controls", - "multi-glaze-proportion", - "glazed-type", - "glazed-area", - "extension-count", - "number-habitable-rooms", - "number-heated-rooms", - "low-energy-lighting", - "number-open-fireplaces", - "hotwater-description", - "hot-water-energy-eff", - "hot-water-env-eff", - "floor-description", - "floor-energy-eff", - "floor-env-eff", - "windows-description", - "windows-energy-eff", - "windows-env-eff", - "walls-description", - "walls-energy-eff", - "walls-env-eff", - "secondheat-description", - "sheating-energy-eff", - "sheating-env-eff", - "roof-description", - "roof-energy-eff", - "roof-env-eff", - "mainheat-description", - "mainheat-energy-eff", - "mainheat-env-eff", - "mainheatcont-description", - "mainheatc-energy-eff", - "mainheatc-env-eff", - "lighting-description", - "lighting-energy-eff", - "lighting-env-eff", - "main-fuel", - "wind-turbine-count", - "heat-loss-corridor", - "unheated-corridor-length", - "floor-height", - "photo-supply", - "solar-water-heating-flag", - "mechanical-ventilation", - "address", - "local-authority-label", - "constituency-label", - "posttown", - "construction-age-band", - "lodgement-datetime", - "tenure", - "fixed-lighting-outlets-count", - "low-energy-fixed-light-count", - "uprn", - "uprn-source" - ], - "rows": [ - { - "low-energy-fixed-light-count": "", - "address": "22 Acacia Avenue, Upper Wellgood, Fulchester, FL23 4JA", - "uprn-source": "Address Matched", - "floor-height": "2.833", - "heating-cost-potential": "1100", - "unheated-corridor-length": "2.05", - "hot-water-cost-potential": "166", - "construction-age-band": "England and Wales: before 1900", - "potential-energy-rating": "F", - "mainheat-energy-eff": "Very Poor", - "windows-env-eff": "Average", - "lighting-energy-eff": "Very Poor", - "environment-impact-potential": "28", - "glazed-type": "double glazing, unknown install date", - "heating-cost-current": "1916", - "address3": "", - "mainheatcont-description": "Programmer and appliance thermostats", - "sheating-energy-eff": "N/A", - "property-type": "Maisonette", - "local-authority-label": "Westminster", - "fixed-lighting-outlets-count": "", - "energy-tariff": "Unknown", - "mechanical-ventilation": "natural", - "hot-water-cost-current": "365", - "county": "Greater London Authority", - "postcode": "FL23 4JA", - "solar-water-heating-flag": "N", - "constituency": "E14000639", - "co2-emissions-potential": "9.9", - "number-heated-rooms": "3", - "floor-description": "(other premises below)", - "energy-consumption-potential": "602", - "local-authority": "E09000033", - "built-form": "NO DATA!", - "number-open-fireplaces": "0", - "windows-description": "Fully double glazed", - "glazed-area": "Normal", - "inspection-date": "2010-07-20", - "mains-gas-flag": "N", - "co2-emiss-curr-per-floor-area": "81", - "address1": "22 Acacia Avenue", - "heat-loss-corridor": "unheated corridor", - "flat-storey-count": "5.0", - "constituency-label": "Cities of London and Westminster", - "roof-energy-eff": "Very Poor", - "total-floor-area": "109.021", - "building-reference-number": "8502528768", - "environment-impact-current": "33", - "co2-emissions-current": "8.8", - "roof-description": "Pitched, no insulation (assumed)", - "floor-energy-eff": "N/A", - "number-habitable-rooms": "3", - "address2": "Upper Wellgood", - "hot-water-env-eff": "Poor", - "posttown": "Fulchester", - "mainheatc-energy-eff": "Good", - "main-fuel": "electricity - this is for backwards compatibility only and should not be used", - "lighting-env-eff": "Very Poor", - "windows-energy-eff": "Average", - "floor-env-eff": "N/A", - "sheating-env-eff": "N/A", - "lighting-description": "No low energy lighting", - "roof-env-eff": "Very Poor", - "walls-energy-eff": "Very Poor", - "photo-supply": "0.0", - "lighting-cost-potential": "136", - "mainheat-env-eff": "Poor", - "multi-glaze-proportion": "100", - "main-heating-controls": "2603", - "lodgement-datetime": "2010-07-23 16:38:12", - "flat-top-storey": "Y", - "current-energy-rating": "C", - "secondheat-description": "None", - "walls-env-eff": "Very Poor", - "transaction-type": "rental (private)", - "uprn": "001234567890", - "current-energy-efficiency": "8", - "energy-consumption-current": "538", - "mainheat-description": "Room heaters, electric", - "lighting-cost-current": "121", - "lodgement-date": "2010-07-23", - "extension-count": "0", - "mainheatc-env-eff": "Good", - "lmk-key": "222222222222222222222222222222222", - "wind-turbine-count": "0", - "tenure": "rental (private)", - "floor-level": "3rd", - "potential-energy-efficiency": "35", - "hot-water-energy-eff": "Very Poor", - "low-energy-lighting": "0", - "walls-description": "Sandstone, as built, no insulation (assumed)", - "hotwater-description": "Electric immersion, standard tariff" - } - ] -} \ No newline at end of file diff --git a/tests/test_frontdoor.py b/tests/test_frontdoor.py index 4b72bc36..2be0c960 100644 --- a/tests/test_frontdoor.py +++ b/tests/test_frontdoor.py @@ -2046,6 +2046,65 @@ def test_on_epc_select_page_manual_link_is_shown_if_no_addresses_found(): assert page.has_one('h1:contains("What is the property\'s address?")') +@unittest.mock.patch("help_to_heat.frontdoor.interface.EPCApi", MockEPCApi) +def test_epc_page_shows_epc_info(): + client = utils.get_client() + page = client.get("/start") + assert page.status_code == 302 + page = page.follow() + + assert page.status_code == 200 + session_id = page.path.split("/")[1] + assert uuid.UUID(session_id) + _check_page = _make_check_page(session_id) + + form = page.get_form() + form["country"] = "England" + page = form.submit().follow() + + form = page.get_form() + form["supplier"] = "Utilita" + page = form.submit().follow() + + assert page.has_text("Do you own the property?") + page = _check_page(page, "own-property", "own_property", "Yes, I own my property and live in it") + + assert page.has_text("Do you live in a park home") + page = _check_page(page, "park-home", "park_home", "No") + + form = page.get_form() + form["building_name_or_number"] = "22" + form["postcode"] = "FL23 4JA" + page = form.submit().follow() + + form = page.get_form() + form["lmk"] = "222222222222222222222222222222222" + page = form.submit().follow() + + data = interface.api.session.get_answer(session_id, page_name="epc-select") + assert data["lmk"] == "222222222222222222222222222222222" + assert data["address"] == "22 Acacia Avenue, Upper Wellgood, Fulchester, FL23 4JA" + + assert page.has_one("h1:contains('What is the council tax band of your property?')") + page = _check_page(page, "council-tax-band", "council_tax_band", "B") + + assert page.has_one("h1:contains('We found an Energy Performance Certificate that might be yours')") + assert page.has_one("p:contains('Registered address')") + assert page.has_one("p:contains('22 Acacia Avenue')") + assert page.has_one("p:contains('Upper Wellgood')") + assert page.has_one("p:contains('Fulchester')") + assert page.has_one("p:contains('FL23 4JA')") + + assert page.has_one("p:contains('Property type')") + assert page.has_one("p:contains('Maisonette')") + + assert page.has_one("p:contains('EPC rating')") + assert page.has_one("p:contains('G')") + + assert page.has_one("p:contains('Date of issue')") + assert page.has_one("p:contains('23 July 2010')") + + def _setup_client_and_page(): client = utils.get_client() page = client.get("/start") From cf0bdacd25ab5cd4fdb28e0e3208a4f8000dc20e Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Thu, 31 Oct 2024 11:32:47 +0000 Subject: [PATCH 14/18] PC-1415: use --check flags on pipeline adds a new format-python-code with the old behaviour this ensures they emit a non-zero exit code on formatting fail --- Makefile | 4 ++++ README.md | 2 +- docker/tests/check-code.sh | 13 +++++++++---- tests/docker-compose.yml | 23 ++++++++++++++--------- 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 70261f69..49b9c97e 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,10 @@ add-suppliers: # -------------------------------------- Code Style ------------------------------------- +.PHONY: format-python-code +format-python-code: + docker compose -f tests/docker-compose.yml build format-code-help-to-heat && docker compose -f tests/docker-compose.yml run --no-deps --rm format-code-help-to-heat + .PHONY: check-python-code check-python-code: docker compose -f tests/docker-compose.yml build check-code-help-to-heat && docker compose -f tests/docker-compose.yml run --no-deps --rm check-code-help-to-heat diff --git a/README.md b/README.md index e567251b..99f10766 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Migrations are run automatically at startup, and suppliers are added automatical ## Checking code - make check-python-code + make format-python-code ## Deployment diff --git a/docker/tests/check-code.sh b/docker/tests/check-code.sh index e517f185..bc1dc121 100644 --- a/docker/tests/check-code.sh +++ b/docker/tests/check-code.sh @@ -1,8 +1,13 @@ -#!/bin/sh +#!/bin/bash set -o errexit -set -o nounset -black . -isort . +if [[ $1 = "--format" ]]; then + black . + isort . +else + black --check --diff . + isort --check --diff . +fi + flake8 . \ No newline at end of file diff --git a/tests/docker-compose.yml b/tests/docker-compose.yml index 75c9a93b..623a2f5b 100644 --- a/tests/docker-compose.yml +++ b/tests/docker-compose.yml @@ -19,13 +19,18 @@ services: expose: - "5432" + format-code-help-to-heat: + build: + context: ../ + dockerfile: ./docker/tests/Dockerfile + image: tests_help_to_heat + env_file: + - ../envs/tests + entrypoint: bash /check-code.sh --format + volumes: + - ../:/app/:z + check-code-help-to-heat: - build: - context: ../ - dockerfile: ./docker/tests/Dockerfile - image: tests_help_to_heat - env_file: - - ../envs/tests - entrypoint: sh /check-code.sh - volumes: - - ../:/app/:z \ No newline at end of file + extends: + service: format-code-help-to-heat + entrypoint: bash /check-code.sh \ No newline at end of file From d1cd675a989a3d022085059c7a70138a659c6723 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Thu, 31 Oct 2024 16:18:45 +0000 Subject: [PATCH 15/18] PC-1415: refactor code inspection tasks to a common parent --- tests/docker-compose.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/docker-compose.yml b/tests/docker-compose.yml index 623a2f5b..e3d00f01 100644 --- a/tests/docker-compose.yml +++ b/tests/docker-compose.yml @@ -19,18 +19,22 @@ services: expose: - "5432" - format-code-help-to-heat: + inspect-code-help-to-heat: build: context: ../ dockerfile: ./docker/tests/Dockerfile image: tests_help_to_heat env_file: - ../envs/tests - entrypoint: bash /check-code.sh --format volumes: - ../:/app/:z + format-code-help-to-heat: + extends: + service: inspect-code-help-to-heat + entrypoint: bash /check-code.sh --format + check-code-help-to-heat: extends: - service: format-code-help-to-heat + service: inspect-code-help-to-heat entrypoint: bash /check-code.sh \ No newline at end of file From 5e671fbf0e0de24b5cfa4c97b08a1fdb381b26b7 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Fri, 1 Nov 2024 10:24:34 +0000 Subject: [PATCH 16/18] PC-1349: add a guard for if property type is not found --- help_to_heat/frontdoor/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index a9e14a59..aeacaa0e 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -843,7 +843,9 @@ def build_extra_context(self, request, session_id, page_name, data, is_change_pa epc_property_type = epc.get("property-type") - if epc_property_type.upper() in property_types: + if epc_property_type is None: + property_type = None + elif epc_property_type.upper() in property_types: property_type = property_types[epc_property_type.upper()] else: logger.error(f"Unrecognised Property Type: {epc_property_type}") From 7c6d366384c03d57baa1732a29fc02788e8fbfb2 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Mon, 28 Oct 2024 14:30:20 +0000 Subject: [PATCH 17/18] PC-1374: add new epc data to session store in the same format as an E&W EPC --- help_to_heat/frontdoor/interface.py | 64 ++++++++++++++++++++++++++++- help_to_heat/frontdoor/views.py | 3 +- 2 files changed, 63 insertions(+), 4 deletions(-) diff --git a/help_to_heat/frontdoor/interface.py b/help_to_heat/frontdoor/interface.py index 067b9a54..0311c940 100644 --- a/help_to_heat/frontdoor/interface.py +++ b/help_to_heat/frontdoor/interface.py @@ -525,14 +525,74 @@ def parse_dpa_to_address(self, dpa): class EPC(Entity): - @with_schema(load=GetScottishEPCSchema, dump=EPCSchema) + @with_schema(load=GetScottishEPCSchema) def get_epc_scotland(self, uprn): try: epc = portal.models.ScottishEpcRating.objects.get(uprn=uprn) except portal.models.ScottishEpcRating.DoesNotExist: return {} - return {"uprn": epc.uprn, "rating": epc.rating, "date": epc.date} + improvements = epc.improvements + alternative_improvements = epc.alternative_improvements + all_improvements = improvements + ( + "|| Alternatives: " + alternative_improvements if alternative_improvements else "" + ) + + return { + # follows column names in help_to_heat/frontdoor/mock_epc_api_data/sample_epc_response.json + "uprn": epc.uprn, + "current-energy-rating": epc.rating, + "lodgement-date": epc.date, + "property-type": epc.property_type, + "address1": epc.address1, + "address2": epc.address2, + "address3": epc.address3, + "postcode": epc.postcode, + "building-reference-number": epc.building_reference_number, + "potential-energy-rating": epc.potential_rating, + "current-energy-efficiency": epc.current_energy_efficiency_rating, + "potential-energy-efficiency": epc.potential_energy_efficiency_rating, + "built-form": epc.built_form, + "inspection-date": epc.inspection_date, + "local-authority-label": epc.local_authority, + "constituency-label": epc.constituency, + "energy-consumption-current": epc.energy_consumption, + "energy-consumption-potential": epc.potential_energy_consumption, + "co2-emissions-current": epc.co2_emissions, + "co2-emiss-curr-per-floor-area": epc.co2_emissions_per_floor_area, + "co2-emissions-potential": epc.co2_emissions_potential, + "total-floor-area": epc.floor_area, + "floor-level": epc.floor_level, + "floor-height": epc.floor_height, + "energy-tariff": epc.energy_tariff, + "mains-gas-flag": epc.mains_gas, + "multi-glaze-proportion": epc.multiple_glazed_proportion, + "extension-count": epc.extension_count, + "number-habitable-rooms": epc.habitable_room_count, + "number-heated-rooms": epc.heated_room_count, + "floor-description": epc.floor_description, + "floor-energy-eff": epc.floor_energy_efficiency, + "windows-description": epc.windows_description, + "walls-description": epc.wall_description, + "walls-energy-eff": epc.wall_energy_efficiency, + "walls-env-eff": epc.wall_environmental_efficiency, + "mainheat-description": epc.main_heating_description, + "mainheat-energy-eff": epc.main_heating_energy_efficiency, + "mainheat-env-eff": epc.main_heating_environmental_efficiency, + "main-fuel": epc.main_heating_fuel_type, + "secondheat-description": epc.second_heating_description, + "sheating-energy-eff": epc.second_heating_energy_efficiency, + "roof-description": epc.roof_description, + "roof-energy-eff": epc.roof_energy_efficiency, + "roof-env-eff": epc.roof_environmental_efficiency, + "lighting-description": epc.lighting_description, + "lighting-energy-eff": epc.lighting_energy_efficiency, + "lighting-env-eff": epc.lighting_environmental_efficiency, + "mechanical-ventilation": epc.mechanical_ventilation, + "construction-age-band": epc.construction_age_band, + "tenure": epc.tenure, + "improvements": all_improvements, + } def get_address_and_epc_lmk(self, building_name_or_number, postcode): epc_api = EPCApi() diff --git a/help_to_heat/frontdoor/views.py b/help_to_heat/frontdoor/views.py index 355a0ef3..d7ed5a84 100644 --- a/help_to_heat/frontdoor/views.py +++ b/help_to_heat/frontdoor/views.py @@ -746,8 +746,7 @@ def save_post_data(self, data, session_id, page_name): if country == country_field_scotland and uprn is not None: epc = interface.api.epc.get_epc_scotland(uprn) if epc != {}: - epc_details = {"current-energy-rating": epc.get("rating"), "lodgement-date": epc.get("date")} - data[epc_details_field] = epc_details + data[epc_details_field] = epc data[epc_found_field] = field_yes return data From 9882a18dd492e6a4edb5c3c1c0dc317f355515c9 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Mon, 28 Oct 2024 16:12:50 +0000 Subject: [PATCH 18/18] PC-1374: expose recommendations from scottish epcs in export csv --- help_to_heat/portal/download_views.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/help_to_heat/portal/download_views.py b/help_to_heat/portal/download_views.py index b3e0f98a..205bf02a 100644 --- a/help_to_heat/portal/download_views.py +++ b/help_to_heat/portal/download_views.py @@ -478,15 +478,19 @@ def add_extra_row_data(referral, exclude_pii=False): "address_line_3": epc_data.get("address3"), } - # get and concatenate recommendations - recommendations = row.get(recommendations_field) or [] + recommendations = row.get(recommendations_field) - recommendations_string = ". ".join( - f"{recommendation.get('improvement-item')}: {recommendation.get('improvement-summary-text')}" - for recommendation in recommendations - ) + if recommendations: + # if in england, get and concatenate recommendations + recommendations_string = ". ".join( + f"{recommendation.get('improvement-item')}: {recommendation.get('improvement-summary-text')}" + for recommendation in recommendations + ) - row["improvements"] = recommendations_string + row["improvements"] = recommendations_string + else: + # else in scotland this is not a different endpoint in scotland so this is drawn from EPC + row["improvements"] = epc_data.get("improvements") return row