diff options
author | Struan Donald <struan@exo.org.uk> | 2011-06-28 18:02:52 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2011-06-28 18:02:52 +0100 |
commit | 3773cf3459d023ed3515afbd4ff7b3e1253dc4d0 (patch) | |
tree | ab4d4f6e1b99b93f9b916b64a99aa198e2ece20b /perllib/FixMyStreet/App/Controller/My.pm | |
parent | e2414d30dd673ecea38e2a40d187b835bd076ac3 (diff) | |
parent | 70cbebec7bb2fd412c6a9fbfb694357401916372 (diff) |
Merge branch 'master' of ssh://git.mysociety.org/data/git/public/fixmystreet into new_statuses
Conflicts:
perllib/FixMyStreet/App/Controller/Report/Update.pm
templates/web/default/report/display.html
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/My.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/My.pm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/My.pm b/perllib/FixMyStreet/App/Controller/My.pm index 79d5c5681..b1359ae03 100644 --- a/perllib/FixMyStreet/App/Controller/My.pm +++ b/perllib/FixMyStreet/App/Controller/My.pm @@ -22,7 +22,48 @@ Catalyst Controller. sub my : Path : Args(0) { my ( $self, $c ) = @_; + $c->detach( '/auth/redirect' ) unless $c->user; + + # Even though front end doesn't yet have it, have it on this page, it's better! + FixMyStreet::Map::set_map_class( 'FMS' ); + + my $p_page = $c->req->params->{p} || 1; + my $u_page = $c->req->params->{u} || 1; + + my $pins = []; + my $problems = {}; + my $rs = $c->user->problems->search( undef, + { rows => 50 } )->page( $p_page ); + + while ( my $problem = $rs->next ) { + push @$pins, { + latitude => $problem->latitude, + longitude => $problem->longitude, + colour => $problem->state eq 'fixed' ? 'green' : 'red', + id => $problem->id, + title => $problem->title, + }; + push @{ $problems->{$problem->state} }, $problem; + } + $c->stash->{problems_pager} = $rs->pager; + $c->stash->{problems} = $problems; + + $rs = $c->user->comments->search( + { state => 'confirmed' }, + { rows => 50 } )->page( $u_page ); + my @updates = $rs->all; + $c->stash->{updates} = \@updates; + $c->stash->{updates_pager} = $rs->pager; + + FixMyStreet::Map::display_map( + $c, + latitude => $pins->[0]{latitude}, + longitude => $pins->[0]{longitude}, + pins => $pins, + any_zoom => 1, + ) + if @$pins; } __PACKAGE__->meta->make_immutable; |