From cc0c8dba0241c4a1675d82fb5441e584e4c6a84d Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Mon, 22 Aug 2022 17:48:12 +0100 Subject: [PATCH] add scheme and location columns to exported csv logs, remove scheme_id and location_id --- app/models/case_log.rb | 84 +++++++++++++++++++++- spec/fixtures/files/case_logs_download.csv | 2 +- 2 files changed, 84 insertions(+), 2 deletions(-) diff --git a/app/models/case_log.rb b/app/models/case_log.rb index 4f4e535a3..8637c1e78 100644 --- a/app/models/case_log.rb +++ b/app/models/case_log.rb @@ -439,6 +439,88 @@ class CaseLog < ApplicationRecord created_by&.name end + def scheme_code + scheme&.id ? "S#{scheme.id}" : nil + end + + def scheme_name + scheme&.service_name + end + + def scheme_confidential_information + scheme&.sensitive + end + + def scheme_type + scheme&.scheme_type + end + + def scheme_registered_under_care_act + scheme&.registered_under_care_act + end + + def scheme_housing_stock_owned_by + scheme&.owning_organisation&.name + end + + def scheme_support_provided_by + scheme&.managing_organisation&.name + end + + def scheme_primary_client_group + scheme&.primary_client_group + end + def scheme_has_another_client_group + scheme&.has_other_client_group + end + def scheme_secondary_client_group + scheme&.secondary_client_group + end + def scheme_level_of_support + scheme&.support_type + end + + def scheme_intended_length_of_stay + scheme&.intended_stay + end + + def scheme_created + scheme&.created_at + end + + # This is not the location_code in the db, location.id is just called code in the UI + def location_code + location&.id + end + + def location_postcode + location&.postcode + end + + def location_name + location&.name + end + + def location_units + location&.units + end + + def location_common_unit_type + location&.type_of_unit + end + + def location_mobility_type + location&.mobility_type + end + + def location_local_authority + location&.location_admin_district + end + + def location_available_from + location&.startdate + end + def self.to_csv(user = nil) CSV.generate(headers: true) do |csv| attributes = csv_attributes(user) @@ -460,7 +542,7 @@ class CaseLog < ApplicationRecord end def self.csv_attributes(user) - attributes = attribute_names - %w[owning_organisation_id managing_organisation_id created_by_id] + %w[unittype_sh owning_organisation_name managing_organisation_name created_by_name] + attributes = attribute_names - %w[owning_organisation_id managing_organisation_id created_by_id scheme_id location_id] + %w[unittype_sh owning_organisation_name managing_organisation_name created_by_name scheme_code scheme_name scheme_confidential_information scheme_type scheme_registered_under_care_act scheme_housing_stock_owned_by scheme_support_provided_by scheme_primary_client_group scheme_has_another_client_group scheme_secondary_client_group scheme_level_of_support scheme_intended_length_of_stay scheme_created location_code location_postcode location_name location_units location_common_unit_type location_mobility_type location_local_authority location_available_from] user.present? && !user.support? ? attributes - CSV_FIELDS_TO_OMIT : attributes end diff --git a/spec/fixtures/files/case_logs_download.csv b/spec/fixtures/files/case_logs_download.csv index b1d71dfec..1f4b3b56c 100644 --- a/spec/fixtures/files/case_logs_download.csv +++ b/spec/fixtures/files/case_logs_download.csv @@ -1,2 +1,2 @@ -id,status,created_at,updated_at,tenancycode,age1,sex1,ethnic,national,prevten,ecstat1,hhmemb,age2,sex2,ecstat2,age3,sex3,ecstat3,age4,sex4,ecstat4,age5,sex5,ecstat5,age6,sex6,ecstat6,age7,sex7,ecstat7,age8,sex8,ecstat8,homeless,underoccupation_benefitcap,leftreg,reservist,illness,preg_occ,startertenancy,tenancylength,tenancy,ppostcode_full,rsnvac,unittype_gn,beds,offered,wchair,earnings,incfreq,benefits,period,layear,waityear,postcode_full,reasonpref,cbl,chr,cap,reasonother,housingneeds_a,housingneeds_b,housingneeds_c,housingneeds_f,housingneeds_g,housingneeds_h,illness_type_1,illness_type_2,illness_type_3,illness_type_4,illness_type_8,illness_type_5,illness_type_6,illness_type_7,illness_type_9,illness_type_10,rp_homeless,rp_insan_unsat,rp_medwel,rp_hardship,rp_dontknow,tenancyother,net_income_value_check,property_owner_organisation,property_manager_organisation,sale_or_letting,irproduct_other,purchaser_code,reason,propcode,majorrepairs,la,prevloc,hb,hbrentshortfall,property_relet,mrcdate,incref,sale_completion_date,startdate,armedforces,first_time_property_let_as_social_housing,unitletas,builtype,voiddate,renttype,needstype,lettype,postcode_known,is_la_inferred,totchild,totelder,totadult,net_income_known,nocharge,is_carehome,household_charge,referral,brent,scharge,pscharge,supcharg,tcharge,tshortfall,chcharge,declaration,ppcodenk,previous_la_known,is_previous_la_inferred,age1_known,age2_known,age3_known,age4_known,age5_known,age6_known,age7_known,age8_known,ethnic_group,ethnic_other,letting_allocation_unknown,details_known_2,details_known_3,details_known_4,details_known_5,details_known_6,details_known_7,details_known_8,rent_type,has_benefits,renewal,wrent,wscharge,wpschrge,wsupchrg,wtcharge,wtshortfall,refused,housingneeds,wchchrg,newprop,relat2,relat3,relat4,relat5,relat6,relat7,relat8,rent_value_check,old_form_id,lar,irproduct,old_id,joint,illness_type_0,retirement_value_check,tshortfall_known,sheltered,pregnancy_value_check,hhtype,new_old,vacdays,scheme_id,location_id,major_repairs_date_value_check,void_date_value_check,unittype_sh,owning_organisation_name,managing_organisation_name,created_by_name +id,status,created_at,updated_at,tenancycode,age1,sex1,ethnic,national,prevten,ecstat1,hhmemb,age2,sex2,ecstat2,age3,sex3,ecstat3,age4,sex4,ecstat4,age5,sex5,ecstat5,age6,sex6,ecstat6,age7,sex7,ecstat7,age8,sex8,ecstat8,homeless,underoccupation_benefitcap,leftreg,reservist,illness,preg_occ,startertenancy,tenancylength,tenancy,ppostcode_full,rsnvac,unittype_gn,beds,offered,wchair,earnings,incfreq,benefits,period,layear,waityear,postcode_full,reasonpref,cbl,chr,cap,reasonother,housingneeds_a,housingneeds_b,housingneeds_c,housingneeds_f,housingneeds_g,housingneeds_h,illness_type_1,illness_type_2,illness_type_3,illness_type_4,illness_type_8,illness_type_5,illness_type_6,illness_type_7,illness_type_9,illness_type_10,rp_homeless,rp_insan_unsat,rp_medwel,rp_hardship,rp_dontknow,tenancyother,net_income_value_check,property_owner_organisation,property_manager_organisation,sale_or_letting,irproduct_other,purchaser_code,reason,propcode,majorrepairs,la,prevloc,hb,hbrentshortfall,property_relet,mrcdate,incref,sale_completion_date,startdate,armedforces,first_time_property_let_as_social_housing,unitletas,builtype,voiddate,renttype,needstype,lettype,postcode_known,is_la_inferred,totchild,totelder,totadult,net_income_known,nocharge,is_carehome,household_charge,referral,brent,scharge,pscharge,supcharg,tcharge,tshortfall,chcharge,declaration,ppcodenk,previous_la_known,is_previous_la_inferred,age1_known,age2_known,age3_known,age4_known,age5_known,age6_known,age7_known,age8_known,ethnic_group,ethnic_other,letting_allocation_unknown,details_known_2,details_known_3,details_known_4,details_known_5,details_known_6,details_known_7,details_known_8,rent_type,has_benefits,renewal,wrent,wscharge,wpschrge,wsupchrg,wtcharge,wtshortfall,refused,housingneeds,wchchrg,newprop,relat2,relat3,relat4,relat5,relat6,relat7,relat8,rent_value_check,old_form_id,lar,irproduct,old_id,joint,illness_type_0,retirement_value_check,tshortfall_known,sheltered,pregnancy_value_check,hhtype,new_old,vacdays,scheme_id,location_id,major_repairs_date_value_check,void_date_value_check,unittype_sh,owning_organisation_name,managing_organisation_name,created_by_name,scheme_code,scheme_name,scheme_confidential_information,scheme_type,scheme_registered_under_care_standards_act,scheme_housing_stock_owned_by,scheme_support_provided_by,scheme_primary_client_group,scheme_has_another_client_group,scheme_secondary_client_group,scheme_level_of_support,scheme_intended_length_of_stay,scheme_created,location_code,location_postcode,location_name,location_units,location_common_unit_type,location_mobility_type,location_local_authority,location_available_from {id},in_progress,2022-02-08 16:52:15 +0000,2022-02-08 16:52:15 +0000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,SE1 1TE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Westminster,,,,,,,,,,,,,,,Supported housing,,,No,0,0,0,,0,,,,,,,,,,,,,,No,,,,,,,,,,,,,,,,,,,,0,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,9,,,{scheme_id},SE1 1TE,,,6,DLUHC,DLUHC,Danny Rojas