aboutsummaryrefslogtreecommitdiffstats
path: root/perllib
diff options
context:
space:
mode:
Diffstat (limited to 'perllib')
-rw-r--r--perllib/FixMyStreet/App/Model/PhotoSet.pm9
-rw-r--r--perllib/FixMyStreet/SendReport/Angus.pm1
-rw-r--r--perllib/FixMyStreet/SendReport/EastHants.pm1
-rw-r--r--perllib/FixMyStreet/SendReport/Open311.pm7
-rw-r--r--perllib/Open311/GetServiceRequestUpdates.pm9
5 files changed, 17 insertions, 10 deletions
diff --git a/perllib/FixMyStreet/App/Model/PhotoSet.pm b/perllib/FixMyStreet/App/Model/PhotoSet.pm
index 243675f2c..b44bf4b38 100644
--- a/perllib/FixMyStreet/App/Model/PhotoSet.pm
+++ b/perllib/FixMyStreet/App/Model/PhotoSet.pm
@@ -8,6 +8,8 @@ use if !$ENV{TRAVIS}, 'Image::Magick';
use Scalar::Util 'openhandle', 'blessed';
use Digest::SHA qw(sha1_hex);
use Image::Size;
+use IPC::Cmd qw(can_run);
+use IPC::Open3;
use MIME::Base64;
has c => (
@@ -144,7 +146,12 @@ has ids => ( # Arrayref of $fileid tuples (always, so post upload/raw data proc
my $photo_blob = eval {
my $filename = $upload->tempname;
my $out;
- $out = `jhead -se -autorot $filename 2>&1` if $type eq 'jpeg';
+ if ($type eq 'jpeg' && can_run('jhead')) {
+ my $pid = open3(undef, my $stdout, undef, 'jhead', '-se', '-autorot', $filename);
+ $out = join('', <$stdout>);
+ waitpid($pid, 0);
+ close $stdout;
+ }
unless (defined $out) {
my ($w, $h, $err) = Image::Size::imgsize($filename);
die _("Please upload an image only") . "\n" if !defined $w || $err !~ /JPG|GIF|PNG|TIF/;
diff --git a/perllib/FixMyStreet/SendReport/Angus.pm b/perllib/FixMyStreet/SendReport/Angus.pm
index 15441cc1f..cab5de173 100644
--- a/perllib/FixMyStreet/SendReport/Angus.pm
+++ b/perllib/FixMyStreet/SendReport/Angus.pm
@@ -160,7 +160,6 @@ sub send {
}
} catch {
my $e = $_;
- print "Caught an error: $e\n";
$self->error( "Error sending to Angus: $e" );
};
$self->success( !$return );
diff --git a/perllib/FixMyStreet/SendReport/EastHants.pm b/perllib/FixMyStreet/SendReport/EastHants.pm
index cc302b8b3..55ec79613 100644
--- a/perllib/FixMyStreet/SendReport/EastHants.pm
+++ b/perllib/FixMyStreet/SendReport/EastHants.pm
@@ -52,7 +52,6 @@ sub send {
$return = 0 if $result eq 'Report received';
} catch {
my $e = $_;
- print "Caught an error: $e\n";
$self->error( "Error sending to East Hants: $e" );
};
$self->success( !$return );
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm
index 5c7fa30f3..bf5ed3e30 100644
--- a/perllib/FixMyStreet/SendReport/Open311.pm
+++ b/perllib/FixMyStreet/SendReport/Open311.pm
@@ -144,14 +144,11 @@ sub send {
$self->success( 1 );
} else {
$result *= 1;
- # temporary fix to resolve some issues with west berks
- if ( $row->bodies_str =~ /2619/ ) {
- $result *= 0;
- }
+ $self->error( "Failed to send over Open311\n" ) unless $self->error;
+ $self->error( $self->error . "\n" . $open311->error );
}
}
- $self->error( 'Failed to send over Open311' ) unless $self->success;
return $result;
}
diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm
index 11bc1e64f..daa5fb64d 100644
--- a/perllib/Open311/GetServiceRequestUpdates.pm
+++ b/perllib/Open311/GetServiceRequestUpdates.pm
@@ -89,6 +89,13 @@ sub update_comments {
# what problem it belongs to so just skip
next unless $request_id;
+ my $comment_time = eval {
+ DateTime::Format::W3CDTF->parse_datetime( $request->{updated_datetime} || "" );
+ };
+ next if $@;
+ my $updated = DateTime::Format::W3CDTF->format_datetime($comment_time->clone->set_time_zone('UTC'));
+ next if @args && ($updated lt $args[0] || $updated gt $args[1]);
+
my $problem;
my $criteria = {
external_id => $request_id,
@@ -99,8 +106,6 @@ sub update_comments {
my $c = $p->comments->search( { external_id => $request->{update_id} } );
if ( !$c->first ) {
- my $comment_time = DateTime::Format::W3CDTF->parse_datetime( $request->{updated_datetime} );
-
my $comment = $self->schema->resultset('Comment')->new(
{
problem => $p,