Ado
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Ado/Command/generate/crud.pm view on Meta::CPAN
"<%= $a->{t} %> $$args{offset}-${\($$args{limit} + $$args{offset})}/*");
$c->debug("rendering json and html only [$$args{limit}, $$args{offset}]");
#Used in template <%= $a->{t}%>/list.html.ep
$c->stash('table_class',$table_class);
#content negotiation
my $list = $c->list_for_json(
[$$args{limit}, $$args{offset}],
[$table_class->select_range($$args{limit}, $$args{offset})]
);
return $c->respond_to(
json => $list,
html =>{list =>$list}
);
}
# Creates a resource in table <%= $a->{t} %>. A naive example.
sub create {
my $c = shift;
my $v = $c->validation;
return $c->render unless $v->has_data;
$v->required('title')->size(3, 50);
$v->required('body')->size(3, 1 * 1024 * 1024);#1MB
my $res;
eval {
$res = $table_class->create(
title => $v->param('title'),
body => $v->param('body'),
user_id => $c->user->id,
group_id => $c->user->group_id,
deleted => 0,
#permissions => '-rwxr-xr-x',
);
}||$c->stash(error=>$@);#very rude!!!
$c->debug('$error:'.$c->stash('error')) if $c->stash('error');
my $data = $res->data;
return $c->respond_to(
json => {data => $data},
html => {data => $data}
);
}
# Reads a resource from table <%= $a->{t} %>. A naive example.
sub read {
my $c = shift;
#This could be validated by a stricter route
my ($id) = $c->stash('id') =~/(\d+)/;
my $data = $table_class->find($id)->data;
$c->debug('$data:'.$c->dumper($data));
return $c->respond_to(
json => {article => $data},
html => {article => $data}
);
}
# Updates a resource in table <%= $a->{t} %>.
sub update {
my $c = shift;
my $v = $c->validation;
my ($id) = $c->stash('id') =~/(\d+)/;
my $res = $table_class->find($id);
$c->reply->not_found() unless $res->data;
$c->debug('$data:'.$c->dumper($res->data));
if($v->has_data && $res->data){
$v->optional('title')->size(3, 50);
$v->optional('body')->size(3, 1 * 1024 * 1024);#1MB
$res->title($v->param('title'))->body($v->param('body'))
->update() unless $v->has_error;
}
my $data = $res->data;
return $c->respond_to(
json => {article => $data},
html => {article => $data}
);
}
# "Deletes" a resource from table <%= $a->{t} %>.
sub delete {
return shift->render(message => '"delete" is not implemented...');
}
1;
<% %>__END__
<% %>=encoding utf8
<% %>=head1 NAME
<%= $a->{class} %> - a controller for resource <%= $a->{t} %>.
<% %>=head1 SYNOPSIS
<% %>=cut
@@ list_template
% $a = shift;
%% my $columns = $table_class->COLUMNS;
<table>
<thead>
<tr>
%% foreach my $column( @$columns ){
<th><%%= $column %></th>
%% }
</tr>
</thead>
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.442 second using v1.00-cache-2.02-grep-82fe00e-cpan-b63e86051f13 )