]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/reporter/templates/stage1.ttk
moved s1.ttk to stage1.ttk
[Evergreen.git] / Open-ILS / src / reporter / templates / stage1.ttk
1 [%
2
3 BLOCK logme_block;
4         "\n\t<!-- " _ x _ " -->\n";
5 END;
6
7 MACRO logme(a) PROCESS logme_block x = a.list.join(', ');
8
9 %]
10
11 [%
12         USE DBI;
13         USE WebSession;
14         USE utils = WebUtils;
15         USE config = XML.LibXML(config_xml);
16
17         userid = 1;
18
19         dir = '/reporter/setup/files/' _ stage_dir;
20         dir = config.findvalue(dir);
21
22         dbname = config.findvalue('/reporter/setup/database/name');
23         dbhost = config.findvalue('/reporter/setup/database/host');
24         d_u = config.findvalue('/reporter/setup/database/user');
25         d_p = config.findvalue('/reporter/setup/database/password');
26
27         dsn = "dbi:Pg:dbname=" _ dbname _';host=' _ dbhost;
28
29         logme([dsn,d_u,d_p]);
30         
31         DBI.connect(dsn,d_u,d_p);
32 %]
33
34 <html>
35         <body>
36                 [% PROCESS PRINT_STAGE1 %]
37         </body>
38 </html>
39
40
41
42
43 [% BLOCK PRINT_STAGE1 %]
44                 <table border=1>
45 [%                      FOR s1 IN DBI.query("select * from reporter.stage1 where pub is true;");
46                                 file = dir _ '/' _ s1.filename;
47                                 USE doc = XML.LibXML(file);
48                                 fact_table = doc.findvalue('//report/@fact-table');
49                                 logme(fact_table);
50 %]
51
52                                 <tr>
53                                         <td>
54                                                 Name:
55                                         </td>
56                                         <td>
57                                                 [%doc.findvalue('/reporter/report/@name')%]
58                                         </td>
59                                 </tr>
60                                 <tr>
61                                         <td>
62                                                 Description:
63                                         </td>
64                                         <td>
65                                                 [%doc.findvalue('/reporter/report/description')%]
66                                         </td>
67                                 </tr>
68                                 <tr>
69                                         <td>
70                                                 Visible Stage2 reports:
71                                         </td>
72                                         <td>
73                                                 [% q = 'select count(*) as x from reporter.stage2 ' _
74                                                                 'where pub is true or owner = ' _ userid;
75                                                 FOR r IN DBI.query(q);
76                                                         r.x;
77                                                 END %]
78                                         </td>
79                                 </tr>
80 [% INCLUDE table_fields table = config.findnodes("/reporter/tables/table[@id='$fact_table']") %]
81                                 <tr>
82                                         <td>
83                                                 Report Attributes<br/>(dimensions):
84                                         </td>
85                                         <td>
86 [%
87                                                 incs = doc.findnodes('//report/dims/dim/@include');
88
89                                                 FOR dim IN incs;
90                                                         '<table border=1>';
91
92                                                         link_xpath = '/reporter/tables/table[@id="' _ fact_table _'"]'_
93                                                                                                 '/links/link[@field="' _ dim.value() _ '"]/@table';
94                                                         logme(link_xpath);
95
96                                                         dim_table = config.findvalue(link_xpath);
97
98                                                         dim_xpath = '/reporter/tables/table[@id="' _ dim_table _'"]';
99                                                         logme(dim_xpath);
100                                                         
101                                                         dim_def = config.findnodes(dim_xpath);
102
103                                                         INCLUDE dim_description dim = dim_def;
104                                                         '</table>';
105                                                 END
106 %]
107                                         </td>
108                                 </tr>
109
110 [%                      END %]
111                 </table>
112 [% END %]
113
114 [% BLOCK dim_description %]
115
116 <tr>
117         <td>Name:</td>
118         <td>[% dim.findvalue('name') %]</td>
119 </tr>
120 [% INCLUDE table_fields table = dim %]
121 [% END %]
122
123 [% BLOCK table_fields %]
124 [%              FOR f IN table.findnodes('fields/field') %]
125 <tr>
126         <td>Field:</td>
127         <td>[% f.findvalue('@name') %] ([% f.findvalue('@datatype') %])</td>
128 </tr>
129 [%              END %]
130
131 [% END %]