update import billing data
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 14 Feb 2019 21:00:39 +0000 (16:00 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 14 Feb 2019 21:00:39 +0000 (16:00 -0500)
Getting billing data pulling from uptra db

models/admin/management/billing.php
models/admin/management/importBillingData.php
views/admin/billing/invoices.html
views/admin/management/importAccounts.html
views/admin/management/importBillingData.html [new file with mode: 0644]
views/admin/management/subHeader.html

index 2d5407a..18d25f4 100644 (file)
@@ -115,7 +115,7 @@ class GlmMembersAdmin_management_billing extends GlmDataBillingManagement
         $regSettings         = false;
         $view                = 'billing';
         $importResults       = false;
-        $totalMembers        = false;
+        $totalImports        = false;
         $numberProcessed     = false;
 
         // General settings are always stored in a record with ID=1.
@@ -165,7 +165,7 @@ class GlmMembersAdmin_management_billing extends GlmDataBillingManagement
                 break;
 
             case 'importBillingData':
-                $view = 'importAccounts';
+                $view = 'importBillingData';
                 if ( isset( $_REQUEST['option2'] ) ) {
                     $option2 = $_REQUEST['option2'];
                 }
@@ -175,6 +175,7 @@ class GlmMembersAdmin_management_billing extends GlmDataBillingManagement
                 switch ( $option2 ) {
                 case 'import':
                     require_once GLM_MEMBERS_BILLING_PLUGIN_PATH.'/models/admin/management/importBillingData.php';
+                    // die('here');
                     break;
                 default:
                     break;
@@ -250,7 +251,7 @@ class GlmMembersAdmin_management_billing extends GlmDataBillingManagement
             'settingsUpdateError' => $settingsUpdateError,
             'option'              => $option,
             'importResults'       => $importResults,
-            'totalMembers'        => $totalMembers,
+            'totalImports'        => $totalImports,
             'numberProcessed'     => $numberProcessed,
             'start'               => ( isset( $start ) ? $start : false ),
         );
@@ -265,4 +266,3 @@ class GlmMembersAdmin_management_billing extends GlmDataBillingManagement
         );
     }
 }
-?>
index ad58300..726f767 100644 (file)
@@ -5,7 +5,6 @@
 // For billing support functions
 require_once GLM_MEMBERS_BILLING_PLUGIN_CLASS_PATH . '/billingSupport.php';
 $BillingSupport = new GlmBillingSupport( $this->wpdb, $this->config );
