diff options
author | Struan Donald <struan@exo.org.uk> | 2017-12-20 15:58:51 +0000 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-03-15 13:17:18 +0000 |
commit | 935f431ee0da77dd26a78b959d3b9afb89665c0f (patch) | |
tree | 68b4b80d88cfcd9f2915f091b16927a00f2a0680 /perllib/Open311/GetServiceRequestUpdates.pm | |
parent | 40a3bfb7566b02db2eb6019adcbefeaa19ffb42f (diff) |
fetch new problems over open311
This enables the display of existing reports from the back end on FMS
if the body is configured to do this.
Reports will not be created if they are missing an id, a lat or a long,
if the lat/long is outside the area covered by the body, if there is
already a report with a matching id, or if we can't parse out the
request time.
Diffstat (limited to 'perllib/Open311/GetServiceRequestUpdates.pm')
-rw-r--r-- | perllib/Open311/GetServiceRequestUpdates.pm | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm index 2620b176a..8e83d08b9 100644 --- a/perllib/Open311/GetServiceRequestUpdates.pm +++ b/perllib/Open311/GetServiceRequestUpdates.pm @@ -107,7 +107,7 @@ sub update_comments { my $c = $p->comments->search( { external_id => $request->{update_id} } ); if ( !$c->first ) { - my $state = $self->map_state( $request->{status} ); + my $state = $open311->map_state( $request->{status} ); my $comment = $self->schema->resultset('Comment')->new( { problem => $p, @@ -124,16 +124,8 @@ sub update_comments { } ); - if ($request->{media_url}) { - my $ua = LWP::UserAgent->new; - my $res = $ua->get($request->{media_url}); - if ( $res->is_success && $res->content_type eq 'image/jpeg' ) { - my $photoset = FixMyStreet::App::Model::PhotoSet->new({ - data_items => [ $res->decoded_content ], - }); - $comment->photo($photoset->data); - } - } + $open311->add_media($request->{media_url}, $comment) + if $request->{media_url}; # if the comment is older than the last update # do not change the status of the problem as it's @@ -195,22 +187,4 @@ sub comment_text_for_request { return ""; } -sub map_state { - my $self = shift; - my $incoming_state = shift; - - $incoming_state = lc($incoming_state); - $incoming_state =~ s/_/ /g; - - my %state_map = ( - fixed => 'fixed - council', - 'not councils responsibility' => 'not responsible', - 'no further action' => 'unable to fix', - open => 'confirmed', - closed => 'fixed - council' - ); - - return $state_map{$incoming_state} || $incoming_state; -} - 1; |