Catalyst-Plugin-AutoCRUD
view release on metacpan or search on metacpan
lib/Catalyst/Plugin/AutoCRUD/Controller/AJAX.pm view on Meta::CPAN
my $db = $c->stash->{cpac}->{g}->{db};
my $table = $c->stash->{cpac}->{g}->{table};
my $acl_for = {
create => 'create_allowed',
update => 'update_allowed',
'delete' => 'delete_allowed',
dumpmeta => 'dumpmeta_allowed',
dumpmeta_html => 'dumpmeta_allowed',
};
my $action = [split m{/}, $c->action]->[-1];
my $acl = $acl_for->{ $action } or return;
if ($c->stash->{cpac}->{c}->{$db}->{t}->{$table}->{$acl} ne 'yes') {
my $msg = "Access forbidden by configuration to [$site]->[$db]->[$table]->[$action]";
$c->log->debug($msg) if $c->debug;
$c->response->content_type('text/plain; charset=utf-8');
$c->response->body($msg);
$c->response->status('403');
$c->detach();
lib/Catalyst/Plugin/AutoCRUD/Model/StorageEngine/DBIC/CRUD.pm view on Meta::CPAN
return join "\000\000",
map { "$_\000${\$row->get_column($_)}" } $row->primary_columns;
}
# take unique identifier and reconstruct hash of row PK vals
sub _extract_ID {
my ($val, $finder, $prefix, $map) = @_;
$prefix = $prefix ? "$prefix." : '';
$finder ||= {};
foreach my $i (split m/\000\000/, $val) {
my ($k, $v) = split m/\000/, $i;
$k = $map->{$k} if $map;
$finder->{"$prefix$k"} = $v;
}
return $finder;
}
# find whether this DMBS supports ILIKE or just LIKE
sub _likeop_for {
my $model = shift;
my $sqlt_type = $model->result_source->storage->sqlt_type;
( run in 0.496 second using v1.01-cache-2.11-cpan-71847e10f99 )