NAME¶
Jifty::RightsFrom - Delegate access control to a related object
SYNOPSIS¶
package Application::Model::Thing;
use Jifty::DBI::Schema;
use Application::Record schema {
column owner => refers_to Application::Model::Person;
}
use Jifty::RightsFrom column => 'owner';
DESCRIPTION¶
Provides a "delegate_current_user_can" method that various
task-related objects can use as a base to make their own access control
decisions based on their task. "current_user_can" in Jifty::Record
uses this method to make an access control decision if it exists.
Note that this means that a model class can use Jifty::RightsFrom, and still
have a custom "current_user_can" method, and they will not interfere
with each other.
export_curried_sub HASHREF¶
Takes:
- sub_name
- The subroutine in this package that you want to
export.
- export_to
- The name of the package you want to export to.
- as
- The name your new curried sub should be exported into in
the package "export_to"
- args (arrayref)
- The arguments you want to hand to your sub.
delegate_current_user_can 'column', $column_name, $right_name,
@attributes¶
Make a decision about permissions based on checking permissions on the column of
this record specified in the call to "import". "create",
"delete", and "update" rights all check for the
"update" right on the delegated object. On create, we look in the
passed attributes for an argument with the name of that column.