]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/server/patron/bill_details.xul
ecc88e1b6d216aa4cfa1425bad73f2ed5859e911
[Evergreen.git] / Open-ILS / xul / staff_client / server / patron / bill_details.xul
1 <?xml version="1.0"?>
2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: Patron Display -->
4
5 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
6 <!-- STYLESHEETS -->
7 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
8 <?xml-stylesheet href="/xul/server/skin/evergreen.css" type="text/css"?>
9 <?xml-stylesheet href="/xul/server/skin/circ.css" type="text/css"?>
10
11 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
12 <!-- LOCALIZATION -->
13 <!DOCTYPE window SYSTEM "chrome://evergreen/locale/lang.dtd">
14
15 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
16 <!-- OVERLAYS -->
17 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
18
19 <window id="bill_details_win" 
20         onload="try{ my_init(); } catch(E) { alert(E); }"
21         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
22
23         <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
24         <!-- BEHAVIOR -->
25         <script type="text/javascript">var myPackageDir = 'evergreen'; var IAMXUL = true; var g = {};</script>
26         <scripts id="openils_util_scripts"/>
27
28         <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
29         <script>
30         <![CDATA[
31                 function my_init() {
32                         try {
33                                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
34                                 if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
35                                 JSAN.errorLevel = "die"; // none, warn, or die
36                                 JSAN.addRepository('/xul/server/');
37
38                                 JSAN.use('util.error'); g.error = new util.error();
39                                 JSAN.use('util.network'); g.network = new util.network();
40                                 JSAN.use('util.date');
41                                 JSAN.use('util.money');
42
43                                 g.error.sdump('D_TRACE','my_init() for bill_details.xul');
44
45                                 g.cgi = new CGI();
46
47                                 var mbts_id = g.cgi.param('mbts_id');
48                                 var session = g.cgi.param('session');
49
50
51                                 var mb_list = g.network.request(
52                                         api.fm_mb_retrieve_via_mbts_id.app,
53                                         api.fm_mb_retrieve_via_mbts_id.method,
54                                         [ session, mbts_id ]
55                                 );
56
57                                 var rows = document.getElementById('bill_rows');
58                                 for (var i = 0; i < mb_list.length; i++) {
59
60                                         var row = document.createElement('row');
61                                         rows.appendChild(row);
62
63                                                 var c1 = document.createElement('label');
64                                                 row.appendChild(c1);
65                                                 c1.setAttribute('value', mb_list[i].voided() ? 'Yes' : 'No' );
66
67                                                 var c2 = document.createElement('label');
68                                                 row.appendChild(c2);
69                                                 c2.setAttribute('value', util.date.formatted_date( mb_list[i].billing_ts(),'' ));
70
71                                                 var c3 = document.createElement('label');
72                                                 row.appendChild(c3);
73                                                 c3.setAttribute('value', mb_list[i].billing_type());
74
75                                                 var c4 = document.createElement('label');
76                                                 row.appendChild(c4);
77                                                 c4.setAttribute('value', util.money.sanitize( mb_list[i].amount() ) );
78                                                 c4.setAttribute('class','text-right');
79
80                                                 var c5 = document.createElement('label');
81                                                 row.appendChild(c5);
82                                                 c5.setAttribute('value', mb_list[i].note());
83                                 }
84
85                                 var mp_list = g.network.request(
86                                         api.fm_mp_retrieve_via_mbts_id.app,
87                                         api.fm_mp_retrieve_via_mbts_id.method,
88                                         [ session, mbts_id ]
89                                 );
90
91                                 var rows = document.getElementById('pay_rows');
92                                 for (var i = 0; i < mp_list.length; i++) {
93
94                                         var row = document.createElement('row');
95                                         rows.appendChild(row);
96
97                                                 var c1 = document.createElement('label');
98                                                 row.appendChild(c1);
99                                                 //c1.setAttribute('value', mp_list[i].voided() ? 'Yes' : 'No' );
100                                                 c1.setAttribute('value', 'No' );
101
102                                                 var c2 = document.createElement('label');
103                                                 row.appendChild(c2);
104                                                 c2.setAttribute('value', util.date.formatted_date( mp_list[i].payment_ts(),'' ));
105
106                                                 var c3 = document.createElement('label');
107                                                 row.appendChild(c3);
108                                                 c3.setAttribute('value', mp_list[i].payment_type());
109
110                                                 var c4 = document.createElement('label');
111                                                 row.appendChild(c4);
112                                                 c4.setAttribute('value', util.money.sanitize( mp_list[i].amount() ) );
113                                                 c4.setAttribute('class','text-right');
114
115                                                 var c5 = document.createElement('label');
116                                                 row.appendChild(c5);
117                                                 c5.setAttribute('value', mp_list[i].note());
118                                 }
119
120         
121                         } catch(E) {
122                                 var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
123                                         "system administrator or software developer the following:\nbill_details.xul\n" + E + '\n';
124                                 try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
125                                 alert(err_msg);
126                         }
127                 }
128
129         ]]>
130         </script>
131
132         <vbox flex="1" class="my_overflow">
133                 <groupbox orient="vertical" flex="1">
134                         <caption label="Full Details"/>
135                         <grid>
136                                 <columns> <column /> <column /> </columns>
137                                 <rows>
138                                         <row>
139                                                 <label value="Bills" class="header" style="color: red;" />
140                                                 <grid>
141                                                         <columns> <column /> <column /> <column /> <column /> </columns>
142                                                         <rows id="bill_rows">
143                                                                 <row>
144                                                                         <label value="Voided" class="header" />
145                                                                         <label value="When" class="header" />
146                                                                         <label value="Type" class="header" />
147                                                                         <label value="Amount" class="header" />
148                                                                         <label value="Note" class="header" />
149                                                                 </row>
150                                                         </rows>
151                                                 </grid>
152                                         </row>
153                                         <row>
154                                                 <label value="Payments" class="header" style="color: green;" />
155                                                 <grid>
156                                                         <columns> <column /> <column /> <column /> <column /> </columns>
157                                                         <rows id="pay_rows">
158                                                                 <row>
159                                                                         <label value="Voided" class="header" />
160                                                                         <label value="When" class="header" />
161                                                                         <label value="Type" class="header" />
162                                                                         <label value="Amount" class="header" />
163                                                                         <label value="Note" class="header" />
164                                                                 </row>
165                                                         </rows>
166                                                 </grid>
167                                         </row>
168                                 </rows>
169                         </grid>
170                 </groupbox>
171                 <button label="Close Window" oncommand="window.close()" accesskey="c"/>
172         </vbox>
173
174
175 </window>
176