permission::grp_perm_map->has_a( perm => 'permission::perm_list' );
permission::grp_perm_map->has_a( depth => 'actor::org_unit_type' );
- permission::usr_perm_map->has_a( usr => 'actor::usr' );
+ permission::usr_perm_map->has_a( usr => 'actor::user' );
permission::usr_perm_map->has_a( perm => 'permission::perm_list' );
permission::usr_perm_map->has_a( depth => 'actor::org_unit_type' );
- permission::usr_grp_map->has_a( usr => 'actor::usr' );
+ permission::usr_grp_map->has_a( usr => 'actor::user' );
permission::usr_grp_map->has_a( grp => 'permission::grp_tree' );
1;
my $client = shift;
my $usr = shift;
my $perm = shift;
+ my $target = shift;
- return permission::usr_grp_map->db_Main->selectrow_arrayref(<<" SQL",{}, "$usr", "$perm")->[0];
- SELECT permission.usr_has_perm(?,?)
+ return permission::usr_grp_map->db_Main->selectrow_arrayref(<<" SQL",{}, "$usr", "$perm", "$target")->[0];
+ SELECT permission.usr_has_perm(?,?,?)
SQL
}
__PACKAGE__->register_method(
method => 'usr_has_perm',
api_name => 'open-ils.storage.permission.user_has_perm',
- argc => 2,
+ argc => 3,
);
sub usr_perms {
my $client = shift;
my $usr = shift;
- my $sth = permission::usr_perm_map->db_Main->prepare('SELECT permission.usr_perms(?)');
+ my $sth = permission::usr_perm_map->db_Main->prepare('SELECT DISTINCT * FROM permission.usr_perms(?)');
$sth->execute("$usr");
$client->respond( $_->to_fieldmapper ) for ( map { permission::usr_perm_map->construct($_) } $sth->fetchall_hash );
method => 'usr_perms',
api_name => 'open-ils.storage.permission.user_perms',
argc => 2,
+ stream => 1,
);
1;