From: Steve Sutton Date: Tue, 15 Jan 2019 19:43:53 +0000 (-0500) Subject: Updates on billing member invoice X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=5329042cc2335af6768ab0d5d7cc0e98563de41e;p=WP-Plugins%2Fglm-member-db-billing.git Updates on billing member invoice Members Invoice creation Errors and success message. --- diff --git a/classes/billingSupport.php b/classes/billingSupport.php index 1a23d08..b3a39b5 100644 --- a/classes/billingSupport.php +++ b/classes/billingSupport.php @@ -1933,10 +1933,9 @@ class GlmBillingSupport return $invoiceData['amount']; } // Get the number of days difference - $dateDiff = date_diff( $transactionDate, $invDate ); - $days = round( $dateDiff->days ); + $dateDiff = date_diff( $transactionDate, $invDate ); + $days = round( $dateDiff->days ); $dailyPrice = (float)( $invoiceData['amount'] / 365 ); return (float)round( ( $days * $dailyPrice ), 2 ); } } - diff --git a/models/admin/member/billing.php b/models/admin/member/billing.php index f71ebb2..b22a814 100644 --- a/models/admin/member/billing.php +++ b/models/admin/member/billing.php @@ -120,6 +120,8 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling $invoices = false; $paymentSuccess = false; $paymentError = false; + $invoiceSuccess = false; + $invoiceError = false; $hasBillingAccount = false; $employees = false; $member_invoice = false; @@ -201,17 +203,6 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling switch ( $option ) { case 'createInvoice': - - // $dateOne = '10/01/2019'; - // $dateTwo = '10/01/2019'; - // echo '
$dateTwo: ' . print_r( $dateTwo, true ) . '
'; - // $nextDate = $BillingSupport->getNextInvoiceDate(); - // $nextD = date( 'm/d/Y', $nextDate ); - // echo '
$nextD: ' . print_r( $nextD, true ) . '
'; - - // $dateInt = date_diff( new DateTime( $nextD ), new DateTime( $dateTwo ) ); - // echo '
$dateInt: ' . print_r( $dateInt, true ) . '
'; - $view = 'createInvoice'; $nextInvoiceDate = $BillingSupport->getNextInvoiceDate(); if ( $nextInvoiceDate ) { @@ -248,10 +239,14 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling $dynamicAmount = filter_var( $_REQUEST['dynamic_amount'], FILTER_VALIDATE_FLOAT ); $invoiceDate = filter_var( $_REQUEST['invoice_date'], FILTER_SANITIZE_STRING ); + // Get tho account data $Accounts = new GlmDataAccounts( $this->wpdb, $this->config ); - $account = $Accounts->editEntry( $accountID ); + $account = $Accounts->editEntry( $accountID ); if ( $account && $account['fieldData']['invoice_type'] ) { $invoiceTypeId = $account['fieldData']['invoice_type']; + } else { + $invoiceError = true; + $messages[] = 'No account Payment Type set!'; } // Create an invoice w/line item for this accounts payment type @@ -288,19 +283,63 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling ) ); $invoiceId = $this->wpdb->insert_id; - $BillingSupport->createLineItemForInvoice( - array( - 'invoice_id' => $invoiceId, - 'line_item_type' => $invoiceData['id'], - 'account' => $accountId, - 'name' => $invoiceData['name'], - 'amount' => $amount, - 'due_date' => date( 'Y-m-d', strtotime( $invoiceDate ) ), - 'recurring' => $invoiceData['recurring'], - 'recurrence' => $invoiceData['recurrence'], - ) - ); - $BillingSupport->recordInvoice( $invoiceId, $accountId, $amount ); + if ( $invoiceId && $accountId && $amount && $invoiceData && $invoiceDate ) { + $BillingSupport->createLineItemForInvoice( + array( + 'invoice_id' => $invoiceId, + 'line_item_type' => $invoiceData['id'], + 'account' => $accountId, + 'name' => $invoiceData['name'], + 'amount' => $amount, + 'due_date' => date( 'Y-m-d', strtotime( $invoiceDate ) ), + 'recurring' => $invoiceData['recurring'], + 'recurrence' => $invoiceData['recurrence'], + ) + ); + $BillingSupport->recordInvoice( $invoiceId, $accountId, $amount ); + $invoiceSuccess = true; + } + } else { + $invoiceError = true; + $messages[] = 'Missing Invoice Data'; + if ( !$invoiceTypeId ) { + $messages[] = 'Missing: Payment Type'; + } + if ( !$memberId ) { + $messages[] = 'Missing: Member Id'; + } + if ( !$accountId ) { + $messages[] = 'Missing: Account Id'; + } + } + + if ( $invoiceError ) { + $view = 'createInvoice'; + $nextInvoiceDate = $BillingSupport->getNextInvoiceDate(); + if ( $nextInvoiceDate ) { + $nextInvoiceDate = date( 'm/d/Y', $nextInvoiceDate ); + } + + // Get list of payable invoice_types + $payable_types = $BillingSupport->getAllPayableInvoiceTypes(); + + // Load DataClass for Management. + require_once GLM_MEMBERS_BILLING_PLUGIN_CLASS_PATH . '/data/dataManagement.php'; + $Management = new GlmDataBillingManagement( $this->wpdb, $this->config ); + $management = $Management->getEntry( 1 ); + + // Need to see if there's an account for this member. + require_once GLM_MEMBERS_BILLING_PLUGIN_CLASS_PATH . '/data/dataAccounts.php'; + $account = $Accounts->editEntry( $accountID ); + if ( $account && $account['fieldData'] ) { + $invoiceTypeId = $account['fieldData']['invoice_type']; + + if ( $invoiceTypeId ) { + $member_invoice = $BillingSupport->getInvoiceTypeById( $invoiceTypeId ); + } + } + + $invoiceTypes = $BillingSupport->getAllPayableInvoiceTypes(); } break; @@ -867,6 +906,8 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling 'invoices' => $invoices, 'paymentSuccess' => $paymentSuccess, 'paymentError' => $paymentError, + 'invoiceSuccess' => $invoiceSuccess, + 'invoiceError' => $invoiceError, 'hasBillingAccount' => $hasBillingAccount, 'employees' => $employees, 'member_invoice' => $member_invoice, diff --git a/views/admin/billing/createInvoice.html b/views/admin/billing/createInvoice.html index 218b4e2..9ca5864 100644 --- a/views/admin/billing/createInvoice.html +++ b/views/admin/billing/createInvoice.html @@ -4,8 +4,8 @@

