diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2016-09-22 19:24:10 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-03-09 16:58:20 +0000 |
commit | 8b43050c549bc3bb233bab2b7bd5652dfbb39a12 (patch) | |
tree | 4609e33de0a3de95e88e831d83dae2dcbb763c07 /perllib/FixMyStreet/Cobrand.pm | |
parent | 491eb26e463c5976a159060782c0217cf450d4fc (diff) |
Refactor SendReport::Open311 to use cobrand hooks.
Avoid doing cobrand-specific logic within SendReport::Open311.
The hooks defined are:
open311_config: set extra fields
open311_pre_send: set endpoints and munge data
These are tested in the new t/app/sendreport/open311.t, which does
not send any actual reports, but just checks that all the data is
munged into the expected format. (tests under t/open311* should
already test the actual sending)
Remove unused Open311 special cases.
Diffstat (limited to 'perllib/FixMyStreet/Cobrand.pm')
-rw-r--r-- | perllib/FixMyStreet/Cobrand.pm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/Cobrand.pm b/perllib/FixMyStreet/Cobrand.pm index 9f61635d8..4b9f2bd0b 100644 --- a/perllib/FixMyStreet/Cobrand.pm +++ b/perllib/FixMyStreet/Cobrand.pm @@ -153,4 +153,14 @@ sub exists { return 0; } +sub body_handler { + my ($class, $areas) = @_; + + foreach my $avail ( $class->available_cobrand_classes ) { + my $cobrand = $class->get_class_for_moniker($avail->{moniker})->new({}); + next unless $cobrand->can('council_id'); + return $cobrand if $areas->{$cobrand->council_id}; + } +} + 1; |