-
 // Connect to their live database.
 $dbh = new PDO(
     'pgsql: host=localhost dbname=uptravel user=postgres password=tweety',
@@ -29,9 +28,7 @@ if ( isset( $_REQUEST['start'] ) && $start = filter_var( $_REQUEST['start'], FIL
 $importResults = '';
 
 // Get records.
-$sql = "
-SELECT *
-  FROM members.billing
+$sqlWhere = "
  WHERE invoice_id IN (
        SELECT invoice_id
          FROM members.billing
@@ -39,16 +36,30 @@ SELECT *
           AND transaction_time >= '2017-01-01'
         ORDER BY transaction_date,transaction_time)
    AND billing_type IN (1,2,3)
- ORDER BY transaction_date,transaction_time";
-// LIMIT 20
-//OFFSET 0";
+";
+$mainSql = "
+SELECT *
+  FROM members.billing
+$sqlWhere
+ ORDER BY transaction_date,transaction_time
+ LIMIT 10
+OFFSET $start";
+
+$statsSql = "SELECT count(*)
+  FROM members.billing
+$sqlWhere";
+
+$stmt            = $dbh->query( $mainSql );
+$billingRecords  = $stmt->fetchAll();
+$statsStmt       = $dbh->query( $statsSql );
+$totalImports    = $statsStmt->fetchColumn();
+$numberProcessed = $start;
 
-//LIMIT 10
-//OFFSET $start";
-$stmt           = $dbh->query( $sql );
-$billingRecords = $stmt->fetchAll();
+$importResults .= '<pre>$totalImports: ' . print_r( $totalImports, true ) . '</pre>';
+// return;
+// exit;
 
-$importResults .= '<pre>$billingRecords: ' . print_r( $billingRecords, true ) . '</pre>';
+// $importResults .= '<pre>$billingRecords: ' . print_r( $billingRecords, true ) . '</pre>';
 
 if ( $start === 0 ) {
     // Clear the invoices,line_items and transactions
@@ -78,6 +89,7 @@ if ( $billingRecords ) {
                 $invoiceType = $BillingSupport->getInvoiceTypeById( $account['invoice_type'] );
                 // $importResults .= '<pre>$invoiceType: ' . print_r( $invoiceType, true ) . '</pre>';
                 if ( $invoiceType ) {
+                    $numberProcessed++;
                     // Check the type (1 = invoice, 2 = payment, 3 = Adjustment, 4 = Comment)
                     switch ( $billingRecord['billing_type']) {
                     case "1": // Invoices
index 6f97695..25aef87 100644 (file)
@@ -81,9 +81,9 @@
                                 </span>
                                 <span class="account-dashboard-link">
                                     {if isset( $settings.invoice_pdf_enabled ) && $settings.invoice_pdf_enabled}
-                                        <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=createPDFInvoice&id={$t.id}">Print</a> |
+                                        <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=createPDFInvoice&id={$t.id}" target="_blank">Print</a> |
                                     {else}
-                                        <a href="{$thisUrl}?page={$thisPage}&glm_action=invoices&option=view&id={$t.id}">View</a> |
+                                        <a href="{$thisUrl}?page={$thisPage}&glm_action=invoices&option=view&id={$t.id}" target="_blank">View</a> |
                                     {/if}
                                 </span>
                                 <span class="account-dashboard-link">
index d2c67b4..2f584b1 100644 (file)
 
         </table>
     </form>
-    <form action="{$thisUrl}?page={$thisPage}" method="post">
-
-        <input type="hidden" name="glm_action" value="billing" />
-        <input type="hidden" name="option" value="importBillingData" />
-        <input type="hidden" name="option2" value="import" />
-
-        <table class="glm-admin-table glm-settings-table">
-
-            <tr>
-                <td><input type="submit" value="Import Billing Data" /></td>
-            </tr>
-
-        </table>
-    </form>
 {/if}
 
 Number processed: {$numberProcessed}
diff --git a/views/admin/management/importBillingData.html b/views/admin/management/importBillingData.html
new file mode 100644 (file)
index 0000000..1b9b08f
--- /dev/null
@@ -0,0 +1,42 @@
+{include file='admin/management/header.html'}
+
+{include file='admin/management/subHeader.html'}
+
+{if $importResults}
+    {$importResults}
+{else}
+    <form action="{$thisUrl}?page={$thisPage}" method="post">
+
+        <input type="hidden" name="glm_action" value="billing" />
+        <input type="hidden" name="option" value="importBillingData" />
+        <input type="hidden" name="option2" value="import" />
+
+        <table class="glm-admin-table glm-settings-table">
+
+            <tr>
+                <td><input type="submit" value="Import Billing Data" /></td>
+            </tr>
+
+        </table>
+    </form>
+{/if}
+
+Number processed: {$numberProcessed}
+
+{if $numberProcessed > 0}
+    <a href="{$thisUrl}?page={$thisPage}&glm_action=billing&option=importBillingData&option2=import&start={$numberProcessed}">Next 10</a>
+{/if}
+
+{if $numberProcessed < $totalImports}
+
+    <script>
+    jQuery(document).ready(function($){
+
+        window.location.href = '{$thisUrl}?page={$thisPage}&glm_action=billing&option=importBillingData&option2=import&start={$numberProcessed}';
+
+    });
+
+    </script>
+{/if}
+
+{include file='admin/management/footer.html'}
index aa049cb..a986b39 100644 (file)
@@ -4,4 +4,6 @@
     class="glm-settings-tab nav-tab{if $option == ''} nav-tab-active{/if}">General Settings</a>
     <a href="{$thisUrl}?page=glm-members-admin-menu-management&glm_action=billing&option=importAccounts"
     class="glm-settings-tab nav-tab{if $option == 'importAccounts'} nav-tab-active{/if}">Import Accounts</a>
+    <a href="{$thisUrl}?page=glm-members-admin-menu-management&glm_action=billing&option=importBillingData"
+    class="glm-settings-tab nav-tab{if $option == 'importBillingData'} nav-tab-active{/if}">Import Billing Data</a>
 </h2>