view-izing the base payment table and adding the "payment_type" field
[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::user_circulation_summary;
25 use base qw/money/;
26 __PACKAGE__->table('money_user_summary');
27 __PACKAGE__->columns(Primary => 'usr');
28 __PACKAGE__->columns(Essential => qw/total_paid total_owed balance_owed/);
29 #-------------------------------------------------------------------------------
30
31 package money::billable_transaction_summary;
32 use base qw/money/;
33 __PACKAGE__->table('money_billable_transaction_summary');
34 __PACKAGE__->columns(Primary => 'id');
35 __PACKAGE__->columns(Essential => qw/xact_start usr xact_finish total_paid
36                                      last_payment_ts total_owed last_billing_ts
37                                      balance_owed xact_type last_billing_note/);
38 #-------------------------------------------------------------------------------
39
40 package money::billing;
41 use base qw/money/;
42 __PACKAGE__->table('money_billing');
43 __PACKAGE__->columns(Primary => 'id');
44 __PACKAGE__->columns(Essential => qw/xact amount billing_ts note voided/);
45 #-------------------------------------------------------------------------------
46
47 package money::payment;
48 use base qw/money/;
49 __PACKAGE__->table('money_payment');
50 __PACKAGE__->columns(Primary => 'id');
51 __PACKAGE__->columns(Essential => qw/xact amount payment_ts payment_type/);
52 __PACKAGE__->columns(Others => qw/note/);
53 #-------------------------------------------------------------------------------
54
55 package money::cash_payment;
56 use base qw/money/;
57 __PACKAGE__->table('money_cash_payment');
58 __PACKAGE__->columns(Primary => 'id');
59 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer accepting_usr amount_collected/);
60 __PACKAGE__->columns(Others => qw/note/);
61 #-------------------------------------------------------------------------------
62
63 package money::check_payment;
64 use base qw/money/;
65 __PACKAGE__->table('money_check_payment');
66 __PACKAGE__->columns(Primary => 'id');
67 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer check_number accepting_usr amount_collected/);
68 __PACKAGE__->columns(Others => qw/note/);
69 #-------------------------------------------------------------------------------
70
71 package money::credit_card_payment;
72 use base qw/money/;
73 __PACKAGE__->table('money_credit_card_payment');
74 __PACKAGE__->columns(Primary => 'id');
75 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer
76                                      accepting_usr amount_collected cc_type
77                                      cc_number expire_month expire_year
78                                      approval_code/);
79 __PACKAGE__->columns(Others => 'note');
80 #-------------------------------------------------------------------------------
81
82 package money::forgive_payment;
83 use base qw/money/;
84 __PACKAGE__->table('money_payment');
85 __PACKAGE__->columns(Primary => 'id');
86 __PACKAGE__->columns(Essential => qw/xact amount payment_ts accepting_usr amount_collected/);
87 __PACKAGE__->columns(Others => qw/note/);
88 #-------------------------------------------------------------------------------
89
90 package money::work_payment;
91 use base qw/money::forgive_payment/;
92 __PACKAGE__->table('money_work_payment');
93 #-------------------------------------------------------------------------------
94
95 package money::credit_payment;
96 use base qw/money::forgive_payment/;
97 __PACKAGE__->table('money_credit_payment');
98
99 #-------------------------------------------------------------------------------
100
101 1;
102