Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Use 'prefix for /user and /list
  • Loading branch information
davorg committed Jan 22, 2016
1 parent 5f47317 commit e4cd146
Showing 1 changed file with 42 additions and 38 deletions.
80 changes: 42 additions & 38 deletions lib/Lystyng.pm
Expand Up @@ -26,58 +26,62 @@ get '/' => sub {
template 'index';
};

get '/user' => sub {
my @users = resultset('User')->all;
template 'users', {
users => \@users,
prefix '/user' => sub {
get '' => sub {
my @users = resultset('User')->all;
template 'users', {
users => \@users,
};
};
};

get '/user/:username' => sub {
my $user = resultset('User')->find({
username => route_parameters->get('username'),
}, {
prefetch => 'lists'
});
get '/:username' => sub {
my $user = resultset('User')->find({
username => route_parameters->get('username'),
}, {
prefetch => 'lists'
});

send_error 'User not found', 404 unless $user;
send_error 'User not found', 404 unless $user;

template 'user', {
user => $user,
template 'user', {
user => $user,
};
};
};

get '/list/add' => needs login => sub {
template 'addlist';
};
get '/:username/list/:list' => sub {
my $user = resultset('User')->find({
username => route_parameters->get('username'),
});

post '/list/add' => needs login => sub {
my $user = session('user');
my $list_data;
$list_data->{$_} = body_parameters->get("list_$_")
for (qw[title slug description]);
send_error 'User not found', 404 unless $user;

$user->add_to_lists($list_data);
my $list = $user->lists->find({
slug => route_parameterss->get('list'),
});

redirect '/user/' . $user->username .
'/list/' . $list_data->{slug};
};
send_error 'List not found', 404 unless $list;

get '/user/:username/list/:list' => sub {
my $user = resultset('User')->find({
username => route_parameters->get('username'),
});
template 'list', {
list => $list,
};
};
};

send_error 'User not found', 404 unless $user;
prefix '/list' => sub {
get '/add' => needs login => sub {
template 'addlist';
};

my $list = $user->lists->find({
slug => route_parameterss->get('list'),
});
post '/add' => needs login => sub {
my $user = session('user');
my $list_data;
$list_data->{$_} = body_parameters->get("list_$_")
for (qw[title slug description]);

send_error 'List not found', 404 unless $list;
$user->add_to_lists($list_data);

template 'list', {
list => $list,
redirect '/user/' . $user->username .
'/list/' . $list_data->{slug};
};
};

Expand Down

0 comments on commit e4cd146

Please sign in to comment.