diff options
author | Struan Donald <struan@exo.org.uk> | 2011-05-19 14:51:04 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2011-05-19 14:51:04 +0100 |
commit | a74f2325b3bbf447ba7de33b0d74fffdc219114c (patch) | |
tree | d1699eea324348753a152ccb95b5b1618d822d2f | |
parent | da4b53a953c7a46607c5907709cade12ffea6bf7 (diff) |
push photo parameter generation to the model and create photo template
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report.pm | 15 | ||||
-rw-r--r-- | perllib/FixMyStreet/DB/Result/Problem.pm | 20 | ||||
-rw-r--r-- | templates/web/default/report/display.html | 6 | ||||
-rw-r--r-- | templates/web/default/report/photo.html | 6 |
4 files changed, 27 insertions, 20 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm index ff4bb080c..ff471d7cd 100644 --- a/perllib/FixMyStreet/App/Controller/Report.pm +++ b/perllib/FixMyStreet/App/Controller/Report.pm @@ -200,7 +200,6 @@ sub format_problem_for_display : Private { $c->stash->{email} = $c->req->param('rznvy'); $c->forward('generate_map_tags'); - $c->forward('generate_problem_photo'); $c->forward('generate_problem_meta'); # problem_updates => Page::display_problem_updates($input{id}, $q), @@ -243,20 +242,6 @@ sub generate_map_tags : Private { return 1; } -sub generate_problem_photo : Private { - my ( $self, $c ) = @_; - - my $problem = $c->stash->{problem}; - - if ( $c->cobrand->allow_photo_display and $problem->photo ) { - my $photo = {}; - ( $photo->{width}, $photo->{height} ) = - Image::Size::imgsize( \$problem->photo ); - $photo->{url} = '/photo/?id=' . $problem->id; - $c->stash->{photo} = $photo; - } -} - sub generate_problem_meta : Private { my ( $self, $c ) = @_; diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm index 57bbf5fb8..d91e8c324 100644 --- a/perllib/FixMyStreet/DB/Result/Problem.pm +++ b/perllib/FixMyStreet/DB/Result/Problem.pm @@ -225,4 +225,24 @@ sub url { return "/report/" . $self->id; } +=head2 get_photo_params + +Returns a hashref of details of any attached photo for use in templates. +Hashref contains height, width and url keys. + +=cut + +sub get_photo_params { + my $self = shift; + + return {} unless $self->photo; + + my $photo = {}; + ( $photo->{width}, $photo->{height} ) = + Image::Size::imgsize( \$self->photo ); + $photo->{url} = '/photo/?id=' . $self->id; + + return $photo; +} + 1; diff --git a/templates/web/default/report/display.html b/templates/web/default/report/display.html index e35dfcd75..8120acc96 100644 --- a/templates/web/default/report/display.html +++ b/templates/web/default/report/display.html @@ -23,11 +23,7 @@ </p> [% END %] -[% IF photo %] -<p align="center"> - <img alt="" height="[% photo.height %]" width="[% photo.width %]" src="[% photo.url %]"> -</p> -[% END %] +[% INCLUDE 'report/photo.html' object=problem %] <p align="right"> <small> diff --git a/templates/web/default/report/photo.html b/templates/web/default/report/photo.html new file mode 100644 index 000000000..6cad4d9c3 --- /dev/null +++ b/templates/web/default/report/photo.html @@ -0,0 +1,6 @@ +[% IF c.cobrand.allow_photo_display && object.photo %] +[% photo = object.get_photo_params %] +<p align="center"> + <img alt="" height="[% photo.height %]" width="[% photo.width %]" src="[% photo.url %]"> +</p> +[% END %] |