Skip to content
This repository was archived by the owner on Jun 21, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions lib/Coocook/Controller/Browse/Recipe.pm
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,7 @@ sub import : GET HEAD Chained('base') PathPart('import') Args(0)
my @projects = $projects->hri->all;

for my $project (@projects) {
$project->{import_url} =
$c->uri_for_action( '/recipe/import/preview',
$project->{import_url} = $c->uri_for_action( '/project/recipe/import/preview',
[ $project->{id}, $project->{url_name}, $recipe->id ] );

$project->{url} = $c->uri_for_action( '/project/show', [ $project->{id}, $project->{url_name} ] );
Expand Down Expand Up @@ -170,7 +169,7 @@ sub show : GET HEAD Chained('base') PathPart('') Args(0) RequiresCapability('vie
prepared_ingredients => $ingredients{prepared},
not_prepared_ingredients => $ingredients{not_prepared},
project_url => $c->uri_for_action_if_permitted(
'/recipe/edit',
'/project/recipe/edit',
{ project => $project },
[ $project->id, $project->url_name, $recipe->id ]
),
Expand Down
36 changes: 18 additions & 18 deletions lib/Coocook/Controller/Project.pm
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,15 @@ sub base : Chained('/base') PathPart('project') CaptureArgs(2) {
project_urls => {
project => $c->project_uri('/project/show'),
edit => $c->project_uri('/project/edit'),
recipes => $c->project_uri('/recipe/index'),
articles => $c->project_uri('/article/index'),
tags => $c->project_uri('/tag/index'),
unassigned_items => $c->project_uri('/item/unassigned'),
purchase_lists => $c->project_uri('/purchase_list/index'),
print => $c->project_uri('/print/index'),
shop_sections => $c->project_uri('/shop_section/index'),
units => $c->project_uri('/unit/index'),
quantities => $c->project_uri('/quantity/index'),
recipes => $c->project_uri('/project/recipe/index'),
articles => $c->project_uri('/project/article/index'),
tags => $c->project_uri('/project/tag/index'),
unassigned_items => $c->project_uri('/project/item/unassigned'),
purchase_lists => $c->project_uri('/project/purchase_list/index'),
print => $c->project_uri('/project/print/index'),
shop_sections => $c->project_uri('/project/shop_section/index'),
units => $c->project_uri('/project/unit/index'),
quantities => $c->project_uri('/project/quantity/index'),
import => $c->project_uri('/project/get_import'),
archive => $c->project_uri('/project/archive'),
unarchive => $c->project_uri('/project/unarchive'),
Expand All @@ -105,7 +105,7 @@ sub submenu : Chained('base') PathPart('') CaptureArgs(0) {
submenu_items => [
{ text => "Show project", action => 'project/show' },
{ text => "Meals & Dishes", action => 'project/edit' },
{ text => "Permissions", action => 'permission/index' },
{ text => "Permissions", action => 'project/permission/index' },
{ text => "Settings", action => 'project/settings' },
],
);
Expand All @@ -119,7 +119,7 @@ sub show : GET HEAD Chained('submenu') PathPart('') Args(0) RequiresCapability('
for my $day (@$days) {
for my $meal ( @{ $day->{meals} } ) {
for my $dish ( @{ $meal->{dishes} } ) {
$dish->{url} = $c->project_uri( '/dish/edit', $dish->{id} );
$dish->{url} = $c->project_uri( '/project/dish/edit', $dish->{id} );
}
}
}
Expand Down Expand Up @@ -147,18 +147,18 @@ sub edit : GET HEAD Chained('submenu') PathPart('edit') Args(0) RequiresCapabili
my $dishes = $meal->{dishes};

for my $dish (@$dishes) {
$dish->{url} = $c->project_uri( '/dish/edit', $dish->{id} );
$dish->{url} = $c->project_uri( '/project/dish/edit', $dish->{id} );
}

$day->{dishes} += @$dishes;

$meal->{update_url} = $c->project_uri( '/meal/update', $meal->{id} );
$meal->{update_url} = $c->project_uri( '/project/meal/update', $meal->{id} );

if ( $meal->{deletable} ) {
$meal->{delete_url} = $c->project_uri( '/meal/delete', $meal->{id} );
$meal->{delete_url} = $c->project_uri( '/project/meal/delete', $meal->{id} );
}
elsif ( @{ $meal->{dishes} } > 0 ) {
$meal->{delete_dishes_url} = $c->project_uri( '/meal/delete_dishes', $meal->{id} );
$meal->{delete_dishes_url} = $c->project_uri( '/project/meal/delete_dishes', $meal->{id} );
}
elsif ( @{ $meal->{prepared_dishes} } > 0 ) {
$meal->{prepared_dishes_exist} = 1;
Expand All @@ -171,9 +171,9 @@ sub edit : GET HEAD Chained('submenu') PathPart('edit') Args(0) RequiresCapabili
default_date => $default_date,
recipes => [ $c->project->recipes->sorted->all ],
days => $days,
dish_create_url => $c->project_uri('/dish/create'),
dish_from_recipe_url => $c->project_uri('/dish/from_recipe'),
meal_create_url => $c->project_uri('/meal/create'),
dish_create_url => $c->project_uri('/project/dish/create'),
dish_from_recipe_url => $c->project_uri('/project/dish/from_recipe'),
meal_create_url => $c->project_uri('/project/meal/create'),
);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Coocook::Controller::Article;
package Coocook::Controller::Project::Article;

use utf8;

Expand All @@ -9,7 +9,7 @@ BEGIN { extends 'Coocook::Controller' }

=head1 NAME

Coocook::Controller::Article - Catalyst Controller
Coocook::Controller::Project::Article - Catalyst Controller

=head1 DESCRIPTION

Expand Down Expand Up @@ -75,7 +75,7 @@ sub new_article : GET HEAD Chained('/project/base') PathPart('articles/new')
$c->forward('fetch_project_data');

$c->stash(
template => 'article/edit.tt',
template => 'project/article/edit.tt',
submit_url => $c->project_uri( $self->action_for('create') ),
);
}
Expand Down Expand Up @@ -187,7 +187,7 @@ sub dishes_recipes : Private {
my %recipes = map { $_->{recipe}{id} => $_ } @recipes; # by recipe ID

for my $r (@recipes) {
$r->{recipe}{url} = $c->project_uri( '/recipe/edit', $r->{recipe}{id} );
$r->{recipe}{url} = $c->project_uri( '/project/recipe/edit', $r->{recipe}{id} );
}

my @dishes;
Expand All @@ -197,7 +197,7 @@ sub dishes_recipes : Private {

my $meal = $dish->meal;
$dish = $dish->as_hashref;
$dish->{url} = $c->project_uri( '/dish/edit', $dish->{id} );
$dish->{url} = $c->project_uri( '/project/dish/edit', $dish->{id} );
$dish->{meal} = $meal;

if ( defined $recipe and exists $recipes{$recipe} ) {
Expand All @@ -224,7 +224,7 @@ sub update_or_insert : Private {
if ( !defined $name or $name !~ m/\S/ ) {
$c->messages->error("Name must not be empty");

$c->redirect_detach( $c->project_uri( '/article/edit', $article->id ) );
$c->redirect_detach( $c->project_uri( '/project/article/edit', $article->id ) );
}

my @tags = $c->project->tags->from_names( $c->req->params->get('tags') )->only_id_col->all;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Coocook::Controller::Dish;
package Coocook::Controller::Project::Dish;

use Moose;
use MooseX::MarkAsMethods autoclean => 1;
Expand All @@ -7,7 +7,7 @@ BEGIN { extends 'Coocook::Controller' }

=head1 NAME

Coocook::Controller::Dish - Catalyst Controller
Coocook::Controller::Project::Dish - Catalyst Controller

=head1 DESCRIPTION

Expand Down Expand Up @@ -60,7 +60,7 @@ sub edit : GET HEAD Chained('base') PathPart('') Args(0) RequiresCapability('vie
recipe => $dish->recipe
? {
name => $dish->recipe->name,
url => $c->project_uri( '/recipe/edit', $dish->recipe->id ),
url => $c->project_uri( '/project/recipe/edit', $dish->recipe->id ),
}
: undef,

Expand All @@ -74,12 +74,12 @@ sub edit : GET HEAD Chained('base') PathPart('') Args(0) RequiresCapability('vie
articles => $ingredients->all_articles,
units => $ingredients->all_units,
prepare_meals => [ $prepare_meals->all ],
add_ingredient_url => $c->project_uri( '/dish/add', $dish->id ),
delete_url => $c->project_uri( '/dish/delete', $dish->id ),
add_ingredient_url => $c->project_uri( '/project/dish/add', $dish->id ),
delete_url => $c->project_uri( '/project/dish/delete', $dish->id ),
);

for my $ingredient ( @{ $c->stash->{ingredients} } ) {
$ingredient->{reposition_url} = $c->project_uri( '/dish/reposition', $ingredient->{id} );
$ingredient->{reposition_url} = $c->project_uri( '/project/dish/reposition', $ingredient->{id} );
}
}

Expand Down Expand Up @@ -108,7 +108,7 @@ sub create : POST Chained('/project/base') PathPart('dishes/create') Args(0)
}
);

$c->response->redirect( $c->project_uri( '/dish/edit', $dish->id ) );
$c->response->redirect( $c->project_uri( '/project/dish/edit', $dish->id ) );
}

sub from_recipe : POST Chained('/project/base') PathPart('dishes/from_recipe') Args(0)
Expand All @@ -127,7 +127,7 @@ sub from_recipe : POST Chained('/project/base') PathPart('dishes/from_recipe') A
)
);

$c->response->redirect( $c->project_uri( '/dish/edit', $dish->id ) );
$c->response->redirect( $c->project_uri( '/project/dish/edit', $dish->id ) );
}

sub recalculate : POST Chained('base') Args(0) RequiresCapability('edit_project') {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Coocook::Controller::Item;
package Coocook::Controller::Project::Item;

use DateTime;
use Moose;
Expand All @@ -8,7 +8,7 @@ BEGIN { extends 'Coocook::Controller' }

=head1 NAME

Coocook::Controller::Items - Catalyst Controller
Coocook::Controller::Project::Items - Catalyst Controller

=head1 DESCRIPTION

Expand All @@ -18,8 +18,8 @@ Catalyst Controller.

=cut

sub unassigned : GET HEAD Chained('/purchase_list/submenu') PathPart('items/unassigned') Args(0)
RequiresCapability('view_project') {
sub unassigned : GET HEAD Chained('/project/purchase_list/submenu') PathPart('items/unassigned')
Args(0) RequiresCapability('view_project') {
my ( $self, $c ) = @_;

my $project = $c->project;
Expand Down Expand Up @@ -100,7 +100,7 @@ sub convert : POST Chained('/project/base') PathPart('items/convert') Args(1)

$item->convert($unit);

$c->response->redirect( $c->project_uri( '/purchase_list/edit', $item->purchase_list_id ) );
$c->response->redirect( $c->project_uri( '/project/purchase_list/edit', $item->purchase_list_id ) );
}

sub update_offset : POST Chained('/project/base') PathPart('items/update_offset') Args(1)
Expand All @@ -124,7 +124,7 @@ sub update_offset : POST Chained('/project/base') PathPart('items/update_offset'
}
else { die 'Code broken' }

$c->response->redirect( $c->project_uri( '/purchase_list/edit', $item->purchase_list_id ) );
$c->response->redirect( $c->project_uri( '/project/purchase_list/edit', $item->purchase_list_id ) );
}

__PACKAGE__->meta->make_immutable;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Coocook::Controller::Meal;
package Coocook::Controller::Project::Meal;

use Moose;
use MooseX::MarkAsMethods autoclean => 1;
Expand All @@ -7,7 +7,7 @@ BEGIN { extends 'Coocook::Controller' }

=head1 NAME

Coocook::Controller::Meal - Catalyst Controller
Coocook::Controller::Project::Meal - Catalyst Controller

=head1 DESCRIPTION

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Coocook::Controller::Permission;
package Coocook::Controller::Project::Permission;

use Moose;
use MooseX::MarkAsMethods autoclean => 1;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Coocook::Controller::Print;
package Coocook::Controller::Project::Print;

use DateTime;
use Moose;
Expand All @@ -9,7 +9,7 @@ BEGIN { extends 'Coocook::Controller' }

=head1 NAME

Coocook::Controller::Print - Catalyst Controller
Coocook::Controller::Project::Print - Catalyst Controller

=head1 DESCRIPTION

Expand All @@ -29,7 +29,7 @@ sub auto : Private {
push @{ $c->stash->{css} }, '/css/print.css';
}

sub index : GET HEAD Chained('/purchase_list/submenu') PathPart('print') Args(0)
sub index : GET HEAD Chained('/project/purchase_list/submenu') PathPart('print') Args(0)
RequiresCapability('view_project') {
my ( $self, $c ) = @_;

Expand All @@ -49,7 +49,7 @@ sub index : GET HEAD Chained('/purchase_list/submenu') PathPart('print') Args(0)
push @days,
{
date => $date,
url => $c->project_uri( '/print/day', $date->year, $date->month, $date->day ),
url => $c->project_uri( '/project/print/day', $date->year, $date->month, $date->day ),
};
}
}
Expand All @@ -63,7 +63,7 @@ sub index : GET HEAD Chained('/purchase_list/submenu') PathPart('print') Args(0)
{
date => $list->date,
name => $list->name,
url => $c->project_uri( '/print/purchase_list', $list->id ),
url => $c->project_uri( '/project/print/purchase_list', $list->id ),
};
}
}
Expand All @@ -74,11 +74,11 @@ sub index : GET HEAD Chained('/purchase_list/submenu') PathPart('print') Args(0)
days => \@days,
lists => \@lists,
projects => \@projects,
project_url => $c->project_uri('/print/project'),
project_url => $c->project_uri('/project/print/project'),
);
}

