1 package OpenILS::Application::Storage::Publisher::actor;
2 use base qw/OpenILS::Application::Storage/;
3 use OpenILS::Application::Storage::CDBI::actor;
4 use OpenSRF::Utils::Logger qw/:level/;
5 use OpenILS::Utils::Fieldmapper;
7 my $log = 'OpenSRF::Utils::Logger';
16 ORDER BY CASE WHEN parent_ou IS NULL THEN 0 ELSE 1 END, name;
19 my $sth = actor::org_unit->db_Main->prepare_cached($select);
23 push @fms, $_->to_fieldmapper for ( map { actor::org_unit->construct($_) } $sth->fetchall_hash );
27 __PACKAGE__->register_method(
28 api_name => 'open-ils.storage.direct.actor.org_unit_list',
30 method => 'org_unit_list',
33 sub org_unit_descendants {
38 return undef unless ($id);
42 FROM connectby('actor.org_unit','id','parent_ou','name',?,'100','.')
43 as t(keyid text, parent_keyid text, level int, branch text,pos int),
49 my $sth = actor::org_unit->db_Main->prepare_cached($select);
53 push @fms, $_->to_fieldmapper for ( map { actor::org_unit->construct($_) } $sth->fetchall_hash );
57 __PACKAGE__->register_method(
58 api_name => 'open-ils.storage.direct.actor.org_unit_descendants',
60 method => 'org_unit_descendants',