From f62d1f756426d3437b8643e6f8d62cdbd47a0fc3 Mon Sep 17 00:00:00 2001 From: miker Date: Sat, 10 Nov 2007 01:22:02 +0000 Subject: [PATCH] adding support for the goods payment type git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_2@8052 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/examples/fm_IDL.xml | 28 ++++++++++++++++++++++ .../perlmods/OpenILS/Application/Storage/CDBI.pm | 4 ++++ .../OpenILS/Application/Storage/CDBI/money.pm | 5 ++++ .../OpenILS/Application/Storage/Driver/Pg/dbi.pm | 6 +++++ .../OpenILS/Application/Storage/Publisher/money.pm | 6 +++-- Open-ILS/src/sql/Pg/080.schema.money.sql | 7 ++++++ Open-ILS/web/opac/common/js/fm_table_conf.js | 3 ++- .../staff_client/server/patron/bills_overlay.xul | 1 + 8 files changed, 57 insertions(+), 3 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index a7f5aa66c8..fb9ae51daa 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -10,6 +10,7 @@ + @@ -1647,6 +1648,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -2009,6 +2031,7 @@ + @@ -2017,6 +2040,7 @@ + @@ -2038,6 +2062,7 @@ + @@ -2046,6 +2071,7 @@ + @@ -2063,10 +2089,12 @@ + + diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm index a3df1aadf8..1388d816c4 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm @@ -664,6 +664,10 @@ sub modify_from_fieldmapper { money::work_payment->has_a( accepting_usr => 'actor::user' ); #money::work_payment->might_have( payment => 'money::payment' ); + money::goods_payment->has_a( xact => 'money::billable_transaction' ); + money::goods_payment->has_a( accepting_usr => 'actor::user' ); + #money::goods_payment->might_have( payment => 'money::payment' ); + money::credit_payment->has_a( xact => 'money::billable_transaction' ); money::credit_payment->has_a( accepting_usr => 'actor::user' ); #money::credit_payment->might_have( payment => 'money::payment' ); diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/money.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/money.pm index 0864ff3bad..af1cb899fe 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/money.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/money.pm @@ -132,6 +132,11 @@ use base qw/money::forgive_payment/; __PACKAGE__->table('money_work_payment'); #------------------------------------------------------------------------------- +package money::goods_payment; +use base qw/money::forgive_payment/; +__PACKAGE__->table('money_goods_payment'); +#------------------------------------------------------------------------------- + package money::credit_payment; use base qw/money::forgive_payment/; __PACKAGE__->table('money_credit_payment'); diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/dbi.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/dbi.pm index fdd10d267b..058fc86a63 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/dbi.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/dbi.pm @@ -113,6 +113,12 @@ money::work_payment->sequence( 'money.payment_id_seq' ); #--------------------------------------------------------------------- + package money::goods_payment; + + money::goods_payment->table( 'money.goods_payment' ); + money::goods_payment->sequence( 'money.payment_id_seq' ); + + #--------------------------------------------------------------------- package money::forgive_payment; money::forgive_payment->table( 'money.forgive_payment' ); diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/money.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/money.pm index 3d6ee3f020..4230b2a0aa 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/money.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/money.pm @@ -475,14 +475,15 @@ sub ou_user_payments { SELECT au.id as usr, SUM( CASE WHEN p.payment_type = 'forgive_payment' THEN p.amount ELSE 0.0 END ) as forgive_payment, SUM( CASE WHEN p.payment_type = 'work_payment' THEN p.amount ELSE 0.0 END ) as work_payment, - SUM( CASE WHEN p.payment_type = 'credit_payment' THEN p.amount ELSE 0.0 END ) as credit_payment + SUM( CASE WHEN p.payment_type = 'credit_payment' THEN p.amount ELSE 0.0 END ) as credit_payment, + SUM( CASE WHEN p.payment_type = 'goods_payment' THEN p.amount ELSE 0.0 END ) as goods_payment FROM money.bnm_payment_view p JOIN actor.usr au ON (au.id = p.accepting_usr) WHERE p.payment_ts >= '$startdate' AND p.payment_ts < '$enddate'::TIMESTAMPTZ + INTERVAL '1 day' AND p.voided IS FALSE AND au.home_ou = $lib - AND p.payment_type IN ('credit_payment','forgive_payment','work_payment') + AND p.payment_type IN ('credit_payment','forgive_payment','work_payment','goods_payment') GROUP BY 1 ORDER BY 1; @@ -496,6 +497,7 @@ sub ou_user_payments { $x->forgive_payment($$r[1]); $x->work_payment($$r[2]); $x->credit_payment($$r[3]); + $x->goods_payment($$r[4]); $client->respond($x); } diff --git a/Open-ILS/src/sql/Pg/080.schema.money.sql b/Open-ILS/src/sql/Pg/080.schema.money.sql index 19b8994161..e3b0235951 100644 --- a/Open-ILS/src/sql/Pg/080.schema.money.sql +++ b/Open-ILS/src/sql/Pg/080.schema.money.sql @@ -277,6 +277,13 @@ CREATE INDEX money_credit_payment_xact_idx ON money.credit_payment (xact); CREATE INDEX money_credit_payment_payment_ts_idx ON money.credit_payment (payment_ts); CREATE INDEX money_credit_payment_accepting_usr_idx ON money.credit_payment (accepting_usr); +CREATE TABLE money.goods_payment () INHERITS (money.bnm_payment); +ALTER TABLE money.goods_payment ADD PRIMARY KEY (id); +CREATE INDEX money_goods_id_idx ON money.goods_payment (id); +CREATE INDEX money_goods_payment_xact_idx ON money.goods_payment (xact); +CREATE INDEX money_goods_payment_payment_ts_idx ON money.goods_payment (payment_ts); +CREATE INDEX money_goods_payment_accepting_usr_idx ON money.goods_payment (accepting_usr); + CREATE TABLE money.bnm_desk_payment ( cash_drawer INT REFERENCES actor.workstation (id) ) INHERITS (money.bnm_payment); diff --git a/Open-ILS/web/opac/common/js/fm_table_conf.js b/Open-ILS/web/opac/common/js/fm_table_conf.js index e3f728f084..964c3a0700 100644 --- a/Open-ILS/web/opac/common/js/fm_table_conf.js +++ b/Open-ILS/web/opac/common/js/fm_table_conf.js @@ -73,7 +73,8 @@ var FM_TABLE_DISPLAY = { 'usr', 'credit_payment', 'forgive_payment', - 'work_payment' + 'work_payment', + 'goods_payment' ] }, 'rr' : { diff --git a/Open-ILS/xul/staff_client/server/patron/bills_overlay.xul b/Open-ILS/xul/staff_client/server/patron/bills_overlay.xul index 0b9bccec2d..ce6c427b34 100644 --- a/Open-ILS/xul/staff_client/server/patron/bills_overlay.xul +++ b/Open-ILS/xul/staff_client/server/patron/bills_overlay.xul @@ -72,6 +72,7 @@ --> + -- 2.11.0