diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2016-05-17 11:28:07 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2016-05-18 09:53:42 +0100 |
commit | fbae634bbb5e8caeeeb02fa296f3c68f955fe3d5 (patch) | |
tree | 996b1cc558b66ced35631bd84667212e72f92f1f /perllib | |
parent | 8eaf26c962c4941a302975630035c24f1e5f55ef (diff) |
Fix removal of cached update photos.
It was possible that rotating an update photo did not remove its cached
copy.
Diffstat (limited to 'perllib')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Admin.pm | 4 | ||||
-rw-r--r-- | perllib/FixMyStreet/App/Model/PhotoSet.pm | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm index 3e757f227..db9545830 100644 --- a/perllib/FixMyStreet/App/Controller/Admin.pm +++ b/perllib/FixMyStreet/App/Controller/Admin.pm @@ -784,7 +784,7 @@ sub report_edit : Path('report_edit') : Args(1) { } if ( $remove_photo_param || $new_state eq 'hidden' ) { - unlink glob FixMyStreet->path_to( 'web', 'photo', $problem->id . '.*' ); + $problem->get_photoset->delete_cached; } if ( $problem->is_visible() and $old_state eq 'unconfirmed' ) { @@ -1005,7 +1005,7 @@ sub update_edit : Path('update_edit') : Args(1) { } if ( $remove_photo_param || $new_state eq 'hidden' ) { - unlink glob FixMyStreet->path_to( 'web', 'photo', 'c', $update->id . '.*' ); + $update->get_photoset->delete_cached; } $update->name( $c->get_param('name') || '' ); diff --git a/perllib/FixMyStreet/App/Model/PhotoSet.pm b/perllib/FixMyStreet/App/Model/PhotoSet.pm index b44bf4b38..030dbd5be 100644 --- a/perllib/FixMyStreet/App/Model/PhotoSet.pm +++ b/perllib/FixMyStreet/App/Model/PhotoSet.pm @@ -255,9 +255,11 @@ sub delete_cached { my ($self) = @_; my $object = $self->object or return; + my @dirs = ('web', 'photo'); + push @dirs, 'c' if ref $object eq 'FixMyStreet::DB::Result::Comment'; + unlink glob FixMyStreet->path_to( - 'web', - 'photo', + @dirs, $object->id . '.*' ); } |