diff options
Diffstat (limited to 'perllib')
-rw-r--r-- | perllib/Open311/GetServiceRequestUpdates.pm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm index 6d846de42..4b6d56146 100644 --- a/perllib/Open311/GetServiceRequestUpdates.pm +++ b/perllib/Open311/GetServiceRequestUpdates.pm @@ -3,6 +3,7 @@ package Open311::GetServiceRequestUpdates; use Moo; use Open311; use FixMyStreet::DB; +use FixMyStreet::App::Model::PhotoSet; use DateTime::Format::W3CDTF; has system_user => ( is => 'rw' ); @@ -116,6 +117,19 @@ sub update_comments { } ); + # ref test as XML::Simple will have returned an empty hashref for empty element + if ($request->{media_url} && !ref $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 ], + }); + my $data = $photoset->get_raw_image_data(0); + $comment->photo($data->[0]); + } + } + # if the comment is older than the last update # do not change the status of the problem as it's # tricky to determine the right thing to do. |