From 705c896b2ca4d4035900b0844f786056e79cf411 Mon Sep 17 00:00:00 2001 From: Samuel Date: Thu, 15 May 2025 17:44:15 +0100 Subject: [PATCH] Update import raketask to use provided csv looking into it I couldn't see a use for skip_group_member_validation. it temporarily disables validation but since it's not saved to database it'll make the organisation invalid in the future opted instead to make all properties valid when importing --- app/models/organisation.rb | 3 +- ...5_organisation_profit_status_and_group.csv | 898 ++++++++++++++++++ ...ate_organisations_group_profit_status.rake | 24 +- 3 files changed, 919 insertions(+), 6 deletions(-) create mode 100644 config/csv/organisations_structure/20250515_organisation_profit_status_and_group.csv diff --git a/app/models/organisation.rb b/app/models/organisation.rb index 6e38040f9..8af785e22 100644 --- a/app/models/organisation.rb +++ b/app/models/organisation.rb @@ -63,7 +63,6 @@ class Organisation < ApplicationRecord enum :profit_status, PROFIT_STATUS attribute :group_member, :boolean - attr_accessor :skip_group_member_validation before_save :clear_group_member_fields_if_not_group_member @@ -72,7 +71,7 @@ class Organisation < ApplicationRecord validates :name, presence: { message: I18n.t("validations.organisation.name_missing") } validates :name, uniqueness: { case_sensitive: false, message: I18n.t("validations.organisation.name_not_unique") } validates :provider_type, presence: { message: I18n.t("validations.organisation.provider_type_missing") } - validates :group_member_id, presence: { message: I18n.t("validations.organisation.group_missing") }, if: -> { group_member? && !skip_group_member_validation } + validates :group_member_id, presence: { message: I18n.t("validations.organisation.group_missing") }, if: -> { group_member? } validate :validate_profit_status def self.find_by_id_on_multiple_fields(id) diff --git a/config/csv/organisations_structure/20250515_organisation_profit_status_and_group.csv b/config/csv/organisations_structure/20250515_organisation_profit_status_and_group.csv new file mode 100644 index 000000000..971038dfe --- /dev/null +++ b/config/csv/organisations_structure/20250515_organisation_profit_status_and_group.csv @@ -0,0 +1,898 @@ +id,provider_type,profit_status,group +701,PRP,Non-profit, +950,PRP,Non-profit, +808,PRP,Non-profit,2 +952,PRP,Non-profit,2 +815,PRP,Non-profit,2 +311,PRP,Non-profit, +610,PRP,Non-profit, +743,PRP,Non-profit, +750,PRP,Non-profit, +642,PRP,Profit, +181,PRP,Non-profit, +568,PRP,Non-profit, +954,PRP,Non-profit, +994,PRP,Non-profit, +763,PRP,Non-profit, +878,PRP,Non-profit, +961,PRP,Non-profit, +908,LA,Non-profit, +723,PRP,Non-profit, +198,PRP,Non-profit, +895,PRP,Non-profit, +420,LA,Local authority, +470,PRP,Non-profit, +541,PRP,Non-profit, +479,PRP,Profit, +82,PRP,Non-profit, +857,PRP,Non-profit, +807,PRP,Non-profit, +83,PRP,Non-profit, +39,PRP,Non-profit, +707,PRP,Non-profit, +1006,PRP,Local authority, +765,PRP,Non-profit, +649,PRP,Non-profit, +805,PRP,Non-profit, +960,PRP,Non-profit, +985,PRP,Non-profit, +531,PRP,Non-profit, +84,PRP,Non-profit, +629,PRP,Non-profit, +199,PRP,Non-profit, +273,LA,Local authority, +827,PRP,Profit, +442,LA,Local authority, +409,LA,Local authority, +772,PRP,Non-profit, +314,PRP,Non-profit, +240,PRP,Non-profit, +624,PRP,Non-profit, +918,PRP,Non-profit,4 +888,PRP,Non-profit,4 +955,PRP,Non-profit,4 +907,PRP,Non-profit, +464,PRP,Profit, +468,PRP,Non-profit, +450,LA,Local authority, +790,PRP,Local authority, +874,PRP,Non-profit, +739,PRP,Non-profit, +556,PRP,Non-profit, +923,PRP,Non-profit, +200,PRP,Non-profit, +534,LA,Local authority, +806,LA,Local authority, +668,LA,Local authority, +934,PRP,Non-profit, +85,PRP,Non-profit, +2,PRP,Non-profit, +905,PRP,Non-profit, +524,PRP,Non-profit, +791,PRP,Non-profit, +86,PRP,Non-profit, +201,PRP,Non-profit, +640,PRP,Non-profit, +315,PRP,Non-profit, +323,PRP,Non-profit, +693,LA,Local authority, +496,PRP,Non-profit, +481,PRP,Non-profit, +579,PRP,Non-profit, +322,LA,Local authority, +298,PRP,Local authority, +4,LA,Local authority, +490,PRP,Non-profit, +438,LA,Non-profit, +87,PRP,Non-profit, +88,PRP,Non-profit, +527,LA,Local authority, +877,PRP,Local authority, +818,PRP,Non-profit, +670,PRP,Non-profit, +766,PRP,Non-profit, +639,PRP,Non-profit, +940,PRP,Non-profit, +626,PRP,Non-profit, +460,LA,Local authority, +713,PRP,Non-profit, +89,PRP,Non-profit, +609,PRP,Non-profit, +422,LA,Local authority, +90,PRP,Non-profit, +529,LA,Local authority, +999,PRP,Non-profit, +462,PRP,Non-profit, +914,PRP,Non-profit, +182,PRP,Non-profit, +933,PRP,Non-profit, +241,PRP,Non-profit,5 +959,PRP,Non-profit,5 +692,PRP,Non-profit, +465,PRP,Non-profit, +518,LA,Local authority, +25,PRP,Non-profit, +34,LA,Local authority, +800,PRP,Local authority, +202,PRP,Non-profit, +544,PRP,Non-profit, +953,PRP,Non-profit, +637,PRP,Non-profit, +461,LA,Local authority, +880,PRP,Local authority, +40,PRP,Non-profit, +401,LA,Local authority, +1015,PRP,Local authority, +429,LA,Local authority, +983,PRP,Non-profit, +652,PRP,Non-profit, +279,LA,Local authority, +275,PRP,Non-profit, +665,PRP,Non-profit, +704,PRP,Non-profit, +734,PRP,Non-profit, +408,LA,Local authority, +854,PRP,Non-profit, +700,PRP,Non-profit, +733,PRP,Non-profit, +870,PRP,Non-profit, +23,PRP,Non-profit, +430,LA,Local authority, +831,PRP,Non-profit, +844,PRP,Non-profit, +302,LA,Local authority, +286,PRP,Non-profit, +41,PRP,Non-profit, +284,LA,Local authority, +493,PRP,Non-profit, +798,LA,Local authority, +335,LA,Local authority, +91,PRP,Non-profit, +661,PRP,Non-profit, +850,PRP,Non-profit, +66,PRP,Non-profit, +31,PRP,Non-profit, +191,PRP,Non-profit, +558,PRP,Non-profit, +511,PRP,Non-profit, +721,LA,Local authority, +307,LA,Local authority, +911,PRP,Non-profit, +454,LA,Local authority, +981,PRP,Non-profit, +319,LA,Local authority, +404,LA,Local authority, +92,LA,Local authority, +659,PRP,Non-profit, +747,PRP,Non-profit, +5,PRP,Non-profit, +316,PRP,Non-profit, +292,LA,Local authority, +42,PRP,Non-profit, +242,PRP,Non-profit, +931,PRP,Non-profit, +759,PRP,Non-profit, +612,PRP,Non-profit, +658,PRP,Profit, +243,PRP,Non-profit, +1007,PRP,Non-profit, +232,PRP,Non-profit, +44,PRP,Non-profit, +43,PRP,Non-profit, +203,PRP,Non-profit, +497,LA,Local authority, +514,PRP,Non-profit, +24,PRP,Non-profit, +204,PRP,Non-profit, +635,PRP,Non-profit, +813,PRP,Non-profit, +865,PRP,Non-profit, +715,PRP,Non-profit, +93,LA,Local authority, +817,PRP,Non-profit, +557,PRP,Non-profit, +746,PRP,Non-profit, +282,PRP,Non-profit, +618,PRP,Non-profit, +663,PRP,Non-profit, +821,PRP,Non-profit, +741,PRP,Non-profit, +403,LA,Local authority, +78,PRP,Non-profit, +415,LA,Local authority, +405,LA,Local authority, +977,PRP,Non-profit, +675,PRP,Non-profit, +525,LA,Local authority, +519,PRP,Non-profit, +94,PRP,Non-profit, +67,PRP,Non-profit, +485,PRP,Non-profit, +930,PRP,Non-profit, +95,PRP,Non-profit, +656,PRP,Local authority, +288,LA,Local authority, +192,LA,Local authority, +96,PRP,Non-profit, +205,PRP,Non-profit, +97,PRP,Non-profit, +413,LA,Local authority, +6,PRP,Non-profit, +760,LA,Local authority, +447,LA,Local authority, +280,LA,Local authority, +300,PRP,Local authority, +317,LA,Local authority, +512,PRP,Non-profit, +98,PRP,Non-profit, +70,PRP,Non-profit, +99,PRP,Non-profit, +29,PRP,Non-profit, +100,PRP,Non-profit, +1004,PRP,Non-profit, +101,PRP,Non-profit, +1011,LA,Local authority, +722,PRP,Non-profit, +559,PRP,Non-profit, +206,PRP,Non-profit, +495,PRP,Non-profit, +207,PRP,Non-profit, +102,LA,Local authority, +912,PRP,Non-profit, +561,PRP,Non-profit, +103,PRP,Non-profit, +644,PRP,Non-profit, +452,LA,Local authority, +608,PRP,Non-profit, +472,PRP,Non-profit, +466,PRP,Non-profit, +208,PRP,Non-profit, +580,PRP,Non-profit, +105,PRP,Non-profit, +835,PRP,Non-profit, +970,LA,Local authority, +276,PRP,Non-profit, +486,PRP,Non-profit, +951,PRP,Non-profit, +1003,PRP,Non-profit, +797,PRP,Non-profit, +548,PRP,Profit, +414,LA,Local authority, +748,PRP,Non-profit, +872,PRP,Non-profit, +777,PRP,Non-profit, +16,PRP,Non-profit, +263,PRP,Non-profit, +245,PRP,Non-profit, +630,PRP,Profit, +515,PRP,Non-profit,3 +244,PRP,Non-profit,3 +968,PRP,Non-profit,3 +634,PRP,Non-profit, +538,PRP,Non-profit, +521,LA,Local authority, +728,PRP,Non-profit, +799,PRP,Non-profit, +246,PRP,Non-profit, +889,PRP,Non-profit, +614,PRP,Non-profit, +893,PRP,Non-profit, +106,PRP,Non-profit, +247,PRP,Non-profit, +424,LA,Local authority, +45,PRP,Non-profit, +209,PRP,Profit, +716,PRP,Non-profit, +657,PRP,Non-profit, +833,PRP,Non-profit, +494,LA,Local authority, +473,PRP,Non-profit, +1012,PRP,Non-profit, +28,PRP,Non-profit, +856,PRP,Non-profit, +572,PRP,Non-profit, +969,PRP,Non-profit,6 +643,PRP,Non-profit, +418,LA,Local authority, +210,PRP,Non-profit, +551,PRP,Profit, +564,PRP,Non-profit, +476,PRP,Non-profit, +788,PRP,Non-profit, +46,PRP,Non-profit, +881,PRP,Non-profit, +419,LA,Local authority, +653,PRP,Non-profit, +972,PRP,Non-profit, +814,PRP,Non-profit, +327,LA,Local authority, +502,PRP,Non-profit, +108,PRP,Non-profit, +921,PRP,Non-profit, +957,PRP,Non-profit, +731,PRP,Non-profit, +21,PRP,Profit, +65,PRP,Non-profit, +109,PRP,Non-profit, +47,PRP,Non-profit, +847,PRP,Non-profit, +860,PRP,Non-profit, +265,PRP,Profit, +287,LA,Local authority, +980,PRP,Non-profit, +824,PRP,Non-profit, +546,PRP,Non-profit, +211,PRP,Non-profit, +416,LA,Local authority, +785,PRP,Local authority, +578,PRP,Non-profit, +71,PRP,Non-profit, +48,PRP,Non-profit, +672,PRP,Non-profit, +684,PRP,Non-profit, +650,PRP,Non-profit, +500,PRP,Non-profit, +332,LA,Non-profit, +266,PRP,Non-profit, +702,PRP,Non-profit, +752,PRP,Non-profit, +110,PRP,Non-profit, +694,PRP,Non-profit, +819,PRP,Non-profit, +620,PRP,Non-profit, +1010,PRP,Non-profit, +111,PRP,Non-profit, +853,PRP,Non-profit,7 +732,PRP,Non-profit, +112,PRP,Non-profit, +755,PRP,Non-profit, +12,PRP,Non-profit, +655,PRP,Non-profit, +49,PRP,Non-profit, +574,PRP,Non-profit, +113,PRP,Non-profit, +823,PRP,Non-profit, +775,PRP,Non-profit, +706,PRP,Non-profit, +780,PRP,Non-profit, +822,PRP,Non-profit, +264,PRP,Non-profit, +887,PRP,Non-profit, +114,PRP,Non-profit, +115,PRP,Non-profit, +212,PRP,Non-profit, +290,LA,Local authority, +982,PRP,Local authority, +72,PRP,Non-profit, +575,PRP,Non-profit, +778,PRP,Non-profit, +477,PRP,Non-profit, +183,PRP,Non-profit, +767,PRP,Non-profit, +837,PRP,Non-profit, +272,PRP,Non-profit, +248,PRP,Non-profit, +990,PRP,Non-profit, +736,PRP,Non-profit, +988,PRP,Non-profit, +939,PRP,Non-profit, +116,PRP,Non-profit, +1017,PRP,Non-profit, +526,PRP,Non-profit, +214,PRP,Non-profit, +520,LA,Local authority, +117,PRP,Non-profit, +583,PRP,Non-profit,7 +118,LA,Local authority, +50,PRP,Non-profit, +709,PRP,Non-profit, +26,PRP,Non-profit, +11,PRP,Non-profit, +781,PRP,Non-profit, +421,LA,Local authority, +119,PRP,Non-profit, +73,PRP,Non-profit, +926,PRP,Non-profit, +51,PRP,Non-profit, +1001,PRP,Non-profit, +848,PRP,Non-profit, +679,PRP,Non-profit, +328,PRP,Non-profit, +428,LA,Local authority, +971,PRP,Local authority, +892,PRP,Non-profit, +553,PRP,Non-profit, +121,PRP,Non-profit, +758,PRP,Non-profit, +1019,PRP,Profit, +735,PRP,Profit, +1020,PRP,Profit, +435,LA,Local authority, +678,PRP,Local authority, +691,PRP,Local authority, +329,LA,Local authority, +836,PRP,Non-profit, +120,PRP,Non-profit, +250,PRP,Non-profit, +14,PRP,Non-profit, +927,LA,Local authority, +74,PRP,Non-profit, +122,PRP,Non-profit, +816,PRP,Non-profit, +184,PRP,Non-profit, +185,PRP,Non-profit, +978,PRP,Non-profit, +52,PRP,Non-profit, +621,PRP,Non-profit, +333,LA,Local authority, +193,LA,Local authority, +308,LA,Local authority, +436,LA,Local authority, +965,LA,Local authority, +310,LA,Local authority, +517,LA,Local authority, +535,LA,Local authority, +123,LA,Local authority, +79,LA,Local authority, +492,LA,Local authority, +859,LA,Local authority, +262,LA,Local authority, +498,LA,Local authority, +633,LA,Local authority, +437,LA,Local authority, +443,LA,Local authority, +124,LA,Local authority, +523,LA,Local authority, +278,LA,Local authority, +309,LA,Local authority, +194,LA,Local authority, +761,PRP,Non-profit, +186,PRP,Non-profit, +811,PRP,Non-profit, +216,PRP,Non-profit, +425,LA,Local authority, +148,PRP,Non-profit, +17,PRP,Non-profit, +942,PRP,Profit, +261,PRP,Non-profit, +251,PRP,Non-profit, +919,LA,Local authority, +289,LA,Local authority, +787,PRP,Non-profit, +631,PRP,Non-profit, +771,PRP,Non-profit, +217,PRP,Non-profit, +68,PRP,Non-profit, +904,PRP,Profit, +126,LA,Local authority, +445,LA,Local authority, +963,PRP,Local authority, +573,PRP,Non-profit,5 +127,PRP,Non-profit, +613,PRP,Non-profit, +632,PRP,Non-profit, +730,PRP,Non-profit, +509,LA,Local authority, +417,LA,Local authority, +616,PRP,Non-profit, +997,PRP,Non-profit, +689,LA,Local authority, +862,PRP,Non-profit, +682,PRP,Non-profit, +964,PRP,Non-profit, +681,PRP,Non-profit, +796,PRP,Non-profit, +719,PRP,Non-profit, +505,PRP,Non-profit, +487,PRP,Non-profit, +128,PRP,Non-profit, +932,PRP,Non-profit, +846,PRP,Non-profit, +998,PRP,Non-profit, +129,PRP,Non-profit, +130,PRP,Non-profit, +867,PRP,Non-profit, +407,LA,Local authority, +625,PRP,Non-profit, +131,PRP,Non-profit, +549,PRP,Non-profit, +915,PRP,Non-profit, +132,PRP,Non-profit, +710,PRP,Profit, +439,LA,Local authority, +325,LA,Local authority, +53,PRP,Non-profit, +738,PRP,Non-profit, +727,PRP,Non-profit, +906,PRP,Non-profit, +690,PRP,Non-profit, +469,PRP,Non-profit, +296,LA,Local authority, +793,PRP,Non-profit, +336,LA,Local authority, +218,PRP,Non-profit, +133,LA,Local authority, +973,PRP,Local authority, +885,PRP,Non-profit, +536,LA,Local authority, +80,LA,Local authority, +440,LA,Local authority, +456,LA,Local authority, +789,PRP,Local authority, +297,PRP,Local authority, +677,PRP,Non-profit, +277,PRP,Local authority, +38,PRP,Local authority, +830,PRP,Non-profit, +301,LA,Local authority, +75,PRP,Non-profit, +770,PRP,Non-profit, +686,PRP,Non-profit, +537,LA,Local authority, +533,PRP,Non-profit, +698,PRP,Non-profit, +717,PRP,Non-profit, +69,PRP,Non-profit, +239,PRP,Non-profit, +948,PRP,Non-profit, +444,LA,Local authority, +402,LA,Local authority, +986,PRP,Non-profit, +252,PRP,Non-profit, +253,PRP,Non-profit, +219,PRP,Non-profit, +820,LA,Local authority, +254,PRP,Non-profit, +324,PRP,Non-profit, +845,PRP,Non-profit, +705,PRP,Non-profit, +554,PRP,Non-profit, +255,PRP,Non-profit, +712,PRP,Non-profit, +651,PRP,Non-profit, +699,PRP,Non-profit, +987,PRP,Non-profit, +779,PRP,Non-profit, +886,PRP,Non-profit, +195,LA,Local authority, +869,PRP,Non-profit, +683,PRP,Non-profit, +917,PRP,Non-profit, +688,PRP,Non-profit, +654,PRP,Non-profit, +326,PRP,Non-profit, +555,PRP,Profit, +696,PRP,Non-profit, +782,PRP,Non-profit, +839,PRP,Non-profit, +946,PRP,Profit, +220,PRP,Non-profit, +221,PRP,Non-profit, +1000,PRP,Non-profit,7 +222,PRP,Non-profit, +294,PRP,Profit, +863,PRP,Non-profit, +562,PRP,Non-profit, +223,PRP,Local authority, +135,PRP,Non-profit, +669,PRP,Non-profit, +136,PRP,Non-profit, +137,PRP,Non-profit, +611,PRP,Profit, +891,PRP,Profit, +864,PRP,Profit, +989,PRP,Non-profit,1 +724,PRP,Non-profit,1 +680,PRP,Non-profit,1 +187,PRP,Non-profit, +224,PRP,Non-profit, +501,PRP,Non-profit, +499,PRP,Non-profit, +225,PRP,Non-profit, +852,PRP,Non-profit, +913,PRP,Non-profit, +451,LA,Local authority, +20,PRP,Non-profit, +958,PRP,Non-profit, +674,PRP,Profit, +10,PRP,Non-profit, +774,PRP,Non-profit, +54,PRP,Non-profit, +55,PRP,Non-profit, +944,PRP,Non-profit, +627,PRP,Non-profit, +949,PRP,Non-profit, +1005,PRP,Non-profit, +920,PRP,Non-profit, +138,PRP,Non-profit, +139,PRP,Non-profit, +729,PRP,Non-profit, +1018,PRP,Non-profit, +530,LA,Local authority, +1016,PRP,Non-profit, +140,PRP,Non-profit, +426,LA,Local authority, +226,PRP,Non-profit, +812,PRP,Non-profit, +809,PRP,Non-profit, +545,LA,Local authority, +873,PRP,Profit,6 +764,PRP,Profit,6 +141,PRP,Non-profit, +884,PRP,Non-profit, +142,PRP,Non-profit, +1013,PRP,Non-profit, +330,PRP,Non-profit, +482,PRP,Non-profit, +615,PRP,Non-profit, +227,PRP,Non-profit, +459,LA,Local authority, +305,LA,Local authority, +648,PRP,Local authority, +607,PRP,Non-profit, +803,LA,Local authority, +423,LA,Local authority, +448,LA,Local authority, +507,LA,Local authority, +412,LA,Local authority, +834,PRP,Local authority, +979,PRP,Non-profit, +306,PRP,Non-profit, +563,PRP,Non-profit, +143,PRP,Non-profit, +646,PRP,Non-profit, +695,PRP,Non-profit, +188,PRP,Non-profit, +334,PRP,Profit, +993,PRP,Profit, +30,PRP,Non-profit, +883,PRP,Non-profit, +776,PRP,Non-profit, +619,PRP,Non-profit, +714,PRP,Non-profit, +144,PRP,Non-profit, +196,LA,Local authority, +516,PRP,Non-profit, +664,PRP,Non-profit, +744,PRP,Non-profit, +467,PRP,Non-profit, +189,PRP,Non-profit, +483,PRP,Non-profit, +506,PRP,Non-profit, +996,PRP,Non-profit, +751,LA,Local authority, +567,PRP,Non-profit, +560,PRP,Non-profit, +56,PRP,Non-profit, +299,PRP,Non-profit, +37,LA,Local authority, +36,PRP,Non-profit, +35,PRP,Non-profit, +145,PRP,Non-profit, +754,PRP,Profit, +749,PRP,Profit, +941,PRP,Non-profit, +33,PRP,Non-profit, +331,LA,Local authority, +956,PRP,Non-profit, +27,PRP,Non-profit, +916,PRP,Non-profit, +882,PRP,Non-profit, +992,PRP,Non-profit, +925,PRP,Non-profit, +966,LA,Local authority, +910,PRP,Non-profit, +312,LA,Local authority, +146,LA,Local authority, +478,LA,Local authority, +228,PRP,Non-profit, +453,LA,Local authority, +539,LA,Local authority, +147,PRP,Non-profit, +256,PRP,Non-profit, +976,LA,Local authority, +285,LA,Local authority, +318,PRP,Local authority, +565,PRP,Non-profit, +427,LA,Local authority, +922,PRP,Non-profit, +641,PRP,Non-profit, +455,LA,Local authority, +57,PRP,Non-profit, +938,PRP,Non-profit, +623,PRP,Non-profit, +840,PRP,Non-profit, +257,PRP,Non-profit, +569,PRP,Non-profit, +552,LA,Local authority, +876,PRP,Local authority, +19,PRP,Non-profit, +58,PRP,Non-profit, +841,PRP,Non-profit, +293,PRP,Profit, +433,LA,Local authority, +149,PRP,Non-profit, +150,PRP,Non-profit, +843,PRP,Non-profit, +281,PRP,Non-profit, +991,PRP,Non-profit, +929,PRP,Non-profit, +795,PRP,Non-profit, +742,PRP,Non-profit, +151,PRP,Non-profit, +1002,PRP,Non-profit, +685,PRP,Non-profit, +291,PRP,Non-profit, +152,PRP,Non-profit, +153,LA,Local authority, +463,PRP,Non-profit, +491,LA,Local authority, +532,LA,Local authority, +871,PRP,Local authority, +229,PRP,Non-profit, +666,PRP,Non-profit, +829,PRP,Non-profit, +697,PRP,Non-profit, +936,PRP,Profit, +570,PRP,Local authority, +410,LA,Local authority, +855,PRP,Non-profit, +295,LA,Local authority, +155,PRP,Non-profit, +304,PRP,Non-profit, +156,PRP,Non-profit, +1008,PRP,Non-profit, +875,PRP,Non-profit, +446,LA,Local authority, +879,PRP,Local authority, +786,PRP,Non-profit,4 +434,LA,Local authority, +157,PRP,Non-profit, +441,LA,Local authority, +230,PRP,Non-profit, +628,PRP,Non-profit, +828,PRP,Non-profit, +231,PRP,Non-profit, +158,PRP,Non-profit, +489,PRP,Non-profit, +1021,LA,Local authority, +159,PRP,Non-profit, +825,PRP,Non-profit, +708,PRP,Non-profit, +81,LA,Local authority, +671,PRP,Non-profit, +197,PRP,Non-profit, +810,PRP,Non-profit, +962,PRP,Non-profit, +160,PRP,Non-profit, +510,PRP,Non-profit, +22,PRP,Non-profit, +258,PRP,Non-profit, +984,PRP,Non-profit, +622,PRP,Non-profit, +104,PRP,Non-profit, +943,PRP,Non-profit, +638,PRP,Non-profit, +107,PRP,Non-profit, +769,PRP,Non-profit, +660,PRP,Non-profit, +161,PRP,Non-profit, +162,PRP,Non-profit, +1014,PRP,Non-profit, +667,PRP,Non-profit, +673,PRP,Non-profit, +134,PRP,Non-profit, +480,PRP,Non-profit, +896,PRP,Non-profit, +890,PRP,Non-profit, +937,PRP,Non-profit, +995,PRP,Non-profit, +543,PRP,Non-profit, +76,PRP,Non-profit, +794,PRP,Non-profit, +267,PRP,Non-profit, +725,PRP,Non-profit, +59,PRP,Non-profit, +522,PRP,Non-profit, +945,PRP,Non-profit, +163,PRP,Non-profit, +897,PRP,Non-profit, +636,PRP,Non-profit, +475,PRP,Non-profit, +768,LA,Local authority, +645,PRP,Non-profit, +726,PRP,Non-profit, +259,PRP,Non-profit, +547,PRP,Non-profit, +566,PRP,Non-profit, +550,PRP,Non-profit, +861,PRP,Non-profit, +832,PRP,Non-profit, +508,PRP,Non-profit, +233,PRP,Non-profit, +234,PRP,Non-profit, +488,PRP,Non-profit, +773,PRP,Non-profit, +164,PRP,Non-profit, +740,PRP,Non-profit, +804,PRP,Non-profit, +647,PRP,Non-profit, +32,PRP,Non-profit, +851,PRP,Non-profit, +703,PRP,Non-profit, +826,PRP,Non-profit, +577,PRP,Non-profit, +432,LA,Local authority, +571,PRP,Local authority, +909,PRP,Non-profit, +581,PRP,Non-profit, +617,PRP,Non-profit, +504,PRP,Profit, +801,PRP,Non-profit, +935,PRP,Non-profit, +320,PRP,Non-profit, +260,PRP,Non-profit, +9,PRP,Non-profit, +165,PRP,Non-profit, +757,PRP,Non-profit, +166,PRP,Non-profit, +431,LA,Local authority, +235,PRP,Non-profit, +236,PRP,Non-profit, +167,PRP,Non-profit, +237,PRP,Non-profit, +313,LA,Local authority, +838,PRP,Local authority, +457,LA,Local authority, +474,PRP,Non-profit, +60,PRP,Non-profit, +168,PRP,Non-profit, +406,LA,Local authority, +61,PRP,Non-profit, +858,PRP,Non-profit, +484,PRP,Non-profit, +169,LA,Local authority, +967,PRP,Local authority, +274,LA,Local authority, +8,PRP,Non-profit, +792,PRP,Non-profit, +974,LA,Local authority, +62,PRP,Non-profit, +190,PRP,Non-profit, +18,PRP,Non-profit, +77,PRP,Non-profit, +458,LA,Local authority, +975,PRP,Non-profit, +449,LA,Local authority, +411,LA,Local authority, +13,PRP,Non-profit, +171,PRP,Non-profit, +172,LA,Local authority, +283,LA,Local authority, +737,LA,Local authority, +718,PRP,Local authority, +753,PRP,Local authority, +842,PRP,Non-profit, +173,PRP,Non-profit, +174,PRP,Non-profit, +784,PRP,Non-profit, +238,PRP,Non-profit, +720,PRP,Non-profit, +576,PRP,Non-profit, +176,PRP,Non-profit, +1009,PRP,Non-profit, +762,PRP,Non-profit, +125,PRP,Non-profit, +154,PRP,Non-profit, +947,PRP,Non-profit, +177,PRP,Non-profit, +178,PRP,Non-profit, +179,PRP,Non-profit, +180,PRP,Non-profit, +584,PRP,Non-profit, +662,PRP,Non-profit, +849,PRP,Non-profit, +582,PRP,Non-profit, +1022,PRP,Non-profit, +868,PRP,Non-profit, +903,PRP,Profit, diff --git a/lib/tasks/update_organisations_group_profit_status.rake b/lib/tasks/update_organisations_group_profit_status.rake index fb0718608..f87c5f948 100644 --- a/lib/tasks/update_organisations_group_profit_status.rake +++ b/lib/tasks/update_organisations_group_profit_status.rake @@ -12,12 +12,20 @@ namespace :data_update do CSV.foreach(csv_path, headers: true) do |row| organisation = Organisation.find_by(id: row["id"].to_i) if organisation - organisation.skip_group_member_validation = true organisation.update!( - profit_status: row["profit_status"].to_i, - group_member: true, - group: row["group"].to_i, + profit_status: map_profit_status(row["profit_status"]), ) + # not all orgs have a group + if row["group"].present? + organisation.update!( + group_member: true, + group: row["group"].to_i, + # normally set to the ID of the other organisation you picked on the group form + # we can't set that here so we default to its own org ID + group_member_id: organisation.id, + ) + end + Rails.logger.info "Updated ORG#{row['id']}" else Rails.logger.warn "Organisation with ID #{row['id']} not found" @@ -27,3 +35,11 @@ namespace :data_update do Rails.logger.info "Organisation update task completed" end end + +def map_profit_status(profit_status) + return :non_profit if profit_status == "Non-profit" + return :profit if profit_status == "Profit" + return :local_authority if profit_status == "Local authority" + + nil +end