Membership Renewal

- {if $paymentSuccess}Payment Completed{/if} - {if $paymentError}Error With Payment{/if} + {if $invoiceSuccess}Invoice Created{/if} + {if $paymentError}Error With Invoice{/if} {if $messages} {foreach $messages as $message} @@ -13,65 +13,72 @@ {/foreach} {/if} -
- - - - - + {if $invoiceSuccess} +

+ Invoice is Created. View Invoice +

- {if $member_invoice} -
-
- Payment Type -
-
- {$member_invoice.name} ${$member_invoice.amount} -
-
-
-
- Invoice Date -
-
- + {else} + + + + + + + + {if $member_invoice} +
+
+ Payment Type +
+
+ {$member_invoice.name} ${$member_invoice.amount} +
-
-
-
- Dynamic Amount (dollar amount without $) +
+
+ Invoice Date +
+
+ +
-
- +
+
+ Dynamic Amount (dollar amount without $) +
+
+ +
-
{/if} + {/if}
diff --git a/views/admin/billing/editAccount.html b/views/admin/billing/editAccount.html index 93bb167..feb2aa3 100644 --- a/views/admin/billing/editAccount.html +++ b/views/admin/billing/editAccount.html @@ -37,7 +37,7 @@
Name
- {if $account.fieldFail.ref_name}

{$account.fieldFail.ref_name}

{/if}
+ {if $account.fieldFail.ref_name}

{$account.fieldFail.ref_name}

{/if}
@@ -45,7 +45,7 @@
Account Number
- {if $account.fieldFail.account_number}

{$account.fieldFail.account_number}

{/if}
+ {if $account.fieldFail.account_number}

{$account.fieldFail.account_number}

{/if}
@@ -60,10 +60,10 @@ - {if $account.fieldFail.invoice_type}

{$account.fieldFail.invoice_type}

{/if}
+ {if $account.fieldFail.invoice_type}

{$account.fieldFail.invoice_type}

