aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller/Alert.pm
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2011-05-12 14:45:55 +0100
committerStruan Donald <struan@exo.org.uk>2011-05-12 14:45:55 +0100
commit14dfac073cb4c45a1f5b2c01a7e1e15307fdb64c (patch)
treeea969901afeebe9a78c74852e889ec7b141aca7d /perllib/FixMyStreet/App/Controller/Alert.pm
parentac0ffb685f863330f67488a49f56d7d3b9d6c976 (diff)
move lat/long rss feed generation to own method
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Alert.pm')
-rw-r--r--perllib/FixMyStreet/App/Controller/Alert.pm69
1 files changed, 43 insertions, 26 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Alert.pm b/perllib/FixMyStreet/App/Controller/Alert.pm
index 33d9da2e1..ed0e80a51 100644
--- a/perllib/FixMyStreet/App/Controller/Alert.pm
+++ b/perllib/FixMyStreet/App/Controller/Alert.pm
@@ -62,6 +62,8 @@ sub list : Path('list') : Args(0) {
$c->forward('prettify_pc');
+ $c->forward('setup_location_info');
+
# truncate the lat,lon for nicer urls
( $c->stash->{latitude}, $c->stash->{longitude} ) =
map { Utils::truncate_coordinate($_) }
@@ -93,32 +95,7 @@ sub list : Path('list') : Args(0) {
$c->stash->{cobrand_form_elements} = $c->cobrand->form_elements('alerts');
- $c->stash->{rss_feed_id} =
- sprintf( 'local:%s:%s', $c->stash->{latitude}, $c->stash->{longitude} );
-
- my $rss_feed;
- if ( $c->stash->{pretty_pc_text} ) {
- $rss_feed =
- $c->cobrand->uri( "/rss/pc/" . $c->stash->{pretty_pc_text},
- $c->fake_q );
- }
- else {
- $rss_feed = $c->cobrand->uri(
- sprintf( "/rss/l/%s,%s",
- $c->stash->{latitude},
- $c->stash->{longitude} ),
- $c->fake_q
- );
- }
-
- $c->stash->{rss_feed_uri} = $rss_feed;
-
- $c->stash->{rss_feed_2k} = $c->cobrand->uri( $rss_feed . '/2', $c->fake_q );
- $c->stash->{rss_feed_5k} = $c->cobrand->uri( $rss_feed . '/5', $c->fake_q );
- $c->stash->{rss_feed_10k} =
- $c->cobrand->uri( $rss_feed . '/10', $c->fake_q );
- $c->stash->{rss_feed_20k} =
- $c->cobrand->uri( $rss_feed . '/20', $c->fake_q );
+ $c->forward( 'setup_rss_feeds' );
}
=head2 subscribe
@@ -475,6 +452,46 @@ sub process_user : Private {
$c->stash->{alert_user} = $alert_user;
}
+=head2 setup_rss_feeds
+
+Takes the latitide and longitude from the stash and uses them to generate uris
+for the local rss feeds
+
+=cut
+
+sub setup_rss_feeds : Private {
+ my ( $self, $c ) = @_;
+
+ $c->stash->{rss_feed_id} =
+ sprintf( 'local:%s:%s', $c->stash->{latitude}, $c->stash->{longitude} );
+
+ my $rss_feed;
+ if ( $c->stash->{pretty_pc_text} ) {
+ $rss_feed =
+ $c->cobrand->uri( "/rss/pc/" . $c->stash->{pretty_pc_text},
+ $c->fake_q );
+ }
+ else {
+ $rss_feed = $c->cobrand->uri(
+ sprintf( "/rss/l/%s,%s",
+ $c->stash->{latitude},
+ $c->stash->{longitude} ),
+ $c->fake_q
+ );
+ }
+
+ $c->stash->{rss_feed_uri} = $rss_feed;
+
+ $c->stash->{rss_feed_2k} = $c->cobrand->uri( $rss_feed . '/2', $c->fake_q );
+ $c->stash->{rss_feed_5k} = $c->cobrand->uri( $rss_feed . '/5', $c->fake_q );
+ $c->stash->{rss_feed_10k} =
+ $c->cobrand->uri( $rss_feed . '/10', $c->fake_q );
+ $c->stash->{rss_feed_20k} =
+ $c->cobrand->uri( $rss_feed . '/20', $c->fake_q );
+
+ return 1;
+}
+
sub choose : Private {
my ( $self, $c ) = @_;
$c->stash->{template} = 'alert/choose.html';