Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadatUsermContributed Perl DocumeJifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata(3pm)
NAME
Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata - ActorMetadata mixin
SYNOPSIS
package MyApp::Model::CoffeeShop;
use Jifty::DBI::Schema;
use MyApp::Record schema {
# custom column definitions
};
use Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata; # created_by, created_on, updated_on and updated_by
DESCRIPTION
SCHEMA
This mixin adds the following columns to the model schema:
created_by
created_on
updated_on
updated_by
METHODS
# XXX: pod coverage should count parent classes. this pod is useless
register_triggers
Adds the triggers to the model this mixin is added to.
register_triggers_for_column
before_create
Sets "created_by", "created_on", "updated_on" and "updated_by" based on the current user and time.
after_set
update "updated_on" and "updated_by" based on the current user and current time.
current_user_can
Rejects creation unless there's a current_user.
current_user_is_owner
import
to be more flexible, we allow some configurations like: e.g. use Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata
user_class => 'Foo::Model::Principal',
map => { created_by => 'creator', created_on => 'created' }
current valid args are: user_class => 'Foo::Model::User'
class that you want created_by and updated_by to be refers_to map => { created_by => 'creator', ... }
the real column name you want to use. this also controls whether
a column will be added or not. i.e. if the hashref is
{ created_by => 'creator', created_on => 'created' }, then columns
'updated_by' and 'updated_on' will not be added.
perl v5.14.2 2011-02-08 Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata(3pm)