From d480cca63c862b6b68b2e597d29600484b3e4426 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Thu, 15 Mar 2018 15:01:55 -0400 Subject: [PATCH] Updating invoice and statement list Adding in the line items. --- classes/billingSupport.php | 4 +- classes/data/dataAccounts.php | 5 ++- models/admin/billing/index.php | 2 +- models/admin/billing/invoices.php | 8 ++-- models/admin/member/billing.php | 1 + views/admin/billing/invoices.html | 16 ++++--- views/admin/billing/statements.html | 45 ++++++++++++------- .../admin/settings/editNotificationType.html | 2 +- views/admin/settings/invoiceTypes.html | 8 ++-- 9 files changed, 56 insertions(+), 35 deletions(-) diff --git a/classes/billingSupport.php b/classes/billingSupport.php index bd84301..80a55c2 100644 --- a/classes/billingSupport.php +++ b/classes/billingSupport.php @@ -381,10 +381,12 @@ class GlmBillingSupport $type = $transaction['type']; switch ( $type ){ case $this->config['transaction_numb']['Invoice']: - $invoice = $this->getInvoiceById( $transaction['type_id'] ); + $invoice = $this->getInvoiceById( $transaction['type_id'] ); + $line_items = $this->getLineItemsForInvoice( $transaction['type_id'] ); $balance_due = $balance_due + $invoice['amount_total']; // add to the $transaction array $transaction['transaction_data'] = $invoice; + $transaction['line_items'] = $line_items; break; case $this->config['transaction_numb']['Payment']: $payment = $this->getPaymentById( $transaction['type_id'] ); diff --git a/classes/data/dataAccounts.php b/classes/data/dataAccounts.php index 007c79e..220bb7a 100644 --- a/classes/data/dataAccounts.php +++ b/classes/data/dataAccounts.php @@ -296,8 +296,9 @@ class GlmDataAccounts extends GlmDataAbstract // Remove what we don't want from the copy and get the list $this->fields = array( - 'id' => $fSave['id'], - 'name' => $fSave['ref_name'], + 'id' => $fSave['id'], + 'name' => $fSave['ref_name'], + 'anniversary_date' => $fSave['anniversary_date'], ); $memberList = $this->getList($where, $order, $fieldVals, $idField, $start, $limit); diff --git a/models/admin/billing/index.php b/models/admin/billing/index.php index 6f45be1..d25cbc0 100644 --- a/models/admin/billing/index.php +++ b/models/admin/billing/index.php @@ -339,7 +339,7 @@ class GlmMembersAdmin_billing_index extends GlmDataInvoices $orderBy = 'transaction_time desc'; $this->line_items_post = true; $invoicesResult = $this->getList($where, $orderBy, true, 'id', $start, $limit); - echo '
$invoicesResult: ' . print_r( $invoicesResult, true ) . '
'; + // echo '
$invoicesResult: ' . print_r( $invoicesResult, true ) . '
'; $this->line_items_post = false; // Get paging results diff --git a/models/admin/billing/invoices.php b/models/admin/billing/invoices.php index 684b094..5926369 100644 --- a/models/admin/billing/invoices.php +++ b/models/admin/billing/invoices.php @@ -146,7 +146,7 @@ class GlmMembersAdmin_billing_invoices extends GlmDataInvoices // Need to get the accounts $Accounts = new GlmDataAccounts( $this->wpdb, $this->config ); $billingAccount = $Accounts->newEntry(); - $accounts = $Accounts->getList( '', 'ref_name' ); + $accounts = $Accounts->getSimpleAccountList( '', 'ref_name' ); // Need a list of members that don't have an account. $nonAccountMembers = $this->wpdb->get_results( @@ -245,7 +245,7 @@ class GlmMembersAdmin_billing_invoices extends GlmDataInvoices // Need to get the accounts $Accounts = new GlmDataAccounts( $this->wpdb, $this->config ); $billingAccount = $Accounts->newEntry(); - $accounts = $Accounts->getList( '', 'ref_name' ); + $accounts = $Accounts->getSimpleAccountList( '', 'ref_name' ); // Need a list of members that don't have an account. $nonAccountMembers = $this->wpdb->get_results( @@ -331,7 +331,7 @@ class GlmMembersAdmin_billing_invoices extends GlmDataInvoices // Need to get the accounts $Accounts = new GlmDataAccounts( $this->wpdb, $this->config ); - $accounts = $Accounts->getList(); + $accounts = $Accounts->getSimpleAccountList(); $where_params = array( 'true' ); @@ -417,7 +417,7 @@ class GlmMembersAdmin_billing_invoices extends GlmDataInvoices $orderBy = 'transaction_time desc'; $this->line_items_post = true; $invoicesResult = $this->getList($where, $orderBy, true, 'id', $start, $limit); - echo '
$invoicesResult: ' . print_r( $invoicesResult, true ) . '
'; + // echo '
$invoicesResult: ' . print_r( $invoicesResult, true ) . '
'; $this->line_items_post = false; // Get paging results diff --git a/models/admin/member/billing.php b/models/admin/member/billing.php index 3839cee..d0dae7b 100644 --- a/models/admin/member/billing.php +++ b/models/admin/member/billing.php @@ -472,6 +472,7 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling $view = 'statements'; // Get the list of invoices for this member. $statements = $BillingSupport->getStatementsByRefDest( $this->memberID ); + // echo '
$statements: ' . print_r( $statements, true ) . '
'; if ( $statements ) { $transactions = $statements['transactions']; $account_data = $statements['account_data']; diff --git a/views/admin/billing/invoices.html b/views/admin/billing/invoices.html index 30cc89b..162dd2c 100644 --- a/views/admin/billing/invoices.html +++ b/views/admin/billing/invoices.html @@ -43,11 +43,12 @@ ID Member Name - Time - Due Date - Amount Total - Balance - View + Invoice For + Time + Due Date + Amount Total + Balance + View @@ -61,6 +62,11 @@ {/if} {$t.id} {$t.member_name} + + {foreach $t.line_items as $item} + {$item.name} {if $item.recurring && $item.recurrence_string}( {$item.recurrence_string} ){/if} + {/foreach} + {$t.transaction_time.datetime} {$t.due_date.date} {$t.amount_total} diff --git a/views/admin/billing/statements.html b/views/admin/billing/statements.html index 2dee7da..795c495 100644 --- a/views/admin/billing/statements.html +++ b/views/admin/billing/statements.html @@ -8,10 +8,11 @@ - + + @@ -20,25 +21,35 @@ {$alt = 0} {foreach $transactions as $transaction} - + {* Invoices *} {if $transaction.type == '10'} - - - - - - - + + + + + + + + + + + {* Payments *} {elseif $transaction.type == '20'} - - - - - - - + + + + + + + + + + {/if} - {$alt = $alt + 1} {/foreach} diff --git a/views/admin/settings/editNotificationType.html b/views/admin/settings/editNotificationType.html index 49f8667..afc6994 100644 --- a/views/admin/settings/editNotificationType.html +++ b/views/admin/settings/editNotificationType.html @@ -30,7 +30,7 @@ - + diff --git a/views/admin/settings/invoiceTypes.html b/views/admin/settings/invoiceTypes.html index 9c38b1b..e3e6f38 100644 --- a/views/admin/settings/invoiceTypes.html +++ b/views/admin/settings/invoiceTypes.html @@ -31,7 +31,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -134,8 +134,8 @@
IDID Date Due Date TypeLine Items (invoices only) Amount Balance  
{$transaction.transaction_data.id}{$transaction.transaction_data.transaction_time|date_format:"%D"}{$transaction.transaction_data.due_date|date_format:"%D"}{$transaction_types[$transaction.type]}${$transaction.transaction_data.amount_total}${$transaction.transaction_data.balance} View {$transaction.transaction_data.id}{$transaction.transaction_data.transaction_time|date_format:"%D"}{$transaction.transaction_data.due_date|date_format:"%D"}{$transaction_types[$transaction.type]} + {foreach $transaction.line_items as $item} + {$item.name} {if $item.recurring && $item.recurrence_string}( {$item.recurrence_string} ){/if}
+ {/foreach} +
${$transaction.transaction_data.amount_total}${$transaction.transaction_data.balance} View
{$transaction.transaction_data.id}{$transaction.transaction_data.transaction_time|date_format:"%D"} {$transaction_types[$transaction.type]}${$transaction.transaction_data.amount}  {$transaction.transaction_data.id}{$transaction.transaction_data.transaction_time|date_format:"%D"} {$transaction_types[$transaction.type]} ${$transaction.transaction_data.amount}  
Due DateDue Date
Amount:Numbers only (999.99)Amount:Numbers only
(999.99)
Amount:Numbers only (999.99)Amount:Numbers only
(999.99)
- - + + -- 2.17.1
IDInvoiceTypeIDInvoiceType Amount Recurring Recurrence