]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/extras/org_tree_html_options.pl
slimpac. yay!
[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_js.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.storage");
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         my $depth = $node->ou_type - 1;
29         my $sname = $node->shortname;
30         my $name = $node->name;
31         my $kids = $node->children;
32         print FILE "<option class='indent$depth' value='$sname'>$name</option>\n";
33         print_option($_) for (@$kids);
34 }
35