1 package OpenILS::Application::Storage::Publisher::permission;
2 use base qw/OpenILS::Application::Storage/;
3 #use OpenILS::Application::Storage::CDBI::config;
10 for my $rec ( permission::grp_tree->retrieve_all ) {
11 $client->respond( $rec->to_fieldmapper );
16 __PACKAGE__->register_method(
17 method => 'retrieve_all',
18 api_name => 'open-ils.storage.direct.permission.grp_tree.retrieve.all',
27 for my $rec ( sort { $a->code cmp $b->code } permission::perm_list->retrieve_all ) {
28 $client->respond( $rec->to_fieldmapper );
33 __PACKAGE__->register_method(
34 method => 'retrieve_perms',
35 api_name => 'open-ils.storage.direct.permission.perm_list.retrieve.all',
47 return permission::usr_grp_map->db_Main->selectrow_arrayref(<<" SQL",{}, "$usr", "$perm", "$target")->[0];
48 SELECT permission.usr_has_perm(?,?,?)
51 __PACKAGE__->register_method(
52 method => 'usr_has_perm',
53 api_name => 'open-ils.storage.permission.user_has_perm',
57 sub usr_has_home_perm {
64 return permission::usr_grp_map->db_Main->selectrow_arrayref(<<" SQL",{}, "$usr", "$perm", "$target")->[0];
65 SELECT permission.usr_has_home_perm(?,?,?)
68 __PACKAGE__->register_method(
69 method => 'usr_has_home_perm',
70 api_name => 'open-ils.storage.permission.user_has_home_perm',
74 sub usr_has_work_perm {
81 return permission::usr_grp_map->db_Main->selectrow_arrayref(<<" SQL",{}, "$usr", "$perm", "$target")->[0];
82 SELECT permission.usr_has_work_perm(?,?,?)
85 __PACKAGE__->register_method(
86 method => 'usr_has_work_perm',
87 api_name => 'open-ils.storage.permission.user_has_work_perm',
96 my $sth = permission::usr_perm_map->db_Main->prepare('SELECT DISTINCT * FROM permission.usr_perms(?)');
97 $sth->execute("$usr");
99 $client->respond( $_->to_fieldmapper ) for ( map { permission::usr_perm_map->construct($_) } $sth->fetchall_hash );
103 __PACKAGE__->register_method(
104 method => 'usr_perms',
105 api_name => 'open-ils.storage.permission.user_perms',