aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/FixMyStreet/Cobrand/Oxfordshire.pm16
-rw-r--r--t/cobrand/oxfordshire.t7
2 files changed, 18 insertions, 5 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Oxfordshire.pm b/perllib/FixMyStreet/Cobrand/Oxfordshire.pm
index b110731e6..8ce12a81b 100644
--- a/perllib/FixMyStreet/Cobrand/Oxfordshire.pm
+++ b/perllib/FixMyStreet/Cobrand/Oxfordshire.pm
@@ -206,13 +206,21 @@ sub dashboard_export_problems_add_columns {
my $self = shift;
my $c = $self->{c};
- push @{$c->stash->{csv}->{headers}}, "HIAMS Ref";
- push @{$c->stash->{csv}->{columns}}, "customer_reference";
+ push @{$c->stash->{csv}->{headers}}, "HIAMS/Exor Ref";
+ push @{$c->stash->{csv}->{columns}}, "external_ref";
$c->stash->{csv}->{extra_data} = sub {
- my $ref = shift->get_extra_metadata('customer_reference') || '';
+ my $report = shift;
+ # Try and get a HIAMS reference first of all
+ my $ref = $report->get_extra_metadata('customer_reference');
+ unless ($ref) {
+ # No HIAMS ref which means it's either an older Exor report
+ # or a HIAMS report which hasn't had its reference set yet.
+ # We detect the latter case by the id and external_id being the same.
+ $ref = $report->external_id if $report->id ne ( $report->external_id || '' );
+ }
return {
- customer_reference => $ref,
+ external_ref => ( $ref || '' ),
};
};
}
diff --git a/t/cobrand/oxfordshire.t b/t/cobrand/oxfordshire.t
index 907c66c19..1d59909b9 100644
--- a/t/cobrand/oxfordshire.t
+++ b/t/cobrand/oxfordshire.t
@@ -112,6 +112,9 @@ subtest 'extra CSV columns are present' => sub {
MAPIT_URL => 'http://mapit.uk/',
}, sub {
+ $problems[1]->update({ external_id => $problems[1]->id });
+ $problems[2]->update({ external_id => "123098123" });
+
$mech->log_in_ok( $counciluser->email );
$mech->get_ok('/dashboard?export=1');
@@ -126,11 +129,13 @@ subtest 'extra CSV columns are present' => sub {
'Created', 'Confirmed', 'Acknowledged', 'Fixed', 'Closed',
'Status', 'Latitude', 'Longitude', 'Query', 'Ward',
'Easting', 'Northing', 'Report URL', 'Site Used',
- 'Reported As', 'HIAMS Ref',
+ 'Reported As', 'HIAMS/Exor Ref',
],
'Column headers look correct';
is $rows[1]->[20], 'ENQ12456', 'HIAMS reference included in row';
+ is $rows[2]->[20], '', 'Report without HIAMS ref has empty ref field';
+ is $rows[3]->[20], '123098123', 'Older Exor report has correct ref';
};
};