]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/reporter/templates/widgets/lib-choose.dropdown
7461b50fa2b6a712ed49fbcaf7badb0ae9b1ced5
[Evergreen.git] / Open-ILS / src / reporter / templates / widgets / lib-choose.dropdown
1 [%
2
3 PROCESS inputs;
4
5 root = 'SELECT * FROM ' _ table.findvalue('tablename') _ ' WHERE parent_ou IS NULL ORDER BY name;';
6 q = 'SELECT * FROM ' _ table.findvalue('tablename') _ ' WHERE parent_ou = ? ORDER BY name;';
7
8 org_unit_type = DBI.tie('actor.org_unit_type', 'id')
9
10 %]
11
12 <script language="javascript">
13         filters["[% input_prefix %]"] = "[% table_label _ ' -- ' _ field.findvalue('label') %]";
14
15         var hier_[% table_alias %] = [];
16
17         function change_hier_[% table_alias %] ( sel ) {
18                 for (var i in hier_[% table_alias %]) {
19                         if (hier_[% table_alias %][i] == sel.options[sel.selectedIndex].id) {
20                                 return true;
21                         }
22                 }
23                 sel.selectedIndex = null;
24                 return false;
25         }
26 </script>
27
28 [%
29
30 WRAPPER select name=input_prefix onchange='change_hier_' _ table_alias _ '(this);';
31         depth = 0;
32         FOR f = DBI.query(root);
33                 INCLUDE option value=f.$fieldname;
34                 INCLUDE next_level parent_ou = f.id depth;
35         END;
36 END;
37
38 BLOCK next_level;
39         depth = depth + 1;
40         x = depth;
41         s = DBI.prepare(q);
42         FOR f = s.execute(parent_ou);
43                 ou_t = f.ou_type;
44
45                 logme(["can_have_vols for ou_t", ,org_unit_type.$ou_t.can_have_vols]);
46
47                 IF org_unit_type.$ou_t.can_have_vols == 1;
48                         %]
49                         <script language="javascript">
50                                 hier_[% table_alias %].push("dr_[% f.id %]");
51                         </script>
52                         [%
53                 END;
54
55                 x = depth;
56                 val = '';
57                 WHILE x > 0;
58                         val = val _ '&nbsp;&nbsp;';
59                         x = x - 1;
60                 END;
61
62                 INCLUDE option value=f.name content=val _ f.name id='dr_' _ f.id;
63                 INCLUDE next_level parent_ou = f.id;
64         END;
65 END;
66
67 %]