Jifty::RightsFrom - Delegate access control to a related object
package Application::Model::Thing;
use Jifty::DBI::Schema;
use Application::Record schema {
column owner => refers_to Application::Model::Person;
}
use Jifty::RightsFrom column => 'owner';
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.
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.
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.