sub day : GET HEAD Chained('/purchase_list/submenu') PathPart('print/day') Args(3)
sub day : GET HEAD Chained('/project/purchase_list/submenu') PathPart('print/day') Args(3)
RequiresCapability('view_project') {
my ( $self, $c, $year, $month, $day ) = @_;

Expand All @@ -92,20 +92,21 @@ sub day : GET HEAD Chained('/purchase_list/submenu') PathPart('print/day') Args(

for my $meal (@$meals) {
for my $dish ( @{ $meal->{dishes} } ) {
$dish->{url} = $c->project_uri( '/dish/edit', $dish->{id} );
$dish->{url} = $c->project_uri( '/project/dish/edit', $dish->{id} );

if ( my $prep_meal = $dish->{prepare_at_meal} ) {
$prep_meal->{url} =
$c->project_uri( '/print/day', map { $prep_meal->{date}->$_ } qw< year month day > );
$c->project_uri( '/project/print/day', map { $prep_meal->{date}->$_ } qw< year month day > );
}
}

for my $dish ( @{ $meal->{prepared_dishes} } ) {
$dish->{url} ||= $c->project_uri( '/dish/edit', $dish->{id} );
$dish->{url} ||= $c->project_uri( '/project/dish/edit', $dish->{id} );

my $meal = $dish->{meal};

$meal->{url} ||= $c->project_uri( '/print/day', map { $meal->{date}->$_ } qw< year month day > );
$meal->{url} ||=
$c->project_uri( '/project/print/day', map { $meal->{date}->$_ } qw< year month day > );
}
}

Expand All @@ -117,7 +118,7 @@ sub day : GET HEAD Chained('/purchase_list/submenu') PathPart('print/day') Args(
);
}

sub project : GET HEAD Chained('/purchase_list/submenu') PathPart('print/project') Args(0)
sub project : GET HEAD Chained('/project/purchase_list/submenu') PathPart('print/project') Args(0)
RequiresCapability('view_project') {
my ( $self, $c, $id ) = @_;

Expand All @@ -129,8 +130,8 @@ sub project : GET HEAD Chained('/purchase_list/submenu') PathPart('print/project
);
}

sub purchase_list : GET HEAD Chained('/purchase_list/submenu') PathPart('print/purchase_list')
Args(1) RequiresCapability('view_project') {
sub purchase_list : GET HEAD Chained('/project/purchase_list/submenu')
PathPart('print/purchase_list') Args(1) RequiresCapability('view_project') {
my ( $self, $c, $id ) = @_;

my $list = $c->stash->{list} = $c->project->purchase_lists->find($id);
Expand Down
Loading