aboutsummaryrefslogtreecommitdiffstats
path: root/perllib
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2016-05-17 11:28:07 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2016-05-18 09:53:42 +0100
commitfbae634bbb5e8caeeeb02fa296f3c68f955fe3d5 (patch)
tree996b1cc558b66ced35631bd84667212e72f92f1f /perllib
parent8eaf26c962c4941a302975630035c24f1e5f55ef (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.pm4
-rw-r--r--perllib/FixMyStreet/App/Model/PhotoSet.pm6
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 . '.*'
);
}