From: Steve Sutton Date: Wed, 28 Mar 2018 19:33:58 +0000 (-0400) Subject: Update dashboard and account list with filters. X-Git-Tag: v1.0.0^2~101 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=bc82b27727238a9f812d974d5767fa737a0c2f6a;p=WP-Plugins%2Fglm-member-db-billing.git Update dashboard and account list with filters. Adding filters for account list. Adding Active filter. --- diff --git a/classes/billingSupport.php b/classes/billingSupport.php index a9c543f..dcb9f18 100644 --- a/classes/billingSupport.php +++ b/classes/billingSupport.php @@ -930,7 +930,7 @@ class GlmBillingSupport ); } - public function processMemberRenewal( $account_id, $invoice_id, $amount ) + public function processMemberRenewal( $account_id, $invoice_id, $amount, $employees = array() ) { $errors = array(); // Get the selected credit card processor type @@ -1069,7 +1069,7 @@ class GlmBillingSupport // $errors[] = $ccResult['statusText']; // $errors[] = $ccResult['description']; - // TODO: Need to update the members account renewal_date + // Need to update the members account renewal_date $this->wpdb->update( GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX . 'accounts', array( 'renewal_date' => date( 'Y-m-d' ) ), @@ -1077,6 +1077,18 @@ class GlmBillingSupport array( '%s' ), array( '%d' ) ); + // TODO: Need to update any employees renewal dates + if ( isset( $employees ) && is_array( $employees ) && !empty( $employees ) ) { + foreach ( $employees as $employee ) { + $this->wpdb->update( + GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX . 'accounts', + array( 'renewal_date' => date( 'Y-m-d' ) ), + array( 'id' => $employee ), + array( '%s' ), + array( '%d' ) + ); + } + } } diff --git a/models/admin/ajax/accountsListExport.php b/models/admin/ajax/accountsListExport.php index ac647fe..4dd2793 100644 --- a/models/admin/ajax/accountsListExport.php +++ b/models/admin/ajax/accountsListExport.php @@ -159,6 +159,11 @@ class GlmMembersAdmin_ajax_accountsListExport extends GlmDataAccounts $days_after_expired = $this->config['settings']['days_after_expired']; $curDate = date( 'Y-m-d' ); + if ( isset( $_REQUEST['filterActive'] ) ) { + $filterActive = filter_var( $_REQUEST['filterActive'], FILTER_VALIDATE_BOOLEAN ); + $where_params[] = "T.renewal_date + INTERVAL 1 YEAR - INTERVAL $days_before_renewal DAY > '$curDate'"; + $filterActive = true; + } if ( isset( $_REQUEST['filterPending'] ) ) { $filterPending = filter_var( $_REQUEST['filterPending'], FILTER_VALIDATE_BOOLEAN ); // $where_params[] = "renewal_date >= now()"; @@ -169,14 +174,12 @@ class GlmMembersAdmin_ajax_accountsListExport extends GlmDataAccounts } if ( isset( $_REQUEST['filterOverdue'] ) ) { $filterOverdue = filter_var( $_REQUEST['filterOverdue'], FILTER_VALIDATE_BOOLEAN ); - $expiredDate = date( 'Y-m-d', mktime( 0, 0, 0, date( 'n' ), date( 'j' ) - 30, date( 'Y' )) ); - $where_params[] = "renewal_date < now()"; - $where_params[] = "renewal_date >= '$expiredDate'"; + $where_params[] = "T.renewal_date + INTERVAL 1 YEAR < '$curDate'"; + $where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY >= '$curDate'"; } if ( isset( $_REQUEST['filterExpired'] ) ) { $filterExpired = filter_var( $_REQUEST['filterExpired'], FILTER_VALIDATE_BOOLEAN ); - $expiredDate = date( 'Y-m-d', mktime( 0, 0, 0, date( 'n' ), date( 'j' ) - 30, date( 'Y' )) ); - $where_params[] = "renewal_date < '$expiredDate'"; + $where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY < '$curDate'"; } // Build the $where string from the $where_parts array. diff --git a/models/admin/billing/accounts.php b/models/admin/billing/accounts.php index 93bb372..a3a3451 100644 --- a/models/admin/billing/accounts.php +++ b/models/admin/billing/accounts.php @@ -126,6 +126,7 @@ class GlmMembersAdmin_billing_accounts extends GlmDataAccounts $filterPending = false; $filterOverdue = false; $filterExpired = false; + $filterActive = false; $searchName = false; // Get any provided option @@ -383,6 +384,10 @@ class GlmMembersAdmin_billing_accounts extends GlmDataAccounts $days_after_expired = $this->config['settings']['days_after_expired']; $curDate = date( 'Y-m-d' ); + if ( isset( $_REQUEST['filterActive'] ) ) { + $filterActive = filter_var( $_REQUEST['filterActive'], FILTER_VALIDATE_BOOLEAN ); + $where_params[] = "T.renewal_date + INTERVAL 1 YEAR - INTERVAL $days_before_renewal DAY > '$curDate'"; + } if ( isset( $_REQUEST['filterPending'] ) ) { $filterPending = filter_var( $_REQUEST['filterPending'], FILTER_VALIDATE_BOOLEAN ); // $where_params[] = "T.renewal_date >= now()"; @@ -391,17 +396,11 @@ class GlmMembersAdmin_billing_accounts extends GlmDataAccounts } if ( isset( $_REQUEST['filterOverdue'] ) ) { $filterOverdue = filter_var( $_REQUEST['filterOverdue'], FILTER_VALIDATE_BOOLEAN ); - // $expiredDate = date( 'Y-m-d', mktime( 0, 0, 0, date( 'n' ), date( 'j' ) - 30, date( 'Y' )) ); - // $where_params[] = "T.renewal_date < '$curDate'"; - // $where_params[] = "T.renewal_date >= '$expiredDate'"; $where_params[] = "T.renewal_date + INTERVAL 1 YEAR < '$curDate'"; - // $where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY < '$curDate'"; $where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY >= '$curDate'"; } if ( isset( $_REQUEST['filterExpired'] ) ) { $filterExpired = filter_var( $_REQUEST['filterExpired'], FILTER_VALIDATE_BOOLEAN ); - // $expiredDate = date( 'Y-m-d', mktime( 0, 0, 0, date( 'n' ), date( 'j' ) - 30, date( 'Y' )) ); - // $where_params[] = "T.renewal_date < '$expiredDate'"; $where_params[] = "T.renewal_date + INTERVAL 1 YEAR + INTERVAL $days_after_expired DAY < '$curDate'"; } @@ -480,6 +479,7 @@ class GlmMembersAdmin_billing_accounts extends GlmDataAccounts 'filterOverdue' => $filterOverdue, 'searchName' => $searchName, 'filterExpired' => $filterExpired, + 'filterActive' => $filterActive, ); // Return status, any suggested view, and any data to controller diff --git a/models/admin/member/billing.php b/models/admin/member/billing.php index 20a4768..020880d 100644 --- a/models/admin/member/billing.php +++ b/models/admin/member/billing.php @@ -278,7 +278,7 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling $account = $Accounts->editEntry( $accountID ); } else { // Do the Payment Processing. - $errors = $BillingSupport->processMemberRenewal( $invoice_data['account_id'], $invoice_id, $invoice_data['amount'] ); + $errors = $BillingSupport->processMemberRenewal( $invoice_data['account_id'], $invoice_id, $invoice_data['amount'], $invoice_data['employees'] ); // echo '
$errors: ' . print_r( $errors, true ) . '
'; } diff --git a/views/admin/billing/accountSearchForm.html b/views/admin/billing/accountSearchForm.html index e6ad23f..870654e 100644 --- a/views/admin/billing/accountSearchForm.html +++ b/views/admin/billing/accountSearchForm.html @@ -19,6 +19,7 @@
+ Show Active Only Show Pending Only Show Overdue Only Show Expired Only diff --git a/views/admin/billing/exportBillingModal.html b/views/admin/billing/exportBillingModal.html index a938e6a..1672e56 100644 --- a/views/admin/billing/exportBillingModal.html +++ b/views/admin/billing/exportBillingModal.html @@ -3,10 +3,11 @@ - - - - + + + + +
Show Overdue Only:
Show Archived Only:
Show Expired Only:
Show Pending Only:
Show Active Only:
Show Pending Only:
Show Overdue Only:
Show Archived Only:
Show Expired Only:
Date Range Search: diff --git a/views/admin/billing/memberBillingSubHeader.html b/views/admin/billing/memberBillingSubHeader.html index 8f135c3..431590f 100644 --- a/views/admin/billing/memberBillingSubHeader.html +++ b/views/admin/billing/memberBillingSubHeader.html @@ -20,7 +20,7 @@ href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$memberID}" class="">All Statements - {if $account_status == 'Pending'} + {if $account_status == 'Pending' || $account_status == 'Expired'}