From ebc5e9e533667559f6ca082043f387d5a4a0950c Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 22 Jun 2005 14:47:27 +0000 Subject: [PATCH] updating permission API git-svn-id: svn://svn.open-ils.org/ILS/trunk@905 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm | 4 ++-- .../OpenILS/Application/Storage/Publisher/permission.pm | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm index 680e361c70..e8756bd306 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm @@ -434,11 +434,11 @@ sub modify_from_fieldmapper { 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; diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/permission.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/permission.pm index 9b42d30f2a..ee0b5d15cf 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/permission.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/permission.pm @@ -8,15 +8,16 @@ sub usr_has_perm { 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 { @@ -24,7 +25,7 @@ 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 ); @@ -35,6 +36,7 @@ __PACKAGE__->register_method( method => 'usr_perms', api_name => 'open-ils.storage.permission.user_perms', argc => 2, + stream => 1, ); 1; -- 2.11.0