]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/extras/org_tree_html_options.pl
for some reason I still had storage answering an actor call (works, but slower)
[Evergreen.git] / Open-ILS / src / extras / org_tree_html_options.pl
1 #!/usr/bin/perl
2 # turns the orgTree and orgTypes into js files
3
4 use OpenSRF::AppSession;
5 use OpenSRF::System;
6 use OpenILS::Utils::Fieldmapper;
7 use OpenSRF::Utils::SettingsClient;
8
9 die "usage: perl org_tree_html_options.pl <bootstrap_config> <output_file>" unless $ARGV[1];
10 OpenSRF::System->bootstrap_client(config_file => $ARGV[0]);
11
12 open FILE, ">$ARGV[1]";
13
14 Fieldmapper->import(IDL => OpenSRF::Utils::SettingsClient->new->config_value("IDL"));
15
16 my $ses = OpenSRF::AppSession->create("open-ils.actor");
17 my $tree = $ses->request("open-ils.actor.org_tree.retrieve")->gather(1);
18
19 print_option($tree);
20
21 $ses->disconnect();
22 close FILE;
23
24
25
26 sub print_option {
27         my $node = shift;
28         return unless ($node->opac_visible =~ /^[y1t]+/i);
29         my $depth = $node->ou_type - 1;
30         my $sname = $node->shortname;
31         my $name = $node->name;
32         my $kids = $node->children;
33         print FILE "<option value='$sname'><pre>" . '&nbsp;&nbsp;&nbsp;'x$depth . "</pre>$name</option>\n";
34         print_option($_) for (@$kids);
35 }
36