updating permission API
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 22 Jun 2005 14:47:27 +0000 (14:47 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 22 Jun 2005 14:47:27 +0000 (14:47 +0000)
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
Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/permission.pm

index 680e361..e8756bd 100644 (file)
@@ -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;
index 9b42d30..ee0b5d1 100644 (file)
@@ -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;