$tr->fclass($_)->replace_content($data->{$_}) for qw/title subtitle stock/;
$tr->fclass('price')->replace_content(stringify_money $data->{price});
$tr->fclass('freepost')->detach unless $data->{freepost};
$tr->fclass($_)->replace_content($data->{$_}) for qw/title subtitle stock/;
$tr->fclass('price')->replace_content(stringify_money $data->{price});
$tr->fclass('freepost')->detach unless $data->{freepost};
my $data = $db{$$}->select(products => '*', {}, 'product')->hashes;
my $tree = $form->clone;
$tree->find('tbody')->find('tr')->iter3($data, \&form_table_row);
my $data = $db{$$}->select(products => '*', {}, 'product')->hashes;
my $tree = $form->clone;
$tree->find('tbody')->find('tr')->iter3($data, \&form_table_row);
my $req = Plack::Request->new($env);
my ($id) = $env->{PATH_INFO} =~ m,^/([0-9A-F]+),;
if ($id) {
my $req = Plack::Request->new($env);
my ($id) = $env->{PATH_INFO} =~ m,^/([0-9A-F]+),;
if ($id) {
- my $total = $db{$$}->select(orders => 'total', {id => $id})->list;
+ my $total = $db{$$}->select(orders => 'total', {id => $id})->list or
+ return [500, ['Content-type', 'text/plain'], ['Order not found']];
$tree->fid('orderid')->replace_content($id);
$tree->look_down(name => 'order')->attr(value => $id);
$tree->fid('total')->replace_content(stringify_money $total);
$tree->fid('orderid')->replace_content($id);
$tree->look_down(name => 'order')->attr(value => $id);
$tree->fid('total')->replace_content(stringify_money $total);
$db{$$} //= DBIx::Simple->connect($ENV{OOF_DSN} // 'dbi:Pg:');
my $tree = $details->clone;
my ($id) = $env->{PATH_INFO} =~ m,^/(\d+),;
$db{$$} //= DBIx::Simple->connect($ENV{OOF_DSN} // 'dbi:Pg:');
my $tree = $details->clone;
my ($id) = $env->{PATH_INFO} =~ m,^/(\d+),;
my @pics = <static/fullpics/$id-*>;
my $slug = make_slug $title;
$tree->find('title')->replace_content("Pictures of $title | ledparts4you");
$tree->find('h2')->replace_content($title);
my @pics = <static/fullpics/$id-*>;
my $slug = make_slug $title;
$tree->find('title')->replace_content("Pictures of $title | ledparts4you");
$tree->find('h2')->replace_content($title);
$tree->look_down(rel => 'canonical')->attr(href => "/details/$id/$slug");
$tree->fid('pictures')->find('li')->iter3(\@pics, \&details_list_element);
$tree->look_down(rel => 'canonical')->attr(href => "/details/$id/$slug");
$tree->fid('pictures')->find('li')->iter3(\@pics, \&details_list_element);