updating money handling; adding readonly fieldmapper classes (views); allow fields...
[Evergreen.git] / Open-ILS / src / perlmods / OpenILS / Application / Storage / CDBI / money.pm
1 package OpenILS::Application::Storage::CDBI::money;
2 our $VERSION = 1;
3
4 #-------------------------------------------------------------------------------
5 package money;
6 use base qw/OpenILS::Application::Storage::CDBI/;
7 #-------------------------------------------------------------------------------
8
9 package money::billable_transaction;
10 use base qw/money/;
11 __PACKAGE__->table('money_billable_xact');
12 __PACKAGE__->columns(Primary => 'id');
13 __PACKAGE__->columns(Essential => qw/xact_start usr/);
14 __PACKAGE__->columns(Others => qw/xact_finish/);
15 #-------------------------------------------------------------------------------
16
17 package money::user_summary;
18 use base qw/money/;
19 __PACKAGE__->table('money_user_summary');
20 __PACKAGE__->columns(Primary => 'usr');
21 __PACKAGE__->columns(Essential => qw/total_paid total_owed balance_owed/);
22 #-------------------------------------------------------------------------------
23
24 package money::billable_transaction_summary;
25 use base qw/money/;
26 __PACKAGE__->table('money_billable_transaction_summary');
27 __PACKAGE__->columns(Primary => 'id');
28 __PACKAGE__->columns(Essential => qw/xact_start usr xact_finish total_paid
29                                      last_payment_ts total_owed last_billing_ts
30                                      balance_owed/);
31 #-------------------------------------------------------------------------------
32
33 package money::billing;
34 use base qw/money/;
35 __PACKAGE__->table('money_billing');
36 __PACKAGE__->columns(Primary => 'id');
37 __PACKAGE__->columns(Essential => qw/xact amount billing_ts/);
38 __PACKAGE__->columns(Others => qw/note/);
39 #-------------------------------------------------------------------------------
40
41 package money::payment;
42 use base qw/money/;
43 __PACKAGE__->table('money_payment');
44 __PACKAGE__->columns(Primary => 'id');
45 __PACKAGE__->columns(Essential => qw/xact amount payment_ts/);
46 __PACKAGE__->columns(Others => qw/note/);
47 #-------------------------------------------------------------------------------
48
49 package money::cash_payment;
50 use base qw/money/;
51 __PACKAGE__->table('money_cash_payment');
52 __PACKAGE__->columns(Primary => 'id');
53 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer accepting_usr amount_collected/);
54 __PACKAGE__->columns(Others => qw/note/);
55 #-------------------------------------------------------------------------------
56
57 package money::check_payment;
58 use base qw/money/;
59 __PACKAGE__->table('money_check_payment');
60 __PACKAGE__->columns(Primary => 'id');
61 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer check_number accepting_usr amount_collected/);
62 __PACKAGE__->columns(Others => qw/note/);
63 #-------------------------------------------------------------------------------
64
65 package money::credit_card_payment;
66 use base qw/money/;
67 __PACKAGE__->table('money_credit_card_payment');
68 __PACKAGE__->columns(Primary => 'id');
69 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer
70                                      accepting_usr amount_collected cc_type
71                                      cc_number expire_month expire_year
72                                      approval_code/);
73 __PACKAGE__->columns(Others => 'note');
74 #-------------------------------------------------------------------------------
75
76 package money::forgive_payment;
77 use base qw/money/;
78 __PACKAGE__->table('money_payment');
79 __PACKAGE__->columns(Primary => 'id');
80 __PACKAGE__->columns(Essential => qw/xact amount payment_ts accepting_usr amount_collected/);
81 __PACKAGE__->columns(Others => qw/note/);
82 #-------------------------------------------------------------------------------
83
84 package money::work_payment;
85 use base qw/money::forgive_payment/;
86 __PACKAGE__->table('money_work_payment');
87 #-------------------------------------------------------------------------------
88
89 package money::credit_payment;
90 use base qw/money::forgive_payment/;
91 __PACKAGE__->table('money_credit_payment');
92
93 #-------------------------------------------------------------------------------
94
95 1;
96