]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js
9be3962843ce825e4659828518fee9f530ccf027
[working/Evergreen.git] / Evergreen / staff_client / chrome / content / evergreen / patron / patron_bills.js
1 sdump('D_TRACE','Loading patron_bills.js\n');
2
3 function patron_bills_init(p) {
4         sdump('D_PATRON_BILLS',"TESTING: patron_bills.js: " + mw.G['main_test_variable'] + '\n');
5         sdump('D_CONSTRUCTOR',arg_dump(arguments));
6
7         p.patron_bills_cols = [
8                 {
9                         'id' : 'checkbox', 'label' : ' ', 'flex' : 0, 'render_xul' : 'checkbox'
10                 },
11                 {
12                         'id' : 'id', 'label' : getString('mbts_id_label'), 'flex' : 1,
13                         'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.id()'
14                 },
15                 {
16                         'id' : 'xact_start', 'label' : getString('mbts_xact_start_label'), 'flex' : 1,
17                         'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.xact_start().toString().substr(0,10);'
18                 },
19                 {
20                         'id' : 'xact_finish', 'label' : getString('mbts_xact_finish_label'), 'flex' : 1,
21                         'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.xact_finish().toString().substr(0,10);'
22                 },
23                 {
24                         'id' : 'total_owed', 'label' : getString('mbts_total_owed_label'), 'flex' : 1,
25                         'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.total_owed()'
26                 },
27                 {
28                         'id' : 'total_paid', 'label' : getString('mbts_total_paid_label'), 'flex' : 1,
29                         'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.total_paid()'
30                 },
31                 {
32                         'id' : 'balance_owed', 'label' : getString('mbts_balance_owed_label'), 'flex' : 1,
33                         'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.balance_owed()'
34                 },
35                 {
36                         'id' : 'current_pay', 'label' : getString('bills_current_payment_label'), 'flex' : 1, 'render_xul' : 'textbox'
37                 }
38         ];
39
40         p.grid_list = grid_list_init( { 'w' : p.w, 'node' : p.node, 'cols' : p.patron_bills_cols, 'debug' : p.app } );
41         p.add_patron_bills = function (bills) {
42                 sdump('D_PATRON_BILLS','p.add_patron_bills(' + bills + ')\n');
43                 return patron_bills_add_patron_bills(p,bills);
44         }
45         p.clear_patron_bills = p.grid_list.clear_grid;
46
47         p.register_bill_context_builder = function (f) {
48                 sdump('D_PATRON_BILLS','p.register_context_builder(' + f + ')\n');
49                 p.grid_list.register_context_builder( f );
50         }
51
52         sdump('D_TRACE_EXIT',arg_dump(arguments));
53         return p;
54 }
55
56 function cols() {
57         sdump('D_PATRON_BILLS',arg_dump(arguments,{1:true}));
58         for (var i = 0; i < p.mbts_cols.length; i++) {
59                 var hash = p.mbts_cols[i];
60                 var obj_string = 'mbts';
61                 var cmd = parse_render_string( obj_string, hash.fm_field_render );
62                 var col = '';
63                 try {
64                         col = eval( cmd );
65                 } catch(E) {
66                         sdump('D_ERROR',js2JSON(E) + '\n');
67                 }
68                 var label = p.w.document.createElement('label');
69                 row.appendChild( label );
70                 label.setAttribute('value',col);
71         }       
72 }
73
74 function patron_bills_add_patron_bills(p, bills) {
75         sdump('D_PATRON_BILLS',arg_dump(arguments,{1:true}));
76         // grid_columns: checkbox, line item, bill amount, payment
77
78         var obj_string ='mbts';
79
80         for (var i = 0; i < bills.length; i++) {
81
82                 var mbts = bills[i];
83
84                 var row = p.w.document.createElement('row');
85                 p.grid_list.add_rows( [ row ] );
86
87                 for (var j = 0; j < p.patron_bills_cols.length; i++) {
88                         var hash = p.patron_bills_cols[j];
89                         if (hash.fm_field_render) {
90                         }
91                 }
92         }
93 }