{/if}
@@ -87,7 +87,7 @@
Anniversary Date
- {if $account.fieldFail.anniversary_date}

{$account.fieldFail.anniversary_date}

{/if}
+ {if $account.fieldFail.anniversary_date}

{$account.fieldFail.anniversary_date}

{/if}
@@ -95,7 +95,7 @@
Renewal Date
- {if $account.fieldFail.renewal_date}

{$account.fieldFail.renewal_date}

{/if}
+ {if $account.fieldFail.renewal_date}

{$account.fieldFail.renewal_date}

{/if}
{/if} @@ -141,7 +141,7 @@
Billing Email
- {if $account.fieldFail.email}

{$account.fieldFail.email}

{/if}
+ {if $account.fieldFail.email}

{$account.fieldFail.email}

{/if}
@@ -149,7 +149,7 @@
Billing Company
- {if $account.fieldFail.billing_company}

{$account.fieldFail.billing_company}

{/if}
+ {if $account.fieldFail.billing_company}

{$account.fieldFail.billing_company}

{/if}
@@ -157,7 +157,7 @@
Billing Position
- {if $account.fieldFail.billing_position}

{$account.fieldFail.billing_position}

{/if}
+ {if $account.fieldFail.billing_position}

{$account.fieldFail.billing_position}

{/if}
@@ -167,7 +167,7 @@
Billing Contact Name
- {if $account.fieldFail.billing_contact_name}

{$account.fieldFail.billing_contact_name}

{/if}
+ {if $account.fieldFail.billing_contact_name}

{$account.fieldFail.billing_contact_name}

{/if}
{else} @@ -175,7 +175,7 @@
Billing First Name
- {if $account.fieldFail.billing_fname}

{$account.fieldFail.billing_fname}

{/if}
+ {if $account.fieldFail.billing_fname}

{$account.fieldFail.billing_fname}

{/if}
@@ -183,7 +183,7 @@
Billing Last Name
- {if $account.fieldFail.billing_lname}

{$account.fieldFail.billing_lname}

{/if}
+ {if $account.fieldFail.billing_lname}

{$account.fieldFail.billing_lname}

{/if}
{/if} @@ -192,7 +192,7 @@
Billing Address 1
- {if $account.fieldFail.billing_addr1}

{$account.fieldFail.billing_addr1}

{/if}
+ {if $account.fieldFail.billing_addr1}

{$account.fieldFail.billing_addr1}

{/if}
@@ -200,7 +200,7 @@
Billing Address2
- {if $account.fieldFail.billing_addr2}

{$account.fieldFail.billing_addr2}

{/if}
+ {if $account.fieldFail.billing_addr2}

{$account.fieldFail.billing_addr2}

{/if}
@@ -208,7 +208,7 @@
Billing City
- {if $account.fieldFail.billing_city}

{$account.fieldFail.billing_city}

{/if}
+ {if $account.fieldFail.billing_city}

{$account.fieldFail.billing_city}

{/if}
@@ -224,7 +224,7 @@ {/foreach} - {if $account.fieldFail.billing_county}

{$account.fieldFail.billing_county}

{/if}
+ {if $account.fieldFail.billing_county}

{$account.fieldFail.billing_county}

{/if}
{else} @@ -242,7 +242,7 @@ {/foreach} - {if $account.fieldFail.billing_state}

{$account.fieldFail.billing_state}

{/if}
+ {if $account.fieldFail.billing_state}

{$account.fieldFail.billing_state}

{/if}
@@ -250,7 +250,7 @@
Billing Zip
- {if $account.fieldFail.billing_zip}

{$account.fieldFail.billing_zip}

{/if}
+ {if $account.fieldFail.billing_zip}

{$account.fieldFail.billing_zip}

{/if}
@@ -266,7 +266,7 @@
Billing Phone
- {if $account.fieldFail.billing_phone}

{$account.fieldFail.billing_phone}

{/if}
+ {if $account.fieldFail.billing_phone}

{$account.fieldFail.billing_phone}

{/if}
@@ -274,7 +274,7 @@
Billing Fax
- {if $account.fieldFail.billing_fax}

{$account.fieldFail.billing_fax}

{/if}
+ {if $account.fieldFail.billing_fax}

{$account.fieldFail.billing_fax}

{/if}