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.