]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/extras/org_tree_js.pl
more import pipeline improvement
[Evergreen.git] / Open-ILS / src / extras / org_tree_js.pl
1
2 # turns the orgTree and orgTypes into js files
3
4 use OpenSRF::AppSession;
5 use OpenSRF::System;
6 use JSON;
7 use OpenILS::Utils::Fieldmapper;
8 use OpenSRF::Utils::SettingsClient;
9
10 die "usage: perl org_tree_js.pl <bootstrap_config>" unless $ARGV[0];
11 OpenSRF::System->bootstrap_client(config_file => $ARGV[0]);
12
13 Fieldmapper->import(IDL => OpenSRF::Utils::SettingsClient->new->config_value("IDL"));
14
15 my $ses = OpenSRF::AppSession->create("open-ils.storage");
16 my $tree = $ses->request("open-ils.storage.direct.actor.org_unit.retrieve.all.atomic")->gather(1);
17 my $types = $ses->request("open-ils.storage.direct.actor.org_unit_type.retrieve.all.atomic")->gather(1);
18
19 my $types_string = JSON->perl2JSON($types);
20 $types_string =~ s/\"/\\\"/g;
21
22 my $pile = "var _l = [";
23
24 my @array;
25 for my $o (@$tree) {
26         my ($i,$t,$p,$n) = ($o->id,$o->ou_type,$o->parent_ou,$o->name);
27         push @array, "[$i,$t,$p,\"$n\"]";
28 }
29 $pile .= join ',', @array;
30 $pile .= <<JS;
31 ];
32 JS
33
34 $pile .= "var globalOrgTypes = JSON2js(\"$types_string\");";
35
36 print $pile;
37
38
39 $ses->disconnect();