Redo Billing Admin with Foindation 6
authorSteve Sutton <steve@gaslightmedia.com>
Tue, 2 Jul 2019 21:12:00 +0000 (17:12 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Tue, 2 Jul 2019 21:12:00 +0000 (17:12 -0400)
Converting the forms to use x-y grid.
Setting up tables with stack class.
Start the Billing Setting within a reveal.
Replacing the main navigation from our glm-associate nav to Foundation 6
menu.

32 files changed:
classes/data/dataAccounts.php
models/admin/ajax/ajaxBillingInfo.php
models/admin/ajax/ajaxBillingSettings.php [new file with mode: 0644]
models/admin/billing/index.php
models/admin/billing/invoices.php
models/admin/billing/invoicing.php
models/admin/billing/logs.php
models/admin/billing/payments.php
models/admin/billing/reports.php
models/admin/member/billing.php
models/admin/settings/billing.php
setup/validActions.php
views/admin/billing/accountSearchForm.html
views/admin/billing/accounts.html
views/admin/billing/editAccountAjax.html
views/admin/billing/editInvoice.html
views/admin/billing/editPayment.html
views/admin/billing/exportBillingModal.html
views/admin/billing/exportPaymentModal.html
views/admin/billing/exportReportModal.html
views/admin/billing/header.html
views/admin/billing/index.html
views/admin/billing/invoices.html
views/admin/billing/invoicing.html
views/admin/billing/invoicingSubHeader.html
views/admin/billing/makePaymentAdjustmentAjax.html [new file with mode: 0644]
views/admin/billing/makePaymentAjax.html [new file with mode: 0644]
views/admin/billing/payments.html
views/admin/billing/reports.html
views/admin/billing/reportsSubHeader.html
views/admin/billing/subHeader.html
views/admin/settings/billingAjax.html [new file with mode: 0644]

index 56d34e3..00e7292 100644 (file)
@@ -216,7 +216,7 @@ class GlmDataAccounts extends GlmDataAbstract
                 'field'    => 'invoice_type',
                 'type'     => 'integer',
                 'use'      => 'a',
-                'required' => false,
+                'required' => true,
             ),
 
             // Anniversary Date
index 5675a53..c03964b 100644 (file)
@@ -61,7 +61,7 @@ class GlmMembersAdmin_ajax_ajaxBillingInfo extends GlmMembersAdmin_member_billin
 
     public $ajaxSide = true;
 
-    public function __construct ($wpdb, $config)
+    public function __construct ( $wpdb, $config )
     {
 
         // Save WordPress Database object
diff --git a/models/admin/ajax/ajaxBillingSettings.php b/models/admin/ajax/ajaxBillingSettings.php
new file mode 100644 (file)
index 0000000..2f3b73a
--- /dev/null
@@ -0,0 +1,78 @@
+<?php
+
+/**
+ * Gaslight Media Members Database
+ * PDF Output by admin-ajax
+ *
+ * PHP version 5.5
+ *
+ * @category glmWordPressPlugin
+ * @package  glmMembersDatabase
+ * @author   Chuck Scott <cscott@gaslightmedia.com>
+ * @license  http://www.gaslightmedia.com Gaslightmedia
+ * @version  0.1
+ */
+
+require_once GLM_MEMBERS_BILLING_PLUGIN_PATH . '/models/admin/settings/billing.php';
+
+/**
+ * Steve Note
+ *
+ * You can get to this using the following URL.
+ *
+ *
+ {host}/wp-admin/admin-ajax.php?action=glm_members_admin_ajax&glm_action=runQueue
+ *
+ * You should be able to do this as POST or GET and should be able to add and read additional parameters.
+ * I added a "mystuff" parameter to the URL above and it does output from the code in the
+ * modelAction() function below.
+ *
+ * To add another model under models/admin/ajax all you need to do is create it and add it to the
+ * setup/validActions.php file.
+ *
+ */
+
+/**
+ * This class handles the work of creating new invoices based on.
+ * 1) Member Type of member matching a paid invoiceType
+ * 2) Member renewal date past
+ * 3) Member has Billing Account
+ * 4) Member has no active Invoice
+ * 5) Renewal date is within the next 30 Days
+ *
+ */
+class GlmMembersAdmin_ajax_ajaxBillingSettings extends GlmMembersAdmin_settings_billing
+{
+
+    /**
+     * WordPress Database Object
+     *
+     * @var $wpdb
+     * @access public
+     */
+    public $wpdb;
+    /**
+     * Plugin Configuration Data
+     *
+     * @var $config
+     * @access public
+     */
+    public $config;
+
+    public $ajaxSide = true;
+
+    public function __construct ( $wpdb, $config )
+    {
+
+        // Save WordPress Database object
+        $this->wpdb = $wpdb;
+
+        // Save plugin configuration object
+        $this->config = $config;
+
+        // Run constructor for members data class
+        parent::__construct( $this->wpdb, $this->config );
+    }
+
+
+}
index 547b317..87ae51e 100644 (file)
@@ -138,6 +138,10 @@ class GlmMembersAdmin_billing_index extends GlmDataAccounts
         $lockedWhereT   = 'true';
         $lockedWhere    = 'true';
 
+        // Enqueue GLMA Foundation
+        wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/css/foundation-6.min.css' );
+        wp_enqueue_script( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/js/foundation-6.min.js' );
+
         // Check if there's a logged in user who is locked to their own entity
         $lockedToMember = apply_filters('glm_members_locked_to_member_id', false);
         if ($lockedToMember) {
index 7ec9ff7..7762b00 100644 (file)
@@ -136,6 +136,10 @@ class GlmMembersAdmin_billing_invoices extends GlmDataInvoices
         $paymentTypes       = false;
         $invoiceSent        = false;
 
+        // Enqueue GLMA Foundation
+        wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/css/foundation-6.min.css' );
+        wp_enqueue_script( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/js/foundation-6.min.js' );
+
         // Get any provided option
         if (isset($_REQUEST['option'])) {
             $option = $_REQUEST['option'];
index c0a296c..d44c0be 100644 (file)
@@ -107,6 +107,10 @@ class GlmMembersAdmin_billing_invoicing //extends GlmDataAccounts
         $successMsg         = false;
         $notification_types = false;
 
+        // Enqueue GLMA Foundation
+        wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/css/foundation-6.min.css' );
+        wp_enqueue_script( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/js/foundation-6.min.js' );
+
         // Get any provided option
         if ( isset( $_REQUEST['option'] ) ) {
             $option = $_REQUEST['option'];
index 8263f93..e7a8805 100644 (file)
@@ -101,6 +101,10 @@ class GlmMembersAdmin_billing_logs extends GlmDataNotifications
         $emailSent      = false;
         $emailSentError = false;
 
+        // Enqueue GLMA Foundation
+        wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/css/foundation-6.min.css' );
+        wp_enqueue_script( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/js/foundation-6.min.js' );
+
         // Get any provided option
         if (isset($_REQUEST['option'])) {
             $option = $_REQUEST['option'];
index 9a6041b..1edf13d 100644 (file)
@@ -119,6 +119,10 @@ class GlmMembersAdmin_billing_payments extends GlmDataPayments
         $filterAccounts      = false;
         $searchName          = false;
 
+        // Enqueue GLMA Foundation
+        wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/css/foundation-6.min.css' );
+        wp_enqueue_script( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/js/foundation-6.min.js' );
+
         // Get any provided option
         if (isset($_REQUEST['option'])) {
             $option = $_REQUEST['option'];
@@ -209,8 +213,7 @@ class GlmMembersAdmin_billing_payments extends GlmDataPayments
         case 'delete':
             $payment_id = filter_var( $_REQUEST['payment_id'], FILTER_VALIDATE_INT );
             $BillingSupport = new GlmBillingSupport( $this->wpdb, $this->config );
-            // Need to remove any line items for the payments alse
-            // echo '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
+            // Need to remove any line items for the payments also
             $payments = $BillingSupport->removePaymentById( $payment_id );
 
             if ($payments) {
index 3487fb4..fb4bcca 100644 (file)
@@ -113,6 +113,10 @@ class GlmMembersAdmin_billing_reports extends GlmDataTransactions
         $totalInvoices = 0;
         $totalPayments = 0;
 
+        // Enqueue GLMA Foundation
+        wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/css/foundation-6.min.css' );
+        wp_enqueue_script( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/js/foundation-6.min.js' );
+
         // Get any provided option
         if ( isset( $_REQUEST['option'] ) ) {
             $option = $_REQUEST['option'];
index 6b1d3f7..da3772d 100644 (file)
@@ -72,7 +72,7 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling
      *
      * @return array Array containing status, suggested view, and any data
      */
-    public function __construct ($wpdb, $config)
+    public function __construct ( $wpdb, $config )
     {
 
         // Save WordPress Database object
@@ -800,13 +800,10 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling
 
         case 'createPayment':
 
-            // echo '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
-
             $view = 'paymentProcess';
 
             // if error
 
-            // $messages   = '<pre>'.print_r( $_REQUEST, true ).'</pre>';
             $account_id = filter_var( $_REQUEST['account_id'], FILTER_VALIDATE_INT );
             $invoices   = filter_var( $_REQUEST['invoices'], FILTER_VALIDATE_INT, array( 'flags' => FILTER_REQUIRE_ARRAY ) );
             $amount     = filter_var( $_REQUEST['amount'], FILTER_VALIDATE_FLOAT );
@@ -866,6 +863,11 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling
                 } else {
                     $paymentSuccess = true;
                 }
+                if ( $this->ajaxSide ) {
+                    header( 'Content-type:application/json;charset=utf-8', true );
+                    echo json_encode( $errors, true );
+                    exit;
+                }
                 break;
 
             case 'pay_by_check':
@@ -931,12 +933,18 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling
 
             // Set the file name for the view file.
             $view = 'makePayment';
+            if ( $this->ajaxSide ) {
+                $view = 'makePaymentAjax';
+            }
 
             break;
 
         case 'makepaymentadjustment':
 
             $view = 'makePaymentAdjustment';
+            if ( $this->ajaxSide ) {
+                $view = 'makePaymentAdjustmentAjax';
+            }
 
             // Get unpaid invoices
             $invoices = $BillingSupport->getUnPaidInvoicesByAccount( $accountID );
@@ -956,10 +964,20 @@ class GlmMembersAdmin_member_billing // extends GlmDataBilling
 
             if ( $account_id && $amount && $payment_method && !empty( $invoices ) ) {
                 // Create new payment.
-                $payment_id = $BillingSupport->createPayment( $account_id, $amount, $this->config['alt_payment_method'][$payment_method], $payment_data );
+                $payment_id = $BillingSupport->createPayment( $account_id, $amount, $payment_method, $payment_data );
 
-                // Record the payment.
-                $BillingSupport->recordPayment( $payment_id, $account_id, $amount, $invoices, $this->config['transaction_numb']['Adjustment'] );
+                if ( $payment_id ) {
+                    // Record the payment.
+                    $BillingSupport->recordPayment( $payment_id, $account_id, $amount, $invoices, $this->config['transaction_numb']['Payment'] );
+                }
+            } else {
+                $payment_id = false;
+            }
+            if ( $this->ajaxSide ) {
+                header( 'Content-type:application/json;charset=utf-8', true );
+                // echo json_encode( $_REQUEST, true );
+                echo json_encode( $payment_id, true );
+                exit;
             }
             break;
 
index 1c3d1b6..519c64b 100644 (file)
@@ -53,6 +53,7 @@ class GlmMembersAdmin_settings_billing extends GlmDataBillingSettings
      */
     public $settings = array();
 
+    public $ajaxSide = false;
     /**
      * Constructor
      *
@@ -78,7 +79,7 @@ class GlmMembersAdmin_settings_billing extends GlmDataBillingSettings
      *
      * @return array Array containing status, suggested view, and any data
      */
-    public function __construct ($wpdb, $config)
+    public function __construct ( $wpdb, $config )
     {
 
         // Save WordPress Database object
@@ -88,7 +89,7 @@ class GlmMembersAdmin_settings_billing extends GlmDataBillingSettings
         $this->config = $config;
 
         // Run constructor for members data class
-        parent::__construct(false, false);
+        parent::__construct( $this->wpdb, $this->config );
 
     }
 
@@ -202,6 +203,11 @@ class GlmMembersAdmin_settings_billing extends GlmDataBillingSettings
             $member_types_free_selected = array();
         }
 
+        $view = 'billing';
+        if ( $this->ajaxSide ) {
+            $view = 'billingAjax';
+        }
+
         // Compile template data
         $template_data = array(
             'action'              => $_REQUEST['glm_action'],
@@ -222,7 +228,7 @@ class GlmMembersAdmin_settings_billing extends GlmDataBillingSettings
             'status'           => true,
             'menuItemRedirect' => false,
             'modelRedirect'    => false,
-            'view'             => 'admin/settings/billing.html',
+            'view'             => 'admin/settings/' . $view . '.html',
             'data'             => $template_data
         );
 
index 4e9d895..bcb70b4 100644 (file)
@@ -77,6 +77,7 @@ $glmMembersBillingAddOnValidActions = array(
             'billingFlagExpiredUsers' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
             'billingFixActiveUsers'   => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
             'ajaxBillingInfo'         => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+            'ajaxBillingSettings'     => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
         ),
         'management' => array(
             'billing' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
index 2d8ba41..2023884 100644 (file)
@@ -83,33 +83,40 @@ jQuery(document).ready(function($) {
     <input type="hidden" name="nextStart" value="{$nextStart}">
     <input type="hidden" name="limit" value="{$limit}">
 
-    <div class="glm-admin-table-inner">
-        <div class="billing-search-form-container">
-            <label>From Date: </label>
-            <input type="text" name="fromDate" value="{$fromDate}" class="glm-form-text-input-short glm-date-input">
-            <label>To Date: </label>
-            <input type="text" name="toDate" value="{$toDate}" class="glm-form-text-input-short glm-date-input">
+    <fieldset class="fieldset">
+        <legend>Search Accounts</legend>
+        <div class="grid-container full">
+            <div class="grid-x grid-padding-x">
+                <div class="cell small-12 medium-3">
+                    <label>Member Account:</label>
+                    <input id="member-account" type="hidden" name="filterAccounts" value="{$filterAccounts}">
+                    <input id="account_name" type="text" name="searchName" value="{if $searchName}{$searchName}{/if}" />
+                </div>
+                <div class="cell small-12 medium-3">
+                    <label>From Date: </label>
+                    <input type="text" name="fromDate" value="{$fromDate}" class="glm-form-text-input-short glm-date-input">
+                </div>
+                <div class="cell small-12 medium-3">
+                    <label>To Date: </label>
+                    <input type="text" name="toDate" value="{$toDate}" class="glm-form-text-input-short glm-date-input">
+                </div>
+                <div class="cell small-12 medium-3">
+                    <label class="billing-search-form-checkbox">
+                        <input class="glm-filter" id="filterActive" name="filterActive" value="1" {if $filterActive}checked{/if} type="checkbox" /> Show Active
+                    </label>
+                    <label class="billing-search-form-checkbox">
+                        <input class="glm-filter" id="filterPending" name="filterPending" value="1" {if $filterPending}checked{/if} type="checkbox" /> Show Pending
+                    </label>
+                    <label class="billing-search-form-checkbox">
+                        <input class="glm-filter" id="filterOverdue" name="filterOverdue" value="1" {if $filterOverdue}checked{/if} type="checkbox" /> Show Overdue
+                    </label>
+                    <label class="billing-search-form-checkbox">
+                        <input class="glm-filter" id="filterExpired" name="filterExpired" value="1" {if $filterExpired}checked{/if} type="checkbox" /> Show Expired
+                    </label>
+                </div>
+            </div>
+            <div class="billing-search-form-submit">
+                <input class="button" type="submit" value="Submit">
+            </div>
         </div>
-        <div class="billing-search-form-container">
-                <b>Member Account:&nbsp;</b>
-                <input id="member-account" type="hidden" name="filterAccounts" value="{$filterAccounts}">
-                <input id="account_name" type="text" name="searchName" value="{if $searchName}{$searchName}{/if}" />
-        </div>
-        <div class="billing-search-form-container">
-            <label class="billing-search-form-checkbox">
-                <input class="glm-filter" id="filterActive" name="filterActive" value="1" {if $filterActive}checked{/if} type="checkbox" /> Show Active
-            </label>
-            <label class="billing-search-form-checkbox">
-                <input class="glm-filter" id="filterPending" name="filterPending" value="1" {if $filterPending}checked{/if} type="checkbox" /> Show Pending
-            </label>
-            <label class="billing-search-form-checkbox">
-                <input class="glm-filter" id="filterOverdue" name="filterOverdue" value="1" {if $filterOverdue}checked{/if} type="checkbox" /> Show Overdue
-            </label>
-            <label class="billing-search-form-checkbox">
-                <input class="glm-filter" id="filterExpired" name="filterExpired" value="1" {if $filterExpired}checked{/if} type="checkbox" /> Show Expired
-            </label>
-        </div>
-        <div class="billing-search-form-submit">
-            <input type="submit" value="Submit">
-        </div>
-    </div>
+    </fieldset>
index cf0ceac..bb14509 100644 (file)
@@ -1,22 +1,24 @@
 {include file='admin/billing/header.html'}
 
-<div id="exportAccountsButton" class="button button-secondary glm-admin-export-button">Accounts Export</div>
+<div class="callout large">
 
-<h2>Accounts</h2>
+    <div id="exportAccountsButton" class="button secondary">Accounts Export</div>
+
+    <h2 class="subheader">Accounts</h2>
 
     {include file='admin/billing/accountSearchForm.html'}
-        <br clear="all">
+    <br clear="all">
 
-        <p>Total found: {$totalAccounts}</p>
+    <p>Total found: <span class="label">{$totalAccounts}</span></p>
 
     {if $paging}
         <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
         <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
     {/if}
-        <br clear="all">
 
-<div class="glm-admin-table-inner">
-    <table class="wp-list-table widefat fixed posts glm-admin-table">
+    <br clear="all">
+
+    <table class="stack glm-admin-table-inner">
         <thead>
             <tr>
                 <th style="width:50px;">ID</th>
@@ -42,7 +44,7 @@
                         <td> {$t.anniversary_date.date} </td>
                         <td> {$t.renewal_date.date} </td>
                     </tr>
-                    <tr id="account-container-{$t.id}" class="glm-account-links glm-hidden{if $t@iteration is div by 2} alternate{/if}">
+                    <tr id="account-container-{$t.id}" class="hide-for-large glm-account-links {if $t@iteration is div by 2} alternate{/if}">
                         <td colspan="{if $settings.allow_employees}6{else}5{/if}">
                             <span class="account-dashboard-link">
                                 <a class="account-member-dashboard" data-member="{$t.ref_dest}" href="{$adminUrl}?page=glm-members-admin-menu-member&member={$t.ref_dest}">Member Dashboard</a> |
@@ -61,9 +63,7 @@
                         </td>
                     </tr>
                     {if $t.boss.value}
-                        <tr id="account-employees-{$t.id}"
-                            class="{if $t@iteration is div by 2} alternate{/if}"
-                            style="display: none; background-color: #fff;">
+                        <tr id="account-employees-{$t.id}" class="hide-for-large {if $t@iteration is div by 2} alternate{/if}" style="background-color: #fff;">
                             <td colspan="6">
                                 <div class="glm-row" style="margin-bottom: 0px !important; margin-top: .5rem;">
                                     {foreach $t.employees as $emp}
             {/if}
         </tbody>
     </table>
-</div>
 
 
-{if $paging}
-    <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-    <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-{/if}
-
-</form>
+    {if $paging}
+        <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+        <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+    {/if}
 
-{include file='admin/billing/exportBillingModal.html'}
+    </form>
 
-<script>
+    {include file='admin/billing/exportBillingModal.html'}
 
-    jQuery(document).ready(function($){
+    <script>
 
-        var accountHoverId  = false;
-        var accountEmployee = false;
+        jQuery(document).ready(function($){
 
-        $('.glm-account-row').mouseenter( function(){
-            if ( accountEmployee ) {
-                return;
-            }
-            // Hide all
-            $( '.glm-account-links' ).addClass( 'glm-hidden' );
+            var accountHoverId  = false;
+            var accountEmployee = false;
 
-            accountHoverId = $(this).data('id');
-            $( '#account-container-' + accountHoverId ).removeClass( 'glm-hidden' );
-        });
-        $('.glm-admin-table-inner').mouseleave( function() {
-            $( '#account-container-' + accountHoverId ).addClass( 'glm-hidden' );
-        });
+            $('.glm-account-row').mouseenter( function(){
+                if ( accountEmployee ) {
+                    return false;
+                }
+                // Hide all
+                $( '.glm-account-links' ).addClass( 'hide-for-large' );
 
-        $('.account-employees').on( 'click', function(e){
-            e.preventDefault();
-            accountLinksEmployeesSelected();
-            var account_id = $(this).data('id');
-            console.log('account_id: ', account_id);
-            $('#account-employees-' + account_id).show();
-        } );
-
-        $('.glm-employee-cancel').on('click', function(e){
-            e.preventDefault();
-            clearAccountLinks();
-            var account_id = $(this).data('id');
-            $('#account-employees-' + account_id).hide();
-        });
+                accountHoverId = $(this).data('id');
+                $( '#account-container-' + accountHoverId ).removeClass( 'hide-for-large' );
+            });
+            $('.glm-admin-table-inner').mouseleave( function() {
+                $( '#account-container-' + accountHoverId ).addClass( 'hide-for-large' );
+            });
 
-        function accountLinksEmployeesSelected() {
-            accountEmployee = true;
-            console.log( 'accountHoverId: ', accountHoverId );
-            $('#account-container-' + accountHoverId).addClass('glm-hidden');
-        }
-
-        function clearAccountLinks() {
-            accountLinksEmployeesSelected();
-            accountHoverId = false;
-            accountEmployee = false;
-        }
-
-        $('.account-billing').on('click', function(e){
-            e.preventDefault();
-            var member = $(this).data('member');
-            var $modal = $('#glmBillingInfo');
-
-            $.ajax({
-                url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=account&member=' + member,
-                cache: false,
-                beforeSend: startAjax,
-                complete: completeAjax,
-            })
-            .done(function(resp){
-                $modal.html(resp).foundation('open').trigger('resizeme.zp.reveal');
-                $(document).foundation();
+            $('.account-employees').on( 'click', function(e){
+                e.preventDefault();
+                accountLinksEmployeesSelected();
+                var account_id = $(this).data('id');
+                console.log('account_id: ', account_id);
+                $('#account-employees-' + account_id).show();
+            } );
+
+            $('.glm-employee-cancel').on('click', function(e){
+                e.preventDefault();
+                clearAccountLinks();
+                var account_id = $(this).data('id');
+                $('#account-employees-' + account_id).hide();
             });
-            return false;
-        });
 
-        $('.account-member-statements').on('click', function(e){
-            e.preventDefault();
-            var member    = $(this).data('member');
-            var $modalStm = $('#glmBillingStatements');
-
-            $.ajax({
-                url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=list&member=' + member,
-                cache: false,
-                beforeSend: startAjax,
-                complete: completeAjax,
-            })
-            .done(function(resp){
-                $modalStm.html(resp).foundation('open').trigger('resizeme.zp.reveal');
-                $('.makeAPayment').on('click', function(e){
-                    e.preventDefault();
-                    var member        = $(this).data('member');
-                    var $modalPayment = $('#glmBillingPayment');
-                    $.ajax({
-                        url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=makepaymentadjustment&member=' + member,
-                        cache: false,
-                        beforeSend: startAjax,
-                        complete: completeAjax,
-                    }).done(function(resp){
-                        $modalPayment.html(resp).foundation('open').trigger('resizeme.zp.reveal');
+            function accountLinksEmployeesSelected() {
+                accountEmployee = true;
+                console.log( 'accountHoverId: ', accountHoverId );
+                $('#account-container-' + accountHoverId).addClass('hide-for-large');
+            }
 
-                    });
+            function clearAccountLinks() {
+                accountLinksEmployeesSelected();
+                accountHoverId = false;
+                accountEmployee = false;
+            }
 
-                    return false;
+            $('.account-billing').on('click', function(e){
+                e.preventDefault();
+                var member = $(this).data('member');
+                var $modal = $('#glmBillingInfo');
+
+                $.ajax({
+                    url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=account&member=' + member,
+                    cache: false,
+                    beforeSend: startAjax,
+                    complete: completeAjax,
+                })
+                .done(function(resp){
+                    $modal.html(resp).foundation('open').trigger('resizeme.zp.reveal');
                 });
-                $('.view').on('click', function(e){
-                    e.preventDefault();
-                    var member      = $(this).data('member');
-                    var id          = $(this).data('id');
-                    var $modalVidew = $('#glmBillingView');
-                    $.ajax({
-                        url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=view&member=' + member + '&id=' + id,
-                        cache: false,
-                        beforeSend: startAjax,
-                        complete: completeAjax,
-                    }).done(function(resp){
-                        $modalVidew.html(resp).foundation('open').trigger('resizeme.zp.reveal');
+                return false;
+            });
 
+            $('.account-member-statements').on('click', function(e){
+                e.preventDefault();
+                var member    = $(this).data('member');
+                var $modalStm = $('#glmBillingStatements');
+
+                $.ajax({
+                    url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=list&member=' + member,
+                    cache: false,
+                    beforeSend: startAjax,
+                    complete: completeAjax,
+                })
+                .done(function(resp){
+                    $modalStm.html(resp).foundation('open').trigger('resizeme.zp.reveal');
+
+                    // Pay Invoice link
+                    $('.payInvoice').on('click', function(e){
+                        e.preventDefault();
+                        var member        = $(this).data('member');
+                        var $modalPayment = $('#glmBillingPayment');
+                        $.ajax({
+                            url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=makepayment&member=' + member,
+                            cache: false,
+                            beforeSend: startAjax,
+                            complete: completeAjax,
+                        }).done(function(resp){
+                            $modalPayment.html(resp).foundation('open').trigger('resizeme.zp.reveal');
+                        });
+                        return false;
                     });
 
-                    return false;
-                });
+                    // Make A Payment link
+                    $('.makeAPayment').on('click', function(e){
+                        e.preventDefault();
+                        var member        = $(this).data('member');
+                        var $modalPayment = $('#glmBillingPayment');
+                        $.ajax({
+                            url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=makepaymentadjustment&member=' + member,
+                            cache: false,
+                            beforeSend: startAjax,
+                            complete: completeAjax,
+                        }).done(function(resp){
+                            $modalPayment.html(resp).foundation('open').trigger('resizeme.zp.reveal');
+                        });
+
+                        return false;
+                    });
 
-            });
-            return false;
-        });
+                    // View Link
+                    $('.view').on('click', function(e){
+                        e.preventDefault();
+                        var member      = $(this).data('member');
+                        var id          = $(this).data('id');
+                        var $modalVidew = $('#glmBillingView');
+                        $.ajax({
+                            url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingInfo&option=view&member=' + member + '&id=' + id,
+                            cache: false,
+                            beforeSend: startAjax,
+                            complete: completeAjax,
+                        }).done(function(resp){
+                            $modalVidew.html(resp).foundation('open').trigger('resizeme.zp.reveal');
+
+                        });
+
+                        return false;
+                    });
 
-        $(document).foundation();
+                });
+                return false;
+            });
 
-        function startAjax(){
-            $('#glmLoading').show();
-        }
-        function completeAjax(){
-            $('#glmLoading').hide();
-        };
-    });
+            function startAjax(){
+                $('#glmLoading').show();
+            }
+            function completeAjax(){
+                $('#glmLoading').hide();
+            };
+        });
 
-</script>
+    </script>
+
+    {* Reveal for Billing Info *}
+    <div id="glmBillingInfo" class="medium reveal" data-reveal data-close-on-click="false">
+    </div>
+    {* Reveal for Billing Info Success *}
+    <div class="reveal" id="billingInfoSuccess" data-reveal>
+        <h2>Billing Info Updated!</h2>
+        <button class="close-button" data-close aria-label="Close" type="button">
+            <span aria-hidden="true">&times;</span>
+        </button>
+    </div>
+    {* Reveal for Billing Statements *}
+    <div id="glmBillingStatements" class="large reveal" data-reveal data-close-on-click="false">
+        <button class="close-button" data-close aria-label="Close" type="button">
+            <span aria-hidden="true">&times;</span>
+        </button>
+    </div>
+    {* Reveal for Billing Payments *}
+    <div id="glmBillingPayment" class="medium reveal" data-reveal data-close-on-click="false">
+    </div>
+    {* Reveal for Billing View Invoice *}
+    <div id="glmBillingView" class="large reveal" data-reveal data-close-on-click="false">
+    </div>
+    {* Ajax Loading Graphic *}
+    <div id="glmLoading" class="" style="display:none; position: absolute; left: 50%; top: 50vh;width: 100%; height: 100%;z-index: 9999;">
+        <img src="{$pluginAssetsUrl}loading25.gif">
+    </div>
 
-<div id="glmBillingInfo" class="medium reveal" data-reveal data-close-on-click="false">
-</div>
-<div class="reveal" id="billingInfoSuccess" data-reveal>
-    <h2>Billing Info Updated!</h2>
-    <button class="close-button" data-close aria-label="Close" type="button">
-        <span aria-hidden="true">&times;</span>
-    </button>
-</div>
-<div id="glmBillingStatements" class="large reveal" data-reveal data-close-on-click="false">
-    <button class="close-button" data-close aria-label="Close" type="button">
-        <span aria-hidden="true">&times;</span>
-    </button>
 </div>
-<div id="glmBillingPayment" class="medium reveal" data-reveal data-close-on-click="false">
-</div>
-<div id="glmBillingView" class="large reveal" data-reveal data-close-on-click="false">
-</div>
-<div id="glmLoading" class="" style="display:none; position: absolute; left: 50%; top: 50vh;width: 100%; height: 100%;z-index: 9999;">
-    <img src="{$pluginAssetsUrl}loading25.gif">
-</div>
-
 {include file='admin/footer.html'}
index f94fdb3..a74c7ab 100644 (file)
@@ -13,7 +13,6 @@
 <div class="glm-billing-form">
     <form id="billingInfoForm" action="{$ajaxUrl}?action=glm_members_admin_ajax" method="post" data-abide novalidate>
 
-
         <input type="hidden" name="glm_action" value="ajaxBillingInfo" />
 
         <input type="hidden" name="member" value="{$memberID}" />
         {/if}
         {if !$settings.account_number_enabled}<input type="hidden" name="account_number" value="{$account.fieldData.account_number}" />{/if}
 
-        <div data-abide-error class="alert callout" style="display: none;">
-            <p><i class="fi-alert"></i> There are some errors in your form.</p>
-        </div>
+        {include file='ui/f6/errorCallout.html'}
 
         <fieldset class="fieldset">
             <legend>Account Information</legend>
 
             {* Name *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'ref_name',
-                'label' => 'Name'
+            {$ui = [
+                'value'       => $data.fieldData.ref_name,
+                'field'       => 'ref_name',
+                'label'       => 'Name',
+                'placeholder' => 'Name',
+                'required'    => $data.fieldRequired.ref_name,
+                'errorText'   => 'Name is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
 
             {if !$lockedToMember}
                 {if $settings.account_number_enabled}
 
                     {* Account Number *}
-                    {$fieldData = [
-                        'data'  => $data,
-                        'field' => 'account_number',
-                        'label' => 'Account Number'
+                    {$ui = [
+                        'value'       => $data.fieldData.account_number,
+                        'field'       => 'account_number',
+                        'label'       => 'Account Number',
+                        'placeholder' => 'Account Number',
+                        'required'    => $data.fieldRequired.account_number,
+                        'errorText'   => 'Account Number is Required'
                     ]}
-                    {include file='admin/ui/f6-text.html'}
+                    {include file='ui/f6/text.html'}
 
                 {/if}
 
                 {if !$settings.member_types_enabled}
 
                     {* Payment Type *}
-                    {$fieldData = [
-                        'data'  => $data,
-                        'field' => 'invoice_type',
-                        'label' => 'Payment Type'
+                    {$ui = [
+                        'value'     => $data.fieldData.invoice_type.value,
+                        'field'     => 'invoice_type',
+                        'label'     => 'Payment Type',
+                        'list'      => $data.fieldData.invoice_type.list,
+                        'l_label'   => 'name',
+                        'l_value'   => 'value',
+                        'l_blank'   => false,
+                        'required'  => $data.fieldRequired.invoice_type,
+                        'errorText' => 'Payment Type is Required'
                     ]}
-                    {include file='admin/ui/f6-select.html'}
+                    {include file='ui/f6/select.html'}
 
                 {/if}
 
                 {if $settings.invoice_methods_enabled}
 
                     {* Payment Type *}
-                    {$fieldData = [
-                        'data'   => $data,
-                        'field'  => 'invoice_type',
-                        'fields' => ['email_invoice' => 'By Email','usmail_invoice' => 'By US Email','fax_invoice' => 'By Fax'],
-                        'label'  => 'Invoice Delivery Methods'
+                    {$ui = [
+                        'value'     => [
+                            'email_invoice' => $data.fieldData.invoice_type.value,
+                            'usmail_invoice' => $data.fieldData.usmail_invoice.value,
+                            'fax_invoice' => $data.fieldData.fax_invoice.value
+                            ],
+                        'field'     => 'invoice_type',
+                        'list'      => ['email_invoice' => 'By Email','usmail_invoice' => 'By US Email','fax_invoice' => 'By Fax'],
+                        'label'     => 'Invoice Delivery Methods',
+                        'required'  => false,
+                        'errorText' => 'At least one Invoice Delivery Method is Required'
                     ]}
-                    {include file='admin/ui/f6-multicheckboxes.html'}
+                    {include file='ui/f6/multicheckboxes.html'}
 
                 {/if}
 
                 {* Anniversary Date *}
-                {$fieldData = [
-                    'data'  => $data,
-                    'field' => 'anniversary_date',
-                    'label' => 'Anniversary Date'
+                {$ui = [
+                    'value'       => $data.fieldData.anniversary_date.date,
+                    'field'       => 'anniversary_date',
+                    'label'       => 'Anniversary Date',
+                    'placeholder' => 'Anniversary Date',
+                    'required'    => $data.fieldRequired.anniversary_date,
+                    'errorText'   => 'Anniversary Date is Required'
                 ]}
-                {include file='admin/ui/f6-date.html'}
+                {include file='ui/f6/text.html'}
 
                 {* Renewal Date *}
-                {$fieldData = [
-                    'data'  => $data,
-                    'field' => 'renewal_date',
-                    'label' => 'Renewal Date'
+                {$ui = [
+                    'value'       => $data.fieldData.renewal_date,
+                    'field'       => 'renewal_date',
+                    'label'       => 'Renewal Date',
+                    'placeholder' => 'Renewal Date',
+                    'required'    => $data.fieldRequired.renewal_date,
+                    'errorText'   => 'Renewal Date is Required'
                 ]}
-                {include file='admin/ui/f6-date.html'}
+                {include file='ui/f6/text.html'}
 
             {/if}
 
 
             {* Billing Email *}
             {$ui = [
-                'value'       => $data.fieldData.$field,
+                'value'       => $data.fieldData.email,
                 'field'       => 'email',
                 'label'       => 'Billing Email',
-                'placeholder' => 'Email Address',
+                'placeholder' => 'Billing Email',
                 'required'    => $data.fieldRequired.email,
-                'errorText'   => 'Email Address is Required'
+                'errorText'   => 'Billing Email is Required'
             ]}
             {include file='ui/f6/text.html'}
 
             {* Billing Company *}
-            {$fieldData = [
-                'data'      => $data,
-                'field'     => 'billing_company',
-                'label'     => 'Billing Company',
-                'required'  => $data.fieldRequired.billing_company,
-                'errorText' => 'Billing Company is Required'
+            {$ui = [
+                'value'       => $data.fieldData.billing_company,
+                'field'       => 'billing_company',
+                'label'       => 'Billing Company',
+                'placeholder' => 'Billing Company',
+                'required'    => $data.fieldRequired.billing_company,
+                'errorText'   => 'Billing Company is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
             {* Billing Position *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_position',
-                'label' => 'Billing Position'
+            {$ui = [
+                'value'       => $data.fieldData.billing_position,
+                'field'       => 'billing_position',
+                'label'       => 'Billing Position',
+                'placeholder' => 'Billing Position',
+                'required'    => $data.fieldRequired.billing_position,
+                'errorText'   => 'Billing Position is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
             {if $settings.billing_contact_name_enabled}
 
                 {* Billing Contact Name *}
-                {$fieldData = [
-                    'data'  => $data,
-                    'field' => 'billing_contact_name',
-                    'label' => 'Billing Contact Name'
+                {$ui = [
+                    'value'       => $data.fieldData.billing_contact_name,
+                    'field'       => 'billing_contact_name',
+                    'label'       => 'Billing Contact Name',
+                    'placeholder' => 'Billing Contact Name',
+                    'required'    => $data.fieldRequired.billing_contact_name,
+                    'errorText'   => 'Billing Contact Name is Required'
                 ]}
-                {include file='admin/ui/f6-text.html'}
+                {include file='ui/f6/text.html'}
             {else}
                 {* Billing First Name *}
-                {$fieldData = [
-                    'data'  => $data,
-                    'field' => 'billing_fname',
-                    'label' => 'Billing First Name'
+                {$ui = [
+                    'value'       => $data.fieldData.billing_fname,
+                    'field'       => 'billing_fname',
+                    'label'       => 'Billing First Name',
+                    'placeholder' => 'Billing First Name',
+                    'required'    => $data.fieldRequired.billing_fname,
+                    'errorText'   => 'Billing First Name is Required'
                 ]}
-                {include file='admin/ui/f6-text.html'}
+                {include file='ui/f6/text.html'}
 
                 {* Billing Last Name *}
-                {$fieldData = [
-                    'data'  => $data,
-                    'field' => 'billing_lname',
-                    'label' => 'Billing Last Name'
+                {$ui = [
+                    'value'       => $data.fieldData.billing_lname,
+                    'field'       => 'billing_lname',
+                    'label'       => 'Billing Last Name',
+                    'placeholder' => 'Billing Last Name',
+                    'required'    => $data.fieldRequired.billing_lname,
+                    'errorText'   => 'Billing Last Name is Required'
                 ]}
-                {include file='admin/ui/f6-text.html'}
+                {include file='ui/f6/text.html'}
             {/if}
 
             {* Billing Address 1 *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_addr1',
-                'label' => 'Billing Address 1'
+            {$ui = [
+                'value'       => $data.fieldData.billing_addr1,
+                'field'       => 'billing_addr1',
+                'label'       => 'Billing Address 1',
+                'placeholder' => 'Billing Address 1',
+                'required'    => $data.fieldRequired.billing_addr1,
+                'errorText'   => 'Billing Address 1 is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
             {* Billing Address 2 *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_addr2',
-                'label' => 'Billing Address 2'
+            {$ui = [
+                'value'       => $data.fieldData.billing_addr2,
+                'field'       => 'billing_addr2',
+                'label'       => 'Billing Address 2',
+                'placeholder' => 'Billing Address 2',
+                'required'    => $data.fieldRequired.billing_addr2,
+                'errorText'   => 'Billing Address 2 is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
             {* Billing City *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_city',
-                'label' => 'Billing City'
+            {$ui = [
+                'value'       => $data.fieldData.billing_city,
+                'field'       => 'billing_city',
+                'label'       => 'Billing City',
+                'placeholder' => 'Billing City',
+                'required'    => $data.fieldRequired.billing_city,
+                'errorText'   => 'Billing City is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
             {if $settings.billing_county_enabled}
                 {* Billing County *}
-                {$fieldData = [
-                    'data'  => $data,
-                    'field' => 'billing_county',
-                    'label' => 'Billing County'
+                {$ui = [
+                    'value'     => $data.fieldData.billing_county.value,
+                    'field'     => 'billing_county',
+                    'label'     => 'Billing County',
+                    'list'      => $data.fieldData.billing_county.list,
+                    'l_label'   => 'name',
+                    'l_value'   => 'value',
+                    'l_blank'   => false,
+                    'required'  => $data.fieldRequired.billing_county,
+                    'errorText' => 'Billing County is Required'
                 ]}
-                {include file='admin/ui/f6-select.html'}
+                {include file='ui/f6/select.html'}
             {else}
                 <input type="hidden" name="billing_county" value="{$account.fieldData.billing_county.value}">
             {/if}
 
             {* Billing State *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_state',
-                'label' => 'Billing State'
+            {$ui = [
+                'value'     => $data.fieldData.billing_state.value,
+                'field'     => 'billing_state',
+                'label'     => 'Billing State',
+                'list'      => $data.fieldData.billing_state.list,
+                'l_label'   => 'name',
+                'l_value'   => 'value',
+                'l_blank'   => false,
+                'required'  => $data.fieldRequired.billing_state,
+                'errorText' => 'Billing State is Required'
             ]}
-            {include file='admin/ui/f6-select.html'}
+            {include file='ui/f6/select.html'}
 
             {* Billing Zip *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_zip',
-                'label' => 'Billing Zip'
+            {$ui = [
+                'value'       => $data.fieldData.billing_zip,
+                'field'       => 'billing_zip',
+                'label'       => 'Billing Zip',
+                'placeholder' => 'Billing Zip',
+                'required'    => $data.fieldRequired.billing_zip,
+                'errorText'   => 'Billing Zip is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
             {* Billing Country *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_country',
-                'label' => 'Billing Country'
+            {$ui = [
+                'value'       => $data.fieldData.billing_country,
+                'field'       => 'billing_country',
+                'label'       => 'Billing Country',
+                'placeholder' => 'Billing Country',
+                'required'    => $data.fieldRequired.billing_country,
+                'errorText'   => 'Billing Country is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
             {* Billing Phone *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_phone',
-                'label' => 'Billing Phone'
+            {$ui = [
+                'value'       => $data.fieldData.billing_phone,
+                'field'       => 'billing_phone',
+                'label'       => 'Billing Phone',
+                'placeholder' => 'Billing Phone',
+                'required'    => $data.fieldRequired.billing_phone,
+                'errorText'   => 'Billing Phone is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
             {* Billing Fax *}
-            {$fieldData = [
-                'data'  => $data,
-                'field' => 'billing_fax',
-                'label' => 'Billing Fax'
+            {$ui = [
+                'value'       => $data.fieldData.billing_fax,
+                'field'       => 'billing_fax',
+                'label'       => 'Billing Fax',
+                'placeholder' => 'Billing Fax',
+                'required'    => $data.fieldRequired.billing_fax,
+                'errorText'   => 'Billing Fax is Required'
             ]}
-            {include file='admin/ui/f6-text.html'}
+            {include file='ui/f6/text.html'}
 
         </fieldset>
 
-        <div data-abide-error class="alert callout" style="display: none;">
-            <p><i class="fi-alert"></i> There are some errors in your form.</p>
-        </div>
+        {include file='ui/f6/errorCallout.html'}
+
+        <input class="button button-primary" type="submit" style="margin-top: 0;" value="{if $haveAccount}Save{else}Create{/if} Account">
 
-        <input class="button button-primary" type="submit" value="{if $haveAccount}Save{else}Create{/if} Account">
+        <button class="button glm-right" data-close aria-label="Cancel" type="button">
+            <span>Cancel</span>
+        </button>
 
     </form>
 </div>
@@ -361,13 +430,14 @@ jQuery(document).ready(function($){
     $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
 
     //$('#billingInfoForm')
+    var abide = new Foundation.Abide($('#billingInfoForm'));
     $(document)
     .on('invalid.zf.abide', function(ev,elem){
         return false;
-        console.log('elem: ', elem);
+        // console.log('elem: ', elem);
         // $('#billingInfoForm').foundation('addErrorClasses', elem);
-        $('#billingInfoForm').foundation('requiredCheck', elem);
-        console.log( 'Field id '+ev.target.id+' is invalid' );
+        // $('#billingInfoForm').foundation('requiredCheck', elem);
+        // console.log( 'Field id '+ev.target.id+' is invalid' );
     })
     // .on('forminvalid.zf.abide', function(ev,frm){
     //     console.log( 'form id '+ev.target.id+' is invalid' );
@@ -405,5 +475,3 @@ jQuery(document).ready(function($){
     };
 });
 </script>
-
-{include file='admin/footer.html'}
index 8026962..f730df3 100644 (file)
 {include file='admin/billing/header.html'}
 
-{include file='admin/billing/subHeader.html'}
-
-{if $invoiceUpdated}<span class="glm-notice glm-flash-updated">Invoice Updated</span>{/if}
-{if $invoiceUpdateError}<span class="glm-notice glm-flash-updated">Invoice Update Error</span>{/if}
-{if $invoiceInsertError}<span class="glm-notice glm-flash-updated">Invoice Insert Error</span>{/if}
-{if $invoiceAdded}<span class="glm-notice glm-flash-updated">Invoice Added</span>{/if}
-
-<div id="billing-invoice-form" style="max-width: 750px;">
-    <form id="create-invoice-form" action="{$thisUrl}?page={$thisPage}&glm_action=invoices" method="post">
-        {if $invoice_id}
-            <input type="hidden" name="option" value="update">
-            <input type="hidden" name="id" value="{$invoice_id}">
-            <input type="hidden" name="account" value="{$invoices.fieldData.account.value}">
-            <input type="hidden" name="transaction_time" value="{$invoices.fieldData.transaction_time.mysql_datetime}">
-            <input type="hidden" name="balance" value="{$invoices.fieldData.balance}">
-            <input type="hidden" name="paid" value="{$invoices.fieldData.paid.value}">
-            <input type="hidden" name="recurring" value="{$invoices.fieldData.recurring.value}">
-            <input type="hidden" name="recurrence" value="{$invoices.fieldData.recurrence}">
-        {else}
-            <input type="hidden" name="option" value="insert">
-        {/if}
-        <div class="glm-row">
-            <div class="glm-columns glm-small-12 glm-large-12">
-
-                {if !$invoice_id}
-                <div class="glm-row">
-                    <div style="text-align: right;padding-right: 5px;" class="glm-columns glm-small-12 glm-large-3 glm-required">
-                        Billing Account
-                    </div>
-                    <div class="glm-columns glm-small-12 glm-large-8">
-                        <input id="glm_member_accounts_hidden" type="hidden" name="account" />
-                        <input id="glm_member_accounts" name="account_input" required />
-                        <a id="newAccountButton" href="#">New Account</a>
-                    </div>
-                </div>
-                {/if}
-                <div class="glm-row">
-                    <div style="text-align: right;padding-right: 5px;" class="glm-columns glm-small-12 glm-large-3 glm-required">
-                        Due Date
+<div class="callout large">
+
+    {if $invoiceUpdated}<span class="glm-notice glm-flash-updated">Invoice Updated</span>{/if}
+    {if $invoiceUpdateError}<span class="glm-notice glm-flash-updated">Invoice Update Error</span>{/if}
+    {if $invoiceInsertError}<span class="glm-notice glm-flash-updated">Invoice Insert Error</span>{/if}
+    {if $invoiceAdded}<span class="glm-notice glm-flash-updated">Invoice Added</span>{/if}
+
+    <div id="billing-invoice-form" style="max-width: 750px;">
+        <form id="create-invoice-form" action="{$thisUrl}?page={$thisPage}&glm_action=invoices" method="post">
+            {if $invoice_id}
+                <input type="hidden" name="option" value="update">
+                <input type="hidden" name="id" value="{$invoice_id}">
+                <input type="hidden" name="account" value="{$invoices.fieldData.account.value}">
+                <input type="hidden" name="transaction_time" value="{$invoices.fieldData.transaction_time.mysql_datetime}">
+                <input type="hidden" name="balance" value="{$invoices.fieldData.balance}">
+                <input type="hidden" name="paid" value="{$invoices.fieldData.paid.value}">
+                <input type="hidden" name="recurring" value="{$invoices.fieldData.recurring.value}">
+                <input type="hidden" name="recurrence" value="{$invoices.fieldData.recurrence}">
+            {else}
+                <input type="hidden" name="option" value="insert">
+            {/if}
+            <div class="grid-container">
+                <div class="grid-x grid-padding-x">
+                    <div class="cell small-12">
+                        {if !$invoice_id}
+                            <label for="glm_member_accounts" class="glm-required">
+                                Billing Account
+                            </label>
+                            <input id="glm_member_accounts_hidden" type="hidden" name="account" />
+                            <input id="glm_member_accounts" type="text" name="account_input" required />
+                            <a id="newAccountButton" href="#">New Account</a>
+                        {/if}
                     </div>
-                    <div class="glm-columns glm-small-12 glm-large-8">
+                    <div class="cell small-12">
+                        <label for="invoice_due_date" class="glm-required">
+                            Due Date
+                        </label>
                         <input class="datepicker" id="invoice_due_date" type="text" name="due_date" {if $invoice_id}value="{$invoices.fieldData.due_date.date}"{/if} required>
                     </div>
-                </div>
-                <div class="glm-row">
-                    <div style="text-align: right;padding-right: 5px;" class="glm-columns glm-small-12 glm-large-3">
-                        Notes
-                    </div>
-                    <div class="glm-columns glm-small-12 glm-large-8">
-                        <textarea name="notes">{if $invoices.fieldData.notes}{$invoices.fieldData.notes}{/if}</textarea>
+                    <div class="cell small-12">
+                        <label for="notes">
+                            Notes
+                        </label>
+                        <textarea id="notes" name="notes">{if $invoices.fieldData.notes}{$invoices.fieldData.notes}{/if}</textarea>
                     </div>
                 </div>
-
-            </div>
-        </div>
-        <div class="glm-row">
-            <div class="glm-columns glm-small-12 glm-large-2">
-                <a id="newLineItemButton" class="glm-billing-add-line-item">Add Line Item</a><br>
-                <a id="newCustomLineItemButton" class="glm-billing-add-line-item">Create New Line Item</a>
             </div>
-            <div class="glm-columns glm-small-12 glm-large-10" id="invoice-line-items">
-            </div>
-            <div class="glm-columns glm-small-12 glm-large-2">
-                &nbsp;
-            </div>
-            <div class="glm-columns glm-small-12 glm-large-10">
-                <div class="glm-row">
-                    <div class="glm-columns glm-small-8" style="text-align: right;">
-                        Total Amount: &nbsp;&nbsp;&nbsp;
-                        <input type="hidden" id="invoice-total-amount" value="" />
+            <div class="grid-container">
+                <div class="grid-x grid-padding-x">
+                    <div class="cell small-12 large-4">
+                        <a id="newLineItemButton" class="glm-billing-add-line-item">Add Line Item</a><br>
+                        <a id="newCustomLineItemButton" class="glm-billing-add-line-item">Create New Line Item</a>
+                    </div>
+                    <div id="invoice-line-items"> </div>
+                    <div class="cell small-12 large-8">
+                        <div class="glm-row">
+                            <div class="glm-columns glm-small-8" style="text-align: right;">
+                                Total Amount: &nbsp;&nbsp;&nbsp;
+                                <input type="hidden" id="invoice-total-amount" value="" />
+                            </div>
+                            <div class="glm-columns glm-small-4" id="invoice-total"> $0.00 </div>
+                        </div>
                     </div>
-                    <div class="glm-columns glm-small-4" id="invoice-total"> $0.00 </div>
                 </div>
             </div>
-        </div>
-        <div class="glm-row">
-            <div class="glm-columns glm-small-12 glm-large-8">
-                <input class="button button-primary" type="submit" value="{if $invoice_id}Save{else}Create{/if} Invoice">
+            <div class="glm-row">
+                <div class="glm-columns glm-small-12 glm-large-8">
+                    <input class="button button-primary" type="submit" value="{if $invoice_id}Save{else}Create{/if} Invoice">
+                </div>
             </div>
-        </div>
-    </form>
-</div>
-{* New Account Form - Dialog *}
-<div id="newAccountDialog" class="glm-dialog-box" title="New Account">
-    <p class="validateAccountTips" style="color:red">* required</p>
-    <form id="addAccountForm">
-        <input id="non-member-account" type="hidden" name="ref_dest" value="">
-        <input id="non-member-account" type="hidden" name="invoice_type" value="0">
-        <table>
-            <tr>
-                <th class="glm-required" align="right">Member Name</th>
-                <td>
-                    <input id="glm_member_name" type="text" name="ref_name" value="">
-                </td>
-            </tr>
-            <tr>
-                <th class="glm-required" align="right">Account Number</th>
-                <td>
-                    <input type="text" name="account_number" value="">
-                </td>
-            </tr>
-            <tr>
-                <th class="glm-required" align="right">Anniversary Date</th>
-                <td>
-                    <input class="datepicker" type="text" name="anniversary_date" value="">
-                </td>
-            </tr>
-            <tr>
-                <th align="right">Renewal Date</th>
-                <td>
-                    <input class="datepicker" type="text" name="renewal_date" value="">
-                </td>
-            </tr>
-            <tr>
-                <th class="glm-required" align="right">Billing Email</th>
-                <td>
-                    <input type="text" name="email" value="">
-                </td>
-            </tr>
-            {if $settings.billing_contact_name_enabled}
-                <tr>
-                    <th class="glm-required" align="right">Billing Contact Name</th>
-                    <td>
-                        <input type="text" name="billing_contact_name" value="">
-                    </td>
-                </tr>
-            {else}
-                <tr>
-                    <th class="glm-required" align="right">Billing First Name</th>
-                    <td>
-                        <input type="text" name="billing_fname" value="">
-                    </td>
-                </tr>
-                <tr>
-                    <th class="glm-required" align="right">Billing Last Name</th>
-                    <td>
-                        <input type="text" name="billing_lname" value="">
-                    </td>
-                </tr>
-            {/if}
-            <tr>
-                <th class="glm-required" align="right">Billing Address 1</th>
-                <td>
-                    <input type="text" name="billing_addr1" value="">
-                </td>
-            </tr>
-            <tr>
-                <th align="right">Billing Address 2</th>
-                <td>
-                    <input type="text" name="billing_addr2" value="">
-                </td>
-            </tr>
-            <tr>
-                <th class="glm-required" align="right">Billing City</th>
-                <td>
-                    <input type="text" name="billing_city" value="">
-                </td>
-            </tr>
-            {if $settings.billing_county_enabled}
-                <tr>
-                    <th class="glm-required" align="right">Billing County</th>
-                    <td>
-                        <select name="billing_county">
+        </form>
+    </div>
+    {* New Account Form - Dialog *}
+    <div id="newAccountDialog" class="glm-dialog-box" title="New Account">
+        <p class="validateAccountTips" style="color:red">* required</p>
+        <form id="addAccountForm">
+            <input id="non-member-account" type="hidden" name="ref_dest" value="">
+            <input id="non-member-account" type="hidden" name="invoice_type" value="0">
+            <div class="grid-container">
+                <div class="grid-x grid-padding-x">
+                    <div class="cell small-12">
+                        <label class="glm-required">Member Name</label>
+                        <input id="glm_member_name" type="text" name="ref_name" value="">
+                    </div>
+                    <div class="cell small-12">
+                        <label class="glm-required">Account Number</label>
+                        <input type="text" name="account_number" value="">
+                    </div>
+                    <div class="cell small-12">
+                        <label class="glm-required">Anniversary Date</label>
+                        <input class="datepicker" type="text" name="anniversary_date" value="">
+                    </div>
+                    <div class="cell small-12">
+                        <label>Renewal Date</label>
+                        <input class="datepicker" type="text" name="renewal_date" value="">
+                    </div>
+                    <div class="cell small-12">
+                        <label class="glm-required">Billing Email</label>
+                        <input type="text" name="email" value="">
+                    </div>
+                    {if $settings.billing_contact_name_enabled}
+                        <div class="cell small-12">
+                            <label class="glm-required">Billing Contact Name</label>
+                            <input type="text" name="billing_contact_name" value="">
+                        </div>
+                    {else}
+                        <div class="cell small-12">
+                            <label class="glm-required">Billing First Name</label>
+                            <input type="text" name="billing_fname" value="">
+                        </div>
+                        <div class="cell small-12">
+                            <label class="glm-required">Billing Last Name</label>
+                            <input type="text" name="billing_lname" value="">
+                        </div>
+                    {/if}
+
+                    <div class="cell small-12">
+                        <label class="glm-required">Billing Address 1</label>
+                        <input type="text" name="billing_addr1" value="">
+                    </div>
+                    <div class="cell small-12">
+                        <label>Billing Address 2</label>
+                        <input type="text" name="billing_addr2" value="">
+                    </div>
+                    <div class="cell small-12">
+                        <label class="glm-required">Billing City</label>
+                        <input type="text" name="billing_city" value="">
+                    </div>
+                    {if $settings.billing_county_enabled}
+                        <div class="cell small-12">
+                            <label class="glm-required">Billing County</label>
+                            <select name="billing_county">
+                                <option value=""></option>
+                                {foreach $billingAccount.fieldData.billing_county.list as $s}
+                                    <option value="{$s.value}">
+                                        {$s.name}
+                                    </option>
+                                {/foreach}
+                            </select>
+                        </div>
+                    {else}
+                        <input type="hidden" name="billing_county" value="{$account.fieldData.billing_county.value}">
+                    {/if}
+                    <div class="cell small-12">
+                        <label class="glm-required">Billing State</label>
+                        <select name="billing_state">
                             <option value=""></option>
-                            {foreach $billingAccount.fieldData.billing_county.list as $s}
+                            {foreach $billingAccount.fieldData.billing_state.list as $s}
                                 <option value="{$s.value}">
                                     {$s.name}
                                 </option>
                             {/foreach}
                         </select>
-                    </td>
-                </tr>
-            {else}
-                <input type="hidden" name="billing_county" value="{$account.fieldData.billing_county.value}">
-            {/if}
-            <tr>
-                <th class="glm-required" align="right">Billing State</th>
-                <td>
-                    <select name="billing_state">
-                        <option value=""></option>
-                        {foreach $billingAccount.fieldData.billing_state.list as $s}
-                            <option value="{$s.value}">
-                                {$s.name}
-                            </option>
-                        {/foreach}
-                    </select>
-                </td>
-            </tr>
-            <tr>
-                <th class="glm-required" align="right">Billing Zip</th>
-                <td>
-                    <input type="text" name="billing_zip" value="">
-                </td>
-            </tr>
-            <tr>
-                <th align="right">Billing Phone</th>
-                <td>
-                    <input type="text" name="billing_phone" value="">
-                </td>
-            </tr>
-        </table>
-    </form>
-</div>
-{* Enter a Line Item Form - jQueryUI dialog *}
-<div id="newLineItemDialog" class="glm-dialog-box" title="Enter a Line Item">
-    <p class="validateTips glm-required">* Required!</p>
-    <form id="addLineItemForm">
-        <input type="hidden" name="glm_action" value="invoices">
-        <input type="hidden" name="option" value="addLineItem">
-        <table>
+                    </div>
+                    <div class="cell small-12">
+                        <label class="glm-required">Billing Zip</label>
+                        <input type="text" name="billing_zip" value="">
+                    </div>
+                    <div class="cell small-12">
+                        <label>Billing Phone</label>
+                        <input type="text" name="billing_phone" value="">
+                    </div>
+
+                </div>
+            </div>
+        </form>
+    </div>
+    {* Enter a Line Item Form - jQueryUI dialog *}
+    <div id="newLineItemDialog" class="glm-dialog-box" title="Enter a Line Item">
+        <p class="validateTips glm-required">* Required!</p>
+        <form id="addLineItemForm">
+            <input type="hidden" name="glm_action" value="invoices">
+            <input type="hidden" name="option" value="addLineItem">
+            <div class="grid-container">
+                <div class="grid-x grid-padding-x">
+                    <div class="cell small-12 medium-5">
+                        <label for="" class="glm-required">Invoice Type </label>
+                        <select id="line_item_type" name="line_item_type">
+                            <option value="">Select Invoice Type</option>
+                            {$parent = 0}
+                            {foreach $invoiceTypes as $inv}
+                                {if $inv.parent.value == 0 && $parent != 0 && $inv.amount != '0.00'}
+                                    <optgroup label="---"> </optgroup>
+                                {/if}
+                                {$parent = $inv.parent.value}
+                                {if $inv.parent.value == 0 && $inv.amount != '0.00'}
+                                <option value="{$inv.id}" data-id="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
+                                {else if ($inv.parent.value == 0 && $inv.amount == '0.00' && $inv.dynamic_amount.value == 0)}
+                                    <optgroup label="{$inv.name}"></optgroup>
+                                {else if ($inv.parent.value == 0 && $inv.amount == '0.00')}
+                                    <option value="{$inv.id}" data-id="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
+                                {else if ($inv.parent.value != 0)}
+                                    <option value="{$inv.id}" data-id="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
+                                {/if}
+                            {/foreach}
+                        </select>
+                    </div>
+                    <div class="cell small-12 medium-3">
+                        <p id="line_item_price"></p>
+                    </div>
+                    <div class="cell small-12 medium-4">
+                        <label>Discount</label>
+                        <div class="input-group">
+                            <input class="input-group-field" id="discount-amount" type="text" min="0" max"100" name="discount_amount" value="0" />
+                            <span class="input-group-label">%</span>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    {* Add new Invoice Type (Custom Line Item) Form *}
+    <div id="newCustomLineItemDialog" class="glm-dialog-box" title="Enter Custom Line Item">
+        <p class="validateCustomTips glm-required">* Required!</p>
+        <table class="unstriped">
             <tr>
-                <th class="glm-required" align="right">Invoice Type </th>
+                <th class="glm-required" align="right">Parent</th>
                 <td>
-                    <select id="line_item_type" name="line_item_type">
-                        <option value="">Select Invoice Type</option>
-                        {$parent = 0}
+                    <select id="cf_parent_select" name="cf_parent" required>
+                        <option value="0">No Parent</option>
                         {foreach $invoiceTypes as $inv}
-                            {if $inv.parent.value == 0 && $parent != 0 && $inv.amount != '0.00'}
-                                <optgroup label="---"> </optgroup>
-                            {/if}
-                            {$parent = $inv.parent.value}
-                            {if $inv.parent.value == 0 && $inv.amount != '0.00'}
-                            <option value="{$inv.id}" data-id="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
-                            {else if ($inv.parent.value == 0 && $inv.amount == '0.00' && $inv.dynamic_amount.value == 0)}
-                                <optgroup label="{$inv.name}"></optgroup>
-                            {else if ($inv.parent.value == 0 && $inv.amount == '0.00')}
-                                <option value="{$inv.id}" data-id="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
-                            {else if ($inv.parent.value != 0)}
-                                <option value="{$inv.id}" data-id="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
+                            {if $inv.parent.value == 0}
+                                <option value="{$inv.id}">{$inv.name}</option>
                             {/if}
                         {/foreach}
                     </select>
                 </td>
-                <td>
-                    <p id="line_item_price"></p>
-                </td>
             </tr>
             <tr>
-                <th>Discount</th>
-                <td><input type="number" min="0" max"100" name="discount_amount" style="width: 50px;" value="0" />% </td>
+                <th class="glm-required" align="right">Line Item Name</th>
+                <td><input name="cf_name" /></td>
+            </tr>
+            <tr>
+                <th class="glm-required" align="right">Amount <br> Numbers only (999.99)</th>
+                <td><input name="cf_amount" /></td>
             </tr>
         </table>
-    </form>
-</div>
-{* Add new Invoice Type (Custom Line Item) Form *}
-<div id="newCustomLineItemDialog" class="glm-dialog-box" title="Enter Custom Line Item">
-    <p class="validateCustomTips glm-required">* Required!</p>
-    <table>
-        <tr>
-            <th class="glm-required" align="right">Parent</th>
-            <td>
-                <select id="cf_parent_select" name="cf_parent" required>
-                    <option value="0">No Parent</option>
-                    {foreach $invoiceTypes as $inv}
-                        {if $inv.parent.value == 0}
-                            <option value="{$inv.id}">{$inv.name}</option>
-                        {/if}
-                    {/foreach}
-                </select>
-            </td>
-        </tr>
-        <tr>
-            <th class="glm-required" align="right">Line Item Name</th>
-            <td><input name="cf_name" /></td>
-        </tr>
-        <tr>
-            <th class="glm-required" align="right">Amount <br> Numbers only (999.99)</th>
-            <td><input name="cf_amount" /></td>
-        </tr>
-    </table>
-</div>
+    </div>
 
+</div>
 <script>
 jQuery(document).ready(function($){
 
index 4e2a90a..abf589d 100644 (file)
 {include file='admin/billing/header.html'}
 
-{include file='admin/billing/paymentHeader.html'}
+<div class="callout large">
 
-{if $paymentUpdated}<span class="glm-notice glm-flash-updated">Payment Updated</span>{/if}
-{if $paymentUpdateError}<span class="glm-notice glm-flash-updated">Payment Update Error</span>{/if}
-{if $paymentInsertError}<span class="glm-notice glm-flash-updated">Payment Insert Error</span>{/if}
-{if $paymentAdded}<span class="glm-notice glm-flash-updated">Payment Added</span>{/if}
+    {if $paymentUpdated}<span class="glm-notice glm-flash-updated">Payment Updated</span>{/if}
+    {if $paymentUpdateError}<span class="glm-notice glm-flash-updated">Payment Update Error</span>{/if}
+    {if $paymentInsertError}<span class="glm-notice glm-flash-updated">Payment Insert Error</span>{/if}
+    {if $paymentAdded}<span class="glm-notice glm-flash-updated">Payment Added</span>{/if}
 
-<div id="billing-payment-form" class="glm-billing-form">
-    <form action="{$thisUrl}?page={$thisPage}&glm_action=payments" method="post">
-        <input type="hidden" id="total_payment_amount" name="amount" />
-        {if $payment_id}
-            <input type="hidden" name="option" value="update" />
-            <input type="hidden" name="id" value="{$payment_id}" />
-        {else}
-            <input type="hidden" name="option" value="insert" />
-        {/if}
-        <div class="glm-billing-field">
-            <div class="glm-billing-label glm-required">
-                Lookup Member Invoices By Account
+    <div id="billing-payment-form" class="glm-billing-form">
+        <form action="{$thisUrl}?page={$thisPage}&glm_action=payments" method="post">
+            <input type="hidden" id="total_payment_amount" name="amount" />
+            {if $payment_id}
+                <input type="hidden" name="option" value="update" />
+                <input type="hidden" name="id" value="{$payment_id}" />
+            {else}
+                <input type="hidden" name="option" value="insert" />
+            {/if}
+            <div class="glm-billing-field">
+                <div class="glm-billing-label glm-required">
+                    Lookup Member Invoices By Account
+                </div>
+                <div class="glm-billing-input">
+                    <input id="member-account" name="account" type="hidden" name="filterAccounts" />
+                    <input id="account_name" name="member_account" />
+                </div>
             </div>
-            <div class="glm-billing-input">
-                <input id="member-account" name="account" type="hidden" name="filterAccounts" />
-                <input id="account_name" name="member_account" />
+            <div class="glm-billing-field">
+                <div class="glm-billing-label glm-required">
+                    Select Invoices
+                </div>
+                <div class="glm-billing-input" id="glm-payment-invoices">
+                </div>
             </div>
-        </div>
-        <div class="glm-billing-field">
-            <div class="glm-billing-label glm-required">
-                Select Invoices
+            <div class="glm-billing-field">
+                <div class="glm-billing-label glm-required">
+                    Amount
+                </div>
+                <div class="glm-billing-input">
+                    <div id="total_amount">$0.00</div>
+                </div>
             </div>
-            <div class="glm-billing-input" id="glm-payment-invoices">
+            <div class="glm-billing-field">
+                <div class="glm-billing-label">
+                    Payment Method
+                </div>
+                <div class="glm-billing-input">
+                    <input name="payment_method" />
+                </div>
             </div>
-        </div>
-        <div class="glm-billing-field">
-            <div class="glm-billing-label glm-required">
-                Amount
+            <div class="glm-billing-field">
+                <div class="glm-billing-label">
+                    Payment Notes
+                </div>
+                <div class="glm-billing-input">
+                    <input name="payment_data" />
+                </div>
             </div>
-            <div class="glm-billing-input">
-                <div id="total_amount">$0.00</div>
-            </div>
-        </div>
-        <div class="glm-billing-field">
-            <div class="glm-billing-label">
-                Payment Method
-            </div>
-            <div class="glm-billing-input">
-                <input name="payment_method" />
-            </div>
-        </div>
-        <div class="glm-billing-field">
-            <div class="glm-billing-label">
-                Payment Notes
-            </div>
-            <div class="glm-billing-input">
-                <input name="payment_data" />
-            </div>
-        </div>
 
-        <input class="button button-primary" type="submit" value="{if $payment_id}Save{else}Create{/if} Payment">
-    </form>
-</div>
+            <input class="button button-primary" type="submit" value="{if $payment_id}Save{else}Create{/if} Payment">
+        </form>
+    </div>
 
-<script>
-jQuery(document).ready(function($){
+    <script>
+    jQuery(document).ready(function($){
 
-    var availableAccounts = [
-    {foreach $accounts as $m}
-        { label: "{$m.ref_name|unescape:'html'|replace:'"':''}", value: "{$m.ref_name|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
-    {/foreach}
-    ]
+        var availableAccounts = [
+        {foreach $accounts as $m}
+            { label: "{$m.ref_name|unescape:'html'|replace:'"':''}", value: "{$m.ref_name|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
+        {/foreach}
+        ]
 
-    function updateInvoiceList( invoices ) {
-        // Clear the invoices
-        $('#glm-payment-invoices').html('');
-        for ( var i = 0; i < invoices.length; i++ ) {
-            var invoice = invoices[i];
-            var rowHtml = '<label>' +
-            '<input type="checkbox" class="glm-invoice-item" name="invoices[' + invoices[i].id + ']" data-amount="' + invoices[i].balance + '" />';
-            rowHtml += '$' + invoices[i].balance;
-            for ( index = 0; index < invoice.line_items.length; ++index ) {
-                var line_item = invoice.line_items[index];
-                rowHtml += ' ' + line_item.name;
-                if ( line_item.recurring ) {
-                   rowHtml += ' ( ' + line_item.recurrence_string + ' )';
+        function updateInvoiceList( invoices ) {
+            // Clear the invoices
+            $('#glm-payment-invoices').html('');
+            for ( var i = 0; i < invoices.length; i++ ) {
+                var invoice = invoices[i];
+                var rowHtml = '<label>' +
+                '<input type="checkbox" class="glm-invoice-item" name="invoices[' + invoices[i].id + ']" data-amount="' + invoices[i].balance + '" />';
+                rowHtml += '$' + invoices[i].balance;
+                for ( index = 0; index < invoice.line_items.length; ++index ) {
+                    var line_item = invoice.line_items[index];
+                    rowHtml += ' ' + line_item.name;
+                    if ( line_item.recurring ) {
+                       rowHtml += ' ( ' + line_item.recurrence_string + ' )';
+                    }
                 }
+                rowHtml += '</label><br />';
+                $('#glm-payment-invoices').append( rowHtml );
             }
-            rowHtml += '</label><br />';
-            $('#glm-payment-invoices').append( rowHtml );
         }
-    }
 
-    function getPageTotal(){
-        // Caclulate the total for this page.
-        var page_total = parseFloat( '0.00' );
-        $('.glm-invoice-item').each(function(){
-            var isChecked = $(this).prop('checked');
-            if ( isChecked ) {
-                page_total = page_total + parseFloat( $(this).data('amount') );
-            }
-        });
-        $('#total_amount').html( '$' + page_total );
-        $('#total_payment_amount').val( page_total );
-    }
+        function getPageTotal(){
+            // Caclulate the total for this page.
+            var page_total = parseFloat( '0.00' );
+            $('.glm-invoice-item').each(function(){
+                var isChecked = $(this).prop('checked');
+                if ( isChecked ) {
+                    page_total = page_total + parseFloat( $(this).data('amount') );
+                }
+            });
+            $('#total_amount').html( '$' + page_total );
+            $('#total_payment_amount').val( page_total );
+        }
 
-    $('#glm-payment-invoices').on( 'click', '.glm-invoice-item', function(){
-        getPageTotal();
-    });
+        $('#glm-payment-invoices').on( 'click', '.glm-invoice-item', function(){
+            getPageTotal();
+        });
 
-    // Setup autocomplete
-    $('#account_name').autocomplete({
-        source: availableAccounts,
-        select: function( event, ui ){
-            $('#member-account').val( ui.item.id );
-            $.ajax({
-                url: '{$ajaxUrl}',
-                cache: false,
-                data: {
-                    action: 'glm_members_admin_ajax',
-                    glm_action: 'invoices',
-                    account: ui.item.id
-                },
-                success: function( results ) {
-                    updateInvoiceList( results );
-                    console.log( results );
-                },
-            });
-        },
-        change: function( event, ui) {
-            if( ui.item == null ) {
-                $('#member-account').val( '' );
-                $('#glm-payment-invoices').html('');
-                getPageTotal();
-            }
-        },
-    });
+        // Setup autocomplete
+        $('#account_name').autocomplete({
+            source: availableAccounts,
+            select: function( event, ui ){
+                $('#member-account').val( ui.item.id );
+                $.ajax({
+                    url: '{$ajaxUrl}',
+                    cache: false,
+                    data: {
+                        action: 'glm_members_admin_ajax',
+                        glm_action: 'invoices',
+                        account: ui.item.id
+                    },
+                    success: function( results ) {
+                        updateInvoiceList( results );
+                        console.log( results );
+                    },
+                });
+            },
+            change: function( event, ui) {
+                if( ui.item == null ) {
+                    $('#member-account').val( '' );
+                    $('#glm-payment-invoices').html('');
+                    getPageTotal();
+                }
+            },
+        });
 
-    // Flash certain elements for a short time after display
-    $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+        // Flash certain elements for a short time after display
+        $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
 
-});
-</script>
+    });
+    </script>
 
+</div>
 {include file='admin/footer.html'}
index 130a709..19f4d35 100644 (file)
@@ -2,7 +2,7 @@
     <form id="exportForm" action="{$ajaxUrl}" method="post" enctype="multipart/form-data">
         <input type="hidden" name="action" value="glm_members_admin_ajax">
         <input type="hidden" name="glm_action" value="accountsListExport">
-        <table class="glm-admin-table">
+        <table class="glm-admin-table unstriped">
             <tr><th>Show Active: </th><td><input type="checkbox" name="filterActive" {if $filterActive}checked{/if}></td></tr>
             <tr><th>Show Pending: </th><td><input type="checkbox" name="filterPending" {if $filterPending}checked{/if}></td></tr>
             <tr><th>Show Overdue: </th><td><input type="checkbox" name="filterOverdue" {if $filterOverdue}checked{/if}></td></tr>
index 0f131fb..5b9441d 100644 (file)
@@ -2,7 +2,7 @@
     <form id="exportForm" action="{$ajaxUrl}" method="post" enctype="multipart/form-data">
         <input type="hidden" name="action" value="glm_members_admin_ajax">
         <input type="hidden" name="glm_action" value="paymentsListExport">
-        <table class="glm-admin-table">
+        <table class="glm-admin-table unstriped">
             <tr>
                 <th>Date Range Search: </th>
                 <td>
index e4047c6..adb5499 100644 (file)
@@ -2,7 +2,7 @@
     <form id="exportForm" action="{$ajaxUrl}" method="post" enctype="multipart/form-data">
         <input type="hidden" name="action" value="glm_members_admin_ajax">
         <input type="hidden" name="glm_action" value="reportsListExport">
-        <table class="glm-admin-table">
+        <table class="glm-admin-table unsriped">
             <tr>
                 <th>Payment Types</th>
                 <td>
index 7dd924c..14fb7b6 100644 (file)
@@ -1,15 +1,65 @@
 <div class="wrap">
+
     <h2>Billing</h2>
-    <h2 class="nav-tab-wrapper">
-        <a href="{$thisUrl}?page=glm-members-admin-menu-billing" class="nav-tab{if $thisAction==index} nav-tab-active{/if}">Dashboard</a>
-        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices" class="nav-tab{if $thisAction==invoices} nav-tab-active{/if}">Invoices</a>
-        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=payments" class="nav-tab{if $thisAction==payments} nav-tab-active{/if}">Payments</a>
-        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=accounts" class="nav-tab{if $thisAction==accounts} nav-tab-active{/if}">Accounts</a>
+
+    {* <ul class="tabs" data-responsive-accordion-tabs="tabs" id="glm-main-tabs"> *}
+    <ul class="menu" id="glm-main-tabs">
+        <li class="tabs-title{if $thisAction==index} is-active{/if}">
+            <a href="{$thisUrl}?page=glm-members-admin-menu-billing">Dashboard</a>
+        </li>
+        <li class="tabs-title{if $thisAction==accounts} is-active{/if}">
+            <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=accounts">Accounts</a>
+        </li>
+        <li class="tabs-title{if $thisAction==invoices} is-active{/if}">
+            <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices">Invoices</a>
+        </li>
+        <li class="tabs-title{if $thisAction==payments} is-active{/if}">
+            <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=payments">Payments</a>
+        </li>
         {if isset( $settings.renewal_day_static ) && $settings.renewal_day_static}
-            <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing" class="nav-tab{if $thisAction==invoicing} nav-tab-active{/if}">Invoicing</a>
-            <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports" class="nav-tab{if $thisAction==reports} nav-tab-active{/if}">Reports</a>
+            <li class="tabs-title{if $thisAction==invoicing} is-active{/if}">
+                <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing">Invoicing</a>
+            </li>
+            <li class="tabs-title{if $thisAction==reports} is-active{/if}">
+                <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports">Reports</a>
+            </li>
         {/if}
-        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=logs" class="nav-tab{if $thisAction==logs} nav-tab-active{/if}">Logs</a>
-        <a href="{$thisUrl}?page=glm-members-admin-menu-settings&glm_action=billing" class="nav-tab{if $thisAction==logs} nav-tab-active{/if}">Settings</a>
-    </h2>
-    <div id="glm-admin-content-container">
+        <li class="tabs-title"><a class="glmSettings">Settings</a></li>
+    </ul>
+
+    <script>
+    jQuery(document).ready(function($){
+        $(document).foundation();
+        $('.glmSettings').on('click', function(e){
+            e.preventDefault();
+            var $modal = $('#glmSettings');
+
+            $.ajax({
+                url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=ajaxBillingSettings',
+                cache: false,
+                beforeSend: startAjax,
+                complete: completeAjax,
+            })
+            .done(function(resp){
+                $modal.html(resp).foundation('open').trigger('resizeme.zp.reveal');
+            });
+            return false;
+        });
+        function startAjax(){
+            $('#glmLoading').show();
+        }
+        function completeAjax(){
+            $('#glmLoading').hide();
+        };
+    });
+    </script>
+
+    {* Reveal for Settings *}
+    <div id="glmSettings" class="large reveal" data-reveal>
+    </div>
+    {* Ajax Loading Graphic *}
+    <div id="glmLoading" class="" style="display:none; position: absolute; left: 50%; top: 50vh;width: 100%; height: 100%;z-index: 9999;">
+        <img src="{$pluginAssetsUrl}loading25.gif">
+    </div>
+
+    <div class="">
index 561ec87..8854a1e 100644 (file)
@@ -5,22 +5,22 @@
     {include file='admin/billing/header.html'}
 {/if}
 
-<h2>Accounts</h2>
-<div id="exportAccountsButton" class="button button-secondary glm-admin-export-button">Accounts Export</div>
-
-<a class="button glm-right button-primary" href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices&option=add">Create Invoice</a>
-<a class="button glm-right button-primary" href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=payments&option=add">Make Payment</a>
-
-{include file='admin/billing/accountSearchForm.html'}
-</form>
-
-{foreach $dashboards as $dashboard_title => $list}
-    <br clear="all">
-    <table class="glm-admin-table">
-        <tr><th colspan="2">{$dashboard_title}</th></tr>
-    </table>
-    <div class="glm-admin-table-inner">
-        <table class="wp-list-table widefat fixed posts glm-admin-table">
+<div class="callout large">
+
+    <h2 class="subheader">Accounts</h2>
+    <div class="button-group">
+        <div id="exportAccountsButton" class="button secondary">Accounts Export</div>
+        <a class="button primary" href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices&option=add">Create Invoice</a>
+        <a class="button success" href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=payments&option=add">Make Payment</a>
+    </div>
+
+    {include file='admin/billing/accountSearchForm.html'}
+    </form>
+
+    {foreach $dashboards as $dashboard_title => $list}
+        <br clear="all">
+        <span class="label warning">{$dashboard_title}</span>
+        <table class="stack">
             <thead>
                 <tr>
                     <th>Member Name</th>
                 {/if}
             </tbody>
         </table>
-    </div>
-    <br clear="all">
-{/foreach}
-
-{include file='admin/billing/exportBillingModal.html'}
-
-<script>
-    jQuery(document).ready(function($){
-
-        var accountHoverId  = false;
-        var accountEmployee = false;
+        <br clear="all">
+    {/foreach}
+
+    {include file='admin/billing/exportBillingModal.html'}
+
+    <script>
+        jQuery(document).ready(function($){
+
+            var accountHoverId  = false;
+            var accountEmployee = false;
+
+            $('.glm-account-row').mouseenter( function(){
+                if ( accountEmployee ) {
+                    return;
+                }
+                // Hide all
+                $( '.glm-account-links' ).addClass( 'glm-hidden' );
+
+                accountHoverId = $(this).data('id');
+                $( '#account-container-' + accountHoverId ).removeClass( 'glm-hidden' );
+            });
+            $('.glm-admin-table-inner').mouseleave( function() {
+                $( '#account-container-' + accountHoverId ).addClass( 'glm-hidden' );
+            });
+
+            $('.account-employees').on( 'click', function(e){
+                e.preventDefault();
+                accountLinksEmployeesSelected();
+                var account_id = $(this).data('id');
+                console.log('account_id: ', account_id);
+                $('#account-employees-' + account_id).show();
+            } );
+
+            $('.glm-employee-cancel').on('click', function(e){
+                e.preventDefault();
+                clearAccountLinks();
+                var account_id = $(this).data('id');
+                $('#account-employees-' + account_id).hide();
+            });
+
+            function accountLinksEmployeesSelected() {
+                accountEmployee = true;
+                console.log( 'accountHoverId: ', accountHoverId );
+                $('#account-container-' + accountHoverId).addClass('glm-hidden');
+            }
 
-        $('.glm-account-row').mouseenter( function(){
-            if ( accountEmployee ) {
-                return;
+            function clearAccountLinks() {
+                accountLinksEmployeesSelected();
+                accountHoverId = false;
+                accountEmployee = false;
             }
-            // Hide all
-            $( '.glm-account-links' ).addClass( 'glm-hidden' );
 
-            accountHoverId = $(this).data('id');
-            $( '#account-container-' + accountHoverId ).removeClass( 'glm-hidden' );
-        });
-        $('.glm-admin-table-inner').mouseleave( function() {
-            $( '#account-container-' + accountHoverId ).addClass( 'glm-hidden' );
-        });
 
-        $('.account-employees').on( 'click', function(e){
-            e.preventDefault();
-            accountLinksEmployeesSelected();
-            var account_id = $(this).data('id');
-            console.log('account_id: ', account_id);
-            $('#account-employees-' + account_id).show();
-        } );
-
-        $('.glm-employee-cancel').on('click', function(e){
-            e.preventDefault();
-            clearAccountLinks();
-            var account_id = $(this).data('id');
-            $('#account-employees-' + account_id).hide();
         });
+    </script>
 
-        function accountLinksEmployeesSelected() {
-            accountEmployee = true;
-            console.log( 'accountHoverId: ', accountHoverId );
-            $('#account-container-' + accountHoverId).addClass('glm-hidden');
-        }
-
-        function clearAccountLinks() {
-            accountLinksEmployeesSelected();
-            accountHoverId = false;
-            accountEmployee = false;
-        }
-
-
-    });
-</script>
-
+</div>
 
 {include file='admin/footer.html'}
index 2c26f58..342357c 100644 (file)
@@ -1,70 +1,75 @@
 {include file='admin/billing/header.html'}
 
-{include file='admin/billing/subHeader.html'}
-
-
-<h2>Invoices</h2>
-
-{if $invoiceSent}<p><span class="glm-notice glm-flash-updated">Invoice Sent</span></p>{/if}
-
-<form action="{$thisUrl}?page={$thisPage}" method="post" id="searchForm">
-    <input type="hidden" name="glm_action" value="invoices">
-    <input type="hidden" name="option" value="list">
-
-    <input type="hidden" name="searched" value="1">
-    <input type="hidden" name="prevStart" value="{$prevStart}">
-    <input type="hidden" name="nextStart" value="{$nextStart}">
-    <input type="hidden" name="limit" value="{$limit}">
-
-        <div class="glm-admin-table-inner">
-            <div class="billing-search-form-container">
-                <label>From Date: </label>
-                <input type="text" name="fromDate" value="{$fromDate}" class="glm-form-text-input-short glm-date-input">
-                <label>To Date: </label>
-                <input type="text" name="toDate" value="{$toDate}" class="glm-form-text-input-short glm-date-input">
-            </div>
-            <div class="billing-search-form-container">
-                <label>Member Account:&nbsp;</label>
-                <input id="member-account" type="hidden" name="filterAccounts" value="{$filterAccounts}">
-                <input id="account_name" name="searchName" value="{if $smarty.request.searchName}{$smarty.request.searchName}{/if}" />
-            </div>
-            <div class="billing-search-form-container">
-                <label>Invoice #:&nbsp;</label>
-                <input id="member-invoice-id" type="hidden" name="filterInvoice" value="{$filterInvoices}">
-                <input id="invoiceId" name="searchInvoice" value="" />
-            </div>
-            <div class="billing-search-form-container">
-                <label>
-                    <input type="checkbox" name="filterUnpaid"{if isset($smarty.request.filterUnpaid) && $smarty.request.filterUnpaid} checked{/if}>
-                    Show only Unpaid Invoices
-                </label>
-            </div>
-            <div class="billing-search-form-submit">
-                <input type="submit" value="Submit">
+<div class="callout large">
+
+    <h2 class="subheader">Invoices</h2>
+
+    <a class="button primary" href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices&option=add">Create Invoice</a>
+    {if $invoiceSent}<p><span class="glm-notice glm-flash-updated">Invoice Sent</span></p>{/if}
+
+    <form action="{$thisUrl}?page={$thisPage}" method="post" id="searchForm">
+        <input type="hidden" name="glm_action" value="invoices">
+        <input type="hidden" name="option" value="list">
+
+        <input type="hidden" name="searched" value="1">
+        <input type="hidden" name="prevStart" value="{$prevStart}">
+        <input type="hidden" name="nextStart" value="{$nextStart}">
+        <input type="hidden" name="limit" value="{$limit}">
+
+        <fieldset class="fieldset">
+            <legend>Search Invoices</legend>
+            <div class="grid-container full">
+                <div class="grid-x grid-padding-x">
+                    <div class="cell small-12 medium-3">
+                        <label>From Date: </label>
+                        <input type="text" name="fromDate" value="{$fromDate}" class="glm-form-text-input-short glm-date-input">
+                        <label>To Date: </label>
+                        <input type="text" name="toDate" value="{$toDate}" class="glm-form-text-input-short glm-date-input">
+                    </div>
+                    <div class="cell small-12 medium-3">
+                        <label>Member Account:&nbsp;</label>
+                        <input id="member-account" type="hidden" name="filterAccounts" value="{$filterAccounts}">
+                        <input id="account_name" type="text" name="searchName" value="{if $smarty.request.searchName}{$smarty.request.searchName}{/if}" />
+                    </div>
+                    <div class="cell small-12 medium-3">
+                        <label>Invoice #:&nbsp;</label>
+                        <input id="member-invoice-id" type="hidden" name="filterInvoice" value="{$filterInvoices}">
+                        <input id="invoiceId" type="text" name="searchInvoice" value="" />
+                    </div>
+                    <div class="cell small-12 medium-3">
+                        <label>
+                            <input type="checkbox" name="filterUnpaid"{if isset($smarty.request.filterUnpaid) && $smarty.request.filterUnpaid} checked{/if}>
+                            Show only Unpaid Invoices
+                        </label>
+                    </div>
+                    <div class="billing-search-form-submit">
+                        <input type="submit" class="button" value="Submit">
+                    </div>
+
+                </div>
             </div>
+        </fieldset>
 
-        </div>
         <br clear="all">
 
-        <p>Total found: {$totalInvoices}</p>
+        <p>Total found: <span class="label">{$totalInvoices}</span></p>
 
-    {if $paging}
-        <input type="Submit" name="pageSelect" value="Previous {$limit} Invoices" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-        <input type="Submit" name="pageSelect" value="Next {$limit} Invoices" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-    {/if}
-        <br clear="all">
+        {if $paging}
+            <input type="Submit" name="pageSelect" value="Previous {$limit} Invoices" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+            <input type="Submit" name="pageSelect" value="Next {$limit} Invoices" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+        {/if}
+            <br clear="all">
 
-    <div class="glm-admin-table-inner">
-        <table class="wp-list-table widefat fixed posts glm-admin-table">
+        <table class="stack glm-admin-table-inner">
             <thead>
                 <tr>
-                    <th width="50">Invoice #</th>
+                    <th width="80">Invoice #</th>
                     <th>Member Name</th>
                     <th>Invoice For</th>
-                    <th style="width: 150px;">Time</th>
-                    <th style="width: 80px;">Due Date</th>
-                    <th style="width: 100px;">Amount Total</th>
-                    <th style="width: 70px;">Balance</th>
+                    <th width="150">Time</th>
+                    <th width="80">Due Date</th>
+                    <th width="120">Amount Total</th>
+                    <th width="120">Balance</th>
                 </tr>
             </thead>
             <tbody>
@@ -83,8 +88,8 @@
                             <td> {$t.amount_total} </td>
                             <td> {$t.balance} </td>
                         </tr>
-                        <tr id="invoice-container-{$t.id}" class="glm-invoice-links glm-hidden{if $t@iteration is div by 2} alternate{/if}">
-                            <td colspan="6">
+                        <tr id="invoice-container-{$t.id}" class="glm-invoice-links hide-for-large {if $t@iteration is div by 2} alternate{/if}">
+                            <td colspan="7">
                                 <span class="account-dashboard-link">
                                     <a href="{$adminUrl}?page=glm-members-admin-menu-billing&glm_action=invoices&option=edit&id={$t.id}">Edit</a> |
                                 </span>
                 {/if}
             </tbody>
         </table>
-    </div>
 
-    {if $paging}
-        <input type="Submit" name="pageSelect" value="Previous {$limit} Invoices" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-        <input type="Submit" name="pageSelect" value="Next {$limit} Invoices" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-    {/if}
-
-</form>
-
-<div id="send-invoice-form" title="Send Invoice">
-    <form id="invoice-form" action="{$thisUrl}?page={$thisPage}" method="post">
-        <input type="hidden" name="glm_action" value="invoices" />
-        <input type="hidden" name="option" value="send_invoice" />
-        <input type="hidden" id="invoice_id" name="invoice_id" value="" />
-        <input type="hidden" id="member_id" name="member_id" value="" />
-        <input type="hidden" id="account_id" name="account_id" value="" />
-        Send an invoice to <span id="member_name"></span><br>
-        Email Invoice Status <span id="email_invoice"></span><br>
+        {if $paging}
+            <input type="Submit" name="pageSelect" value="Previous {$limit} Invoices" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+            <input type="Submit" name="pageSelect" value="Next {$limit} Invoices" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+        {/if}
+
     </form>
-</div>
 
-<script type="text/javascript">
-    jQuery(document).ready(function($) {
+    <div id="send-invoice-form" title="Send Invoice">
+        <form id="invoice-form" action="{$thisUrl}?page={$thisPage}" method="post">
+            <input type="hidden" name="glm_action" value="invoices" />
+            <input type="hidden" name="option" value="send_invoice" />
+            <input type="hidden" id="invoice_id" name="invoice_id" value="" />
+            <input type="hidden" id="member_id" name="member_id" value="" />
+            <input type="hidden" id="account_id" name="account_id" value="" />
+            Send an invoice to <span id="member_name"></span><br>
+            Email Invoice Status <span id="email_invoice"></span><br>
+        </form>
+    </div>
 
-        function sendInvoice() {
-            var valid = true;
+    <script>
+        jQuery(document).ready(function($) {
 
-            if ( valid ) {
-                $('#invoice-form').submit();
-            }
+            function sendInvoice() {
+                var valid = true;
 
-            return valid;
-        }
-
-        dialog = $('#send-invoice-form').dialog({
-            autoOpen: false,
-            height: 200,
-            width: 350,
-            modal: true,
-            buttons: {
-                "Send Invoice": sendInvoice,
-                Cancel: function () {
-                    dialog.dialog( 'close' );
+                if ( valid ) {
+                    $('#invoice-form').submit();
                 }
-            },
-            close: function() {
-                // $('#send-invoice-form').reset();
+
+                return valid;
             }
-        });
 
-        $('.send-invoice-link').on('click', function(e){
-            e.preventDefault();
-
-            var invoice_id  = $(this).data( 'id' );
-            var member_id   = $(this).data( 'member' );
-            var account_id  = $(this).data( 'account' );
-            var member_name = $(this).data( 'member_name' );
-
-            $('#invoice_id').val( invoice_id );
-            $('#member_id').val( member_id );
-            $('#account_id').val( account_id );
-            $('#member_name').html( '<b>' + member_name + '</b>' );
-
-            // Call ajax invoice api to see if this member has email_invoice set
-            $.ajax({
-                url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=invoices&option=invoice_methods',
-                cache: false,
-                type: 'POST',
-                data: {
-                    member_id: member_id,
-                    account_id: account_id,
-                    invoice_id: invoice_id
+            dialog = $('#send-invoice-form').dialog({
+                autoOpen: false,
+                height: 200,
+                width: 350,
+                modal: true,
+                buttons: {
+                    "Send Invoice": sendInvoice,
+                    Cancel: function () {
+                        dialog.dialog( 'close' );
+                    }
                 },
-                encode: true,
-                dataType: 'json'
-            }).done(function(msg){
-                if ( msg === '0' ) {
-                    $('#email_invoice').html( '<b style="color: red;">Off</b>' );
-                } else {
-                    $('#email_invoice').html( '<b style="color: green;">On</b>' );
+                close: function() {
+                    // $('#send-invoice-form').reset();
                 }
             });
 
+            $('.send-invoice-link').on('click', function(e){
+                e.preventDefault();
+
+                var invoice_id  = $(this).data( 'id' );
+                var member_id   = $(this).data( 'member' );
+                var account_id  = $(this).data( 'account' );
+                var member_name = $(this).data( 'member_name' );
+
+                $('#invoice_id').val( invoice_id );
+                $('#member_id').val( member_id );
+                $('#account_id').val( account_id );
+                $('#member_name').html( '<b>' + member_name + '</b>' );
+
+                // Call ajax invoice api to see if this member has email_invoice set
+                $.ajax({
+                    url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=invoices&option=invoice_methods',
+                    cache: false,
+                    type: 'POST',
+                    data: {
+                        member_id: member_id,
+                        account_id: account_id,
+                        invoice_id: invoice_id
+                    },
+                    encode: true,
+                    dataType: 'json'
+                }).done(function(msg){
+                    if ( msg === '0' ) {
+                        $('#email_invoice').html( '<b style="color: red;">Off</b>' );
+                    } else {
+                        $('#email_invoice').html( '<b style="color: green;">On</b>' );
+                    }
+                });
+
+
+                dialog.dialog( 'open' );
+            });
 
-            dialog.dialog( 'open' );
-        });
+            var invoiceHoverId  = false;
 
-        var invoiceHoverId  = false;
+            $('.glm-invoice-row').mouseenter( function(){
+                // Hide all
+                $( '.glm-invoice-links' ).addClass( 'hide-for-large' );
 
-        $('.glm-invoice-row').mouseenter( function(){
-            // Hide all
-            $( '.glm-invoice-links' ).addClass( 'glm-hidden' );
+                invoiceHoverId = $(this).data('id');
+                $( '#invoice-container-' + invoiceHoverId ).removeClass( 'hide-for-large' );
+            });
+            $('.glm-admin-table-inner').mouseleave( function() {
+                $( '#invoice-container-' + invoiceHoverId ).addClass( 'hide-for-large' );
+            });
 
-            invoiceHoverId = $(this).data('id');
-            $( '#invoice-container-' + invoiceHoverId ).removeClass( 'glm-hidden' );
-        });
-        $('.glm-admin-table-inner').mouseleave( function() {
-            $( '#invoice-container-' + invoiceHoverId ).addClass( 'glm-hidden' );
-        });
+            // Date Input
+            $('.glm-date-input').datepicker({
+                dateFormat: 'mm/dd/yy'
+            });
 
-        // Date Input
-        $('.glm-date-input').datepicker({
-            dateFormat: 'mm/dd/yy'
-        });
+            var availableAccounts = [
+            {foreach $accounts as $m}
+                { label: "{$m.ref_name|unescape:'html'|replace:'"':''}", value: "{$m.ref_name|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
+            {/foreach}
+            ]
 
-        var availableAccounts = [
-        {foreach $accounts as $m}
-            { label: "{$m.ref_name|unescape:'html'|replace:'"':''}", value: "{$m.ref_name|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
-        {/foreach}
-        ]
-
-        {* accounts for the search *}
-        $('#account_name').autocomplete({
-            source: availableAccounts,
-            select: function( event, ui ){
-                $('#member-account').val( ui.item.id );
-                $('#searchForm').submit();
-            },
-            change: function( event, ui) {
-                if( ui.item == null ) {
-                    $('#member-account').val( '' );
+            {* accounts for the search *}
+            $('#account_name').autocomplete({
+                source: availableAccounts,
+                select: function( event, ui ){
+                    $('#member-account').val( ui.item.id );
                     $('#searchForm').submit();
-                }
-            },
-        });
+                },
+                change: function( event, ui) {
+                    if( ui.item == null ) {
+                        $('#member-account').val( '' );
+                        $('#searchForm').submit();
+                    }
+                },
+            });
 
-        {* Invoices for the search *}
-        var availableInvoices = [
-        {foreach $invoiceList as $m}
-            { label: "{$m.id} ( {$m.member_name|unescape:'html'|replace:'"':''} )", value: "{$m.id|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
-        {/foreach}
-        ]
-        $('#invoiceId').autocomplete({
-            source: availableInvoices,
-            select: function( event, ui ){
-                $('#member-invoice-id').val( ui.item.id );
-                $('#invoiceId').val( ui.item.id );
-                // console.log( 'selected invoice id: ', ui.item.id );
-                $('#searchForm').submit();
-            },
-            change: function( event, ui) {
-                if( ui.item == null ) {
-                    $('#member-invoice-id').val( '' );
-                    // console.log( 'selected invoice id: ', ui );
-                    $('#searchForm').submit();
-                }
-            },
-        });
-        {if $filterAccounts}
-            {$selected = 0}
-            {foreach $accounts as $m}
-                {if $m.id == $filterAccounts}
-                    {$selected = $m.ref_name|unescape:'html'|replace:'"':''}
-                {/if}
+            {* Invoices for the search *}
+            var availableInvoices = [
+            {foreach $invoiceList as $m}
+                { label: "{$m.id} ( {$m.member_name|unescape:'html'|replace:'"':''} )", value: "{$m.id|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
             {/foreach}
-            $('#account_name').autocomplete().val('{$selected}');
-        {/if}
-
-        // Flash certain elements for a short time after display
-        $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+            ]
+            $('#invoiceId').autocomplete({
+                source: availableInvoices,
+                select: function( event, ui ){
+                    $('#member-invoice-id').val( ui.item.id );
+                    $('#invoiceId').val( ui.item.id );
+                    // console.log( 'selected invoice id: ', ui.item.id );
+                    $('#searchForm').submit();
+                },
+                change: function( event, ui) {
+                    if( ui.item == null ) {
+                        $('#member-invoice-id').val( '' );
+                        // console.log( 'selected invoice id: ', ui );
+                        $('#searchForm').submit();
+                    }
+                },
+            });
+            {if $filterAccounts}
+                {$selected = 0}
+                {foreach $accounts as $m}
+                    {if $m.id == $filterAccounts}
+                        {$selected = $m.ref_name|unescape:'html'|replace:'"':''}
+                    {/if}
+                {/foreach}
+                $('#account_name').autocomplete().val('{$selected}');
+            {/if}
+
+            // Flash certain elements for a short time after display
+            $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
 
-    });
-</script>
+        });
+    </script>
 
+</div>
 {include file='admin/footer.html'}
index 724a5b9..12e994f 100644 (file)
 {include file='admin/billing/header.html'}
-<h2>Invoicing</h2>
-{include file='admin/billing/invoicingSubHeader.html'}
 
-<form id="invoicing-form" action="{$thisUrl}?page={$thisPage}" method="get">
-    <input type="hidden" name="page" value="{$thisPage}">
-    <input type="hidden" name="glm_action" value="invoicing">
-    <input type="hidden" name="option" value="{$option}">
-    <input type="hidden" name="prevStart" value="{$prevStart}">
-    <input type="hidden" name="nextStart" value="{$nextStart}">
-    <input type="hidden" name="limit" value="{$limit}">
-    <div class="glm-admin-table-inner">
-        {if $paymentTypes}
-            <div style="width:200px;float:left;">
-                <label>Payment Types:</label><br>
-                <select multiple size="10" name="invoice_types[]">
-                    {foreach $paymentTypes as $paymentType}
-                        <option value="{$paymentType.id}"{if isset($smarty.request.invoice_types) && in_array( $paymentType.id, $smarty.request.invoice_types )} selected{/if}>{$paymentType.name}</option>
-                    {/foreach}
-                </select>
-            </div>
-        {/if}
-        {if $counties}
-            <div style="width:200px;float:left;">
-                <label>Counties:</label><br>
-                <select multiple size="10" name="counties[]">
-                    {foreach $counties as $county}
-                        <option value="{$county.id}"{if isset($smarty.request.counties) && in_array( $county.id, $smarty.request.counties )} selected{/if}>{$county.name}</option>
-                    {/foreach}
-                </select>
-            </div>
-        {/if}
-        {if $option == 'createLabels'}
-            <div style="width:300px;float:left;">
-                <br>
-                <label>
-                    <input class="labelOption" type="checkbox" name="only_payment_due"{if isset($smarty.request.only_payment_due) && $smarty.request.only_payment_due} checked{/if}>
-                    Only Payments Due<br>
-                </label>
-                <label>
-                    <input id="exportCSV" type="checkbox" name="export_file"{if isset($smarty.request.export_file) && $smarty.request.export_file} checked{/if}>
-                    Export as CSV File<br>
-                </label>
-                <label>
-                    <input class="labelOption" type="checkbox" name="no_contact_name"{if isset($smarty.request.no_contact_name) && $smarty.request.no_contact_name} checked{/if}>
-                    Remove Member Billing Contact<br>
-                </label>
-            </div>
-        {/if}
-        {if $option == 'sendEmails'}
-            <div style="width:300px;float:left;">
-                <label>Email Notification:</label><br>
-                {if $notification_types}
-                    {foreach $notification_types as $notice}
+<div class="callout large">
+
+    <h2 class="subheader">Invoicing</h2>
+    {include file='admin/billing/invoicingSubHeader.html'}
+
+    <form id="invoicing-form" action="{$thisUrl}?page={$thisPage}" method="get">
+        <input type="hidden" name="page" value="{$thisPage}">
+        <input type="hidden" name="glm_action" value="invoicing">
+        <input type="hidden" name="option" value="{$option}">
+        <input type="hidden" name="prevStart" value="{$prevStart}">
+        <input type="hidden" name="nextStart" value="{$nextStart}">
+        <input type="hidden" name="limit" value="{$limit}">
+
+        <div class="grid-container full">
+            <div class="grid-x grid-padding-x">
+                {if $paymentTypes}
+                    <div class="cell small-12 medium-2">
+                        <label>Payment Types:</label><br>
+                        <select multiple size="10" name="invoice_types[]">
+                            {foreach $paymentTypes as $paymentType}
+                                <option value="{$paymentType.id}"{if isset($smarty.request.invoice_types) && in_array( $paymentType.id, $smarty.request.invoice_types )} selected{/if}>{$paymentType.name}</option>
+                            {/foreach}
+                        </select>
+                    </div>
+                {/if}
+                {if $counties}
+                    <div class="cell small-12 medium-2">
+                        <label>Counties:</label><br>
+                        <select multiple size="10" name="counties[]">
+                            {foreach $counties as $county}
+                                <option value="{$county.id}"{if isset($smarty.request.counties) && in_array( $county.id, $smarty.request.counties )} selected{/if}>{$county.name}</option>
+                            {/foreach}
+                        </select>
+                    </div>
+                {/if}
+                {if $option == 'createLabels'}
+                    <div class="cell small-12 medium-2">
+                        <br>
                         <label>
-                            <input class="labelOption" type="radio" name="notification_id" value="{$notice.id}" required>
-                            {$notice.name}<br>
+                            <input class="labelOption" type="checkbox" name="only_payment_due"{if isset($smarty.request.only_payment_due) && $smarty.request.only_payment_due} checked{/if}>
+                            Only Payments Due<br>
                         </label>
-                    {/foreach}
+                        <label>
+                            <input id="exportCSV" type="checkbox" name="export_file"{if isset($smarty.request.export_file) && $smarty.request.export_file} checked{/if}>
+                            Export as CSV File<br>
+                        </label>
+                        <label>
+                            <input class="labelOption" type="checkbox" name="no_contact_name"{if isset($smarty.request.no_contact_name) && $smarty.request.no_contact_name} checked{/if}>
+                            Remove Member Billing Contact<br>
+                        </label>
+                    </div>
                 {/if}
+                {if $option == 'sendEmails'}
+                    <div class="cell small-12 medium-2">
+                        <label>Email Notification:</label><br>
+                        {if $notification_types}
+                            {foreach $notification_types as $notice}
+                                <label>
+                                    <input class="labelOption" type="radio" name="notification_id" value="{$notice.id}" required>
+                                    {$notice.name}<br>
+                                </label>
+                            {/foreach}
+                        {/if}
+                    </div>
+                {/if}
+                <div class="cell small-12 medium-2">
+                    <input class="button" type="submit" value="Filter">
+                    {if $option == 'createInvoices'}
+                        <input class="button" type="submit" name="submitType" value="Create Invoices" onClick="return( confirm( 'Are you Sure?' ) );">
+                    {elseif $option == 'printInvoices'}
+                        <input class="button" id="print-invoices" type="submit" name="submitType" value="Print Invoices">
+                    {elseif $option == 'createLabels'}
+                        <input class="button" id="create-labels" type="submit" name="submitType" value="Create Labels">
+                    {elseif $option == 'sendEmails'}
+                        <input class="button" type="submit" name="submitType" value="Send Emails">
+                    {/if}
+                </div>
             </div>
-        {/if}
-        <div style="width:400px; height: 30px;">
-            <input type="submit" value="Filter">
-            {if $option == 'createInvoices'}
-                <input type="submit" name="submitType" value="Create Invoices" onClick="return( confirm( 'Are you Sure?' ) );">
-            {elseif $option == 'printInvoices'}
-                <input id="print-invoices" type="submit" name="submitType" value="Print Invoices">
-            {elseif $option == 'createLabels'}
-                <input id="create-labels" type="submit" name="submitType" value="Create Labels">
-            {elseif $option == 'sendEmails'}
-                <input type="submit" name="submitType" value="Send Emails">
-            {/if}
         </div>
-    </div>
-    <br clear="all">
-    <br clear="all">
-    <p>Total found: {$totalAccounts}</p>
-    {if $successMsg}<p><span class="glm-notice glm-flash-updated">{$successMsg}</span></p>{/if}
-    {* Paging *}
-    {if $paging}
-        <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-        <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-    {/if}
-    <br clear="all">
-    <div id="account-list">
-        <table class="wp-list-table widefat fixed posts glm-admin-table">
-            <thead>
-                <tr>
-                    <th> Member Name </th>
-                    {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
-                        <th style="width: 200px;"> Account Number </th>
-                    {/if}
-                    <th style="width: 200px;"> Payment Type </th>
-                    <th style="width: 100px;"> Balance Due </th>
-                </tr>
-            </thead>
-            {if isset( $accounts ) && !empty( $accounts )}
-                {foreach $accounts as $t}
+        <br clear="all">
+        <br clear="all">
+        <p>Total found: {$totalAccounts}</p>
+        {if $successMsg}<p><span class="glm-notice glm-flash-updated">{$successMsg}</span></p>{/if}
+        {* Paging *}
+        {if $paging}
+            <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+            <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+        {/if}
+        <br clear="all">
+        <div id="account-list">
+            <table class="stack">
+                <thead>
                     <tr>
-                        <td>
-                            <a href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}">
-                                {$t.member_name}
-                            </a>
-                        </td>
+                        <th> Member Name </th>
                         {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
-                            <td> {$t.account_number} </td>
+                            <th style="width: 200px;"> Account Number </th>
                         {/if}
-                        <td> {$t.payment_type} </td>
-                        <td> {$t.balance_due|string_format:"%.2f"} </td>
+                        <th style="width: 200px;"> Payment Type </th>
+                        <th style="width: 100px;"> Balance Due </th>
                     </tr>
-                {/foreach}
-            {/if}
-        </table>
-    </div>
-    {* Paging *}
-    {if $paging}
-        <input type="submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-        <input type="submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-    {/if}
-</form>
-<script>
-jQuery(document).ready(function($) {
-    $('#print-invoices').on( 'click', function(e){
-        e.preventDefault();
-        var formData = $('#invoicing-form select').serialize();
-        console.log( 'Form Data:', formData );
-        window.location = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=printInvoices&' + formData;
-    } );
-    $('#create-labels').on( 'click', function(e){
-        e.preventDefault();
-        var formData = $('#invoicing-form select, input.labelOption').serialize();
-        console.log( 'Form Data:', formData );
-        // Check if the Export as CSV file was checked.
-        if ( $('#exportCSV:checked').length ) {
-            console.log( 'exportCSV: ON' );
-            window.location = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=createCSVLabels&' + formData;
-        } else {
-            console.log( 'exportCSV: OFF' );
-            window.location = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=createPDFLabels&' + formData;
-        }
-    } );
-});
-</script>
+                </thead>
+                {if isset( $accounts ) && !empty( $accounts )}
+                    {foreach $accounts as $t}
+                        <tr>
+                            <td>
+                                <a href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}">
+                                    {$t.member_name}
+                                </a>
+                            </td>
+                            {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
+                                <td> {$t.account_number} </td>
+                            {/if}
+                            <td> {$t.payment_type} </td>
+                            <td> {$t.balance_due|string_format:"%.2f"} </td>
+                        </tr>
+                    {/foreach}
+                {/if}
+            </table>
+        </div>
+        {* Paging *}
+        {if $paging}
+            <input type="submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+            <input type="submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+        {/if}
+    </form>
+    <script>
+    jQuery(document).ready(function($) {
+        $('#print-invoices').on( 'click', function(e){
+            e.preventDefault();
+            var formData = $('#invoicing-form select').serialize();
+            console.log( 'Form Data:', formData );
+            window.location = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=printInvoices&' + formData;
+        } );
+        $('#create-labels').on( 'click', function(e){
+            e.preventDefault();
+            var formData = $('#invoicing-form select, input.labelOption').serialize();
+            console.log( 'Form Data:', formData );
+            // Check if the Export as CSV file was checked.
+            if ( $('#exportCSV:checked').length ) {
+                console.log( 'exportCSV: ON' );
+                window.location = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=createCSVLabels&' + formData;
+            } else {
+                console.log( 'exportCSV: OFF' );
+                window.location = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=createPDFLabels&' + formData;
+            }
+        } );
+    });
+    </script>
+</div>
 {include file='admin/footer.html'}
index b1c993a..33c9ea6 100644 (file)
@@ -1,6 +1,14 @@
-<h2 class="nav-tab-wrapper">
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing&option=createInvoices" class="nav-tab{if $option==createInvoices} nav-tab-active{/if}">Create Invoices</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing&option=printInvoices" class="nav-tab{if $option==printInvoices} nav-tab-active{/if}">Print Invoices</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing&option=createLabels" class="nav-tab{if $option==createLabels} nav-tab-active{/if}">Create Labels</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing&option=sendEmails" class="nav-tab{if $option==sendEmails} nav-tab-active{/if}">Send Emails</a>
-</h2>
+<ul class="menu">
+    <li class="{if $option==createInvoices} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing&option=createInvoices">Create Invoices</a>
+    </li>
+    <li class="{if $option==printInvoices} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing&option=printInvoices">Print Invoices</a>
+    </li>
+    <li class="{if $option==createLabels} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing&option=createLabels">Create Labels</a>
+    </li>
+    <li class="{if $option==sendEmails} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoicing&option=sendEmails">Send Emails</a>
+    </li>
+</ul>
diff --git a/views/admin/billing/makePaymentAdjustmentAjax.html b/views/admin/billing/makePaymentAdjustmentAjax.html
new file mode 100644 (file)
index 0000000..ab1a1e8
--- /dev/null
@@ -0,0 +1,188 @@
+{* makePaymentAdjustment *}
+{* This Form is used for uptravel billing member payments *}
+
+<button class="close-button" data-close aria-label="Close" type="button">
+    <span aria-hidden="true">&times;</span>
+</button>
+
+<div id="billing-payment-form" class="glm-billing-form">
+
+    {if $paymentSuccess}<span class="glm-notice glm-flash-updated">Payment Completed</span>{/if}
+    {if $paymentError}<span class="glm-notice glm-flash-updated">Error With Payment</span>{/if}
+
+    {if $messages}
+        {foreach $messages as $message}
+            <div class="">{$message}</div>
+        {/foreach}
+    {/if}
+
+    {if $invoices}
+        <form id="billingPaymentForm" action="{$ajaxUrl}?action=glm_members_admin_ajax" method="post" data-abide novalidate>
+            <input type="hidden" name="glm_action" value="ajaxBillingInfo" />
+
+            <input type="hidden" name="page" value="{$thisPage}" />
+            <input type="hidden" name="glm_action" value="ajaxBillingInfo" />
+            <input type="hidden" name="option" value="createMemberPayment" />
+            <input type="hidden" name="member" value="{$memberID}" />
+            <input type="hidden" name="account_id" value="{$account.fieldData.id}" />
+            <input type="hidden" name="amount" value="" id="total_amount" />
+
+            {include file='ui/f6/errorCallout.html'}
+
+            <div class="glm-billing-field">
+                <div class="glm-billing-label glm-required"> Select Invoice </div>
+                <div class="glm-billing-input">
+                    {if $invoices}
+                        {foreach $invoices as $invoice}
+                            <label>
+                                <input type="checkbox" name="invoices[]" data-amount="{$invoice.balance}" value="{$invoice.id}" checked />
+                                ${$invoice.balance} Due {$invoice.due_date}
+                            </label>
+                        {/foreach}
+                    {/if}
+                </div>
+            </div>
+
+            {$ui = [
+                'value'       => '',
+                'field'       => 'amount',
+                'label'       => 'Amount',
+                'pattern'     => 'number',
+                'placeholder' => 'Amount',
+                'required'    => true,
+                'errorText'   => 'Amount is Required and must be Numeric'
+            ]}
+            {include file='ui/f6/text.html'}
+
+            <div class="glm-billing-field">
+                <div class="glm-billing-label glm-required"> Payment Method </div>
+                <div class="glm-billing-input">
+                    <select name="payment_method" required>
+                        <option value=""></option>
+                        {foreach $paymentMethods as $value => $label}
+                            <option value="{$value}">{$label}</option>
+                        {/foreach}
+                    </select>
+                </div>
+            </div>
+
+            {$ui = [
+                'value'       => '',
+                'field'       => 'payment_data',
+                'label'       => 'Payment Details',
+                'placeholder' => 'Payment Details',
+                'required'    => false,
+                'errorText'   => 'Payment Details is Required'
+            ]}
+            {include file='ui/f6/text.html'}
+
+            <div class="glm-billing-field">
+                <div class="glm-billing-label"> Comment </div>
+                <div class="glm-billing-input">
+                    <textarea name="notes" style="height: 50px;"></textarea>
+                </div>
+            </div>
+
+            <input class="button button-primary" type="submit" value="Make Payment">
+
+            {include file='ui/f6/errorCallout.html'}
+
+        </form>
+    {else}
+
+        <p>You don't have any unpaid invoices!</p>
+
+    {/if}
+</div>
+
+<script>
+jQuery(document).ready(function($){
+
+    {* Form validation using abide *}
+    var abide = new Foundation.Abide($('#billingPaymentForm'));
+    $(document)
+    .on('invalid.zf.abide', function(ev,elem){
+        return false;
+        // console.log('elem: ', elem);
+        // $('#billingPaymentForm').foundation('requiredCheck', elem);
+        // console.log( 'Field id '+ev.target.id+' is invalid' );
+    })
+    // .on('forminvalid.zf.abide', function(ev,frm){
+    //     console.log( 'form id '+ev.target.id+' is invalid' );
+    // })
+    .on('submit', function(ev){
+        ev.preventDefault();
+        var validForm = $('#billingPaymentForm').foundation('validateForm');
+        console.log('ValidForm: ',validForm);
+        var data = $('#billingPaymentForm').serialize();
+        console.log('data: ', data);
+        console.log('Submit for form id '+ev.target.id+' intercepted');
+        $.ajax({
+            url: '{$ajaxUrl}?action=glm_members_admin_ajax&' + data,
+            cache: false,
+            beforeSend: startAjax,
+            complete: completeAjax,
+        }).done(function(rsp){
+            console.log( 'rsp:', rsp );
+            // if ( rsp.status == '1' ) {
+            //     var $sucessModal = $('#billingInfoSuccess');
+            //     $sucessModal.foundation('open').trigger('resizeme.zp.reveal');
+            // } else {
+            //     return false;
+            // }
+        }).fail(function(){
+            console.log( 'error no submission' );
+        });
+        return false;
+    });
+    function startAjax(){
+        $('#glmLoading').show();
+    }
+    function completeAjax(){
+        $('#glmLoading').hide();
+    };
+
+    // Need to require that they select at least one invoice
+    $('#PaymentForm').submit(function(){
+        var invoice_amount = $('#total_amount').val();
+        if ( invoice_amount == 0 ) {
+            alert( 'You have to select at least one invoice with an amount due.' );
+            return false;
+        } else {
+            return true;
+        }
+        return false;
+    });
+
+    function getPageTotal(){
+
+        // Calculate the total for this page.
+        // Get the member_renewing amount.
+        if ( $('input[name^=invoices]:checked').length === 1 ) {
+            var invoice_amount = parseFloat( $('input[name^=invoices]:checked').data('amount') );
+        } else if (  $('input[name^=invoices]:checked').length > 1 ) {
+            var invoice_amount = 0.00;
+            $('input[name^=invoices]:checked').each(function(){
+                invoice_amount += parseFloat( $(this).data('amount') );
+            });
+        } else {
+            var invoice_amount = 0.00;
+        }
+
+        $('#total_amount_display').html( '$' + invoice_amount );
+        $('#total_amount').val( invoice_amount );
+
+    }
+
+    getPageTotal();
+
+    // trigger total if changing Membership
+    $('input[name^=invoices]').change(function(){
+        getPageTotal();
+    });
+
+    // Flash certain elements for a short time after display
+    $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+
+});
+</script>
diff --git a/views/admin/billing/makePaymentAjax.html b/views/admin/billing/makePaymentAjax.html
new file mode 100644 (file)
index 0000000..2f74251
--- /dev/null
@@ -0,0 +1,187 @@
+{* Make Payment *}
+
+<button class="close-button" data-close aria-label="Close" type="button">
+    <span aria-hidden="true">&times;</span>
+</button>
+
+<div id="billing-payment-form" class="glm-billing-form">
+
+    {if $paymentSuccess}<span class="glm-notice glm-flash-updated">Payment Completed</span>{/if}
+    {if $paymentError}<span class="glm-notice glm-flash-updated">Error With Payment</span>{/if}
+
+    {if $messages}
+        {foreach $messages as $message}
+            <div class="">{$message}</div>
+        {/foreach}
+    {/if}
+
+
+    <form id="billingPaymentForm" action="{$ajaxUrl}?action=glm_members_admin_ajax" method="post" data-abide novalidate>
+        {* <form {if $billing_settings.proc_methods == 4} id="nonce-form"{else} id="PaymentForm"{/if} action="{$thisUrl}?page={$thisPage}&glm_action=billing&option=makePayment" method="post"> *}
+        <input type="hidden" name="page" value="{$thisPage}" />
+        <input type="hidden" name="glm_action" value="ajaxBillingInfo" />
+        <input type="hidden" name="option" value="createPayment" />
+        <input type="hidden" name="member" value="{$memberID}" />
+        <input type="hidden" name="account_id" value="{$account.fieldData.id}" />
+        <input type="hidden" name="amount" value="" id="total_amount" />
+
+
+        {include file='ui/f6/errorCallout.html'}
+            <!-- Call for billing section -->
+
+            {if $invoices}
+                <h2>Payment Information</h2>
+
+                <div class="glm-billing-field">
+                    <div class="glm-billing-label glm-required"> Select Invoice </div>
+                    <div class="glm-billing-input">
+                        {if $invoices}
+                            {foreach $invoices as $invoice}
+                                <label>
+                                    <input type="checkbox" name="invoices[]" data-amount="{$invoice.balance}" value="{$invoice.id}" checked />
+                                    {foreach $invoice.line_items as $line_items}
+                                        {$line_items.name}
+                                    {/foreach}
+                                    ${$invoice.balance} Due {$invoice.due_date.date}
+                                </label>
+                            {/foreach}
+                        {/if}
+                    </div>
+                </div>
+
+                <div class="glm-billing-field">
+                    <div class="glm-billing-label glm-required"> Amount </div>
+                    <div class="glm-billing-input">
+                        <div id="total_amount_display"></div>
+                    </div>
+                </div>
+
+        {* Include the Payment Form template *}
+        {* Only if payments types are setup *}
+        {include file='common/billing/paymentForm.html'}
+
+        <input class="button button-primary" type="submit" value="Make Payment" {if $billing_settings.proc_methods == 4} onclick="onGetCardNonce(event)"{/if}>
+
+        {include file='ui/f6/errorCallout.html'}
+
+            {else}
+            You don't have any unpaid invoices!
+            {/if}
+
+    </form>
+</div>
+
+<script>
+{if $billing_settings.proc_methods == 4}
+    var billingFieldsReq = [
+        { fieldName: 'invoice_number', fieldLabel: 'Invoice Number' },
+        {if $settings.billing_contact_name_enabled}
+            { fieldName: 'billing_contact_name', fieldLabel: 'Billing Contact Name' },
+        {else}
+            { fieldName: 'billing_fname', fieldLabel: 'Billing First Name' },
+            { fieldName: 'billing_lname', fieldLabel: 'Billing Last Name' },
+        {/if}
+        { fieldName: 'billing_addr1', fieldLabel: 'Billing Address' },
+        { fieldName: 'billing_city', fieldLabel: 'Billing City' },
+        { fieldName: 'billing_state', fieldLabel: 'Billing State' },
+        { fieldName: 'billing_zip', fieldLabel: 'Billing Zip' },
+        { fieldName: 'email', fieldLabel: 'Email Address' },
+        { fieldName: 'amount', fieldLabel: 'You have to select at least one invoice with an amount due' },
+    ];
+{/if}
+jQuery(document).ready(function($){
+
+    {* Form validation using abide *}
+    var abide = new Foundation.Abide($('#billingPaymentForm'));
+    $(document)
+    .on('invalid.zf.abide', function(ev,elem){
+        return false;
+        // console.log('elem: ', elem);
+        // $('#billingPaymentForm').foundation('requiredCheck', elem);
+        // console.log( 'Field id '+ev.target.id+' is invalid' );
+    })
+    // .on('forminvalid.zf.abide', function(ev,frm){
+    //     console.log( 'form id '+ev.target.id+' is invalid' );
+    // })
+    .on('submit', function(ev){
+        ev.preventDefault();
+        var validForm = $('#billingPaymentForm').foundation('validateForm');
+        console.log('ValidForm: ',validForm);
+        var data = $('#billingPaymentForm').serialize();
+        console.log('data: ', data);
+        console.log('Submit for form id '+ev.target.id+' intercepted');
+        $.ajax({
+            url: '{$ajaxUrl}?action=glm_members_admin_ajax&' + data,
+            cache: false,
+            beforeSend: startAjax,
+            complete: completeAjax,
+        }).done(function(rsp){
+            console.log( 'rsp:', rsp );
+            // if ( rsp.status == '1' ) {
+            //     var $sucessModal = $('#billingInfoSuccess');
+            //     $sucessModal.foundation('open').trigger('resizeme.zp.reveal');
+            // } else {
+            //     return false;
+            //
+            return false;
+        }).fail(function(){
+            console.log( 'error failed to call ajax action' );
+        });
+        return false;
+    });
+
+    function startAjax(){
+        $('#glmLoading').show();
+    }
+    function completeAjax(){
+        $('#glmLoading').hide();
+    };
+
+    $('#billing-invoice-select').change(function(){
+        // Get the data-amount and set the amount being paid.
+        $('#billing-amount').val( $(this).find('option:selected').data( 'amount') );
+    });
+
+    $('#PaymentForm').submit(function(){
+        var invoice_amount = $('#total_amount').val();
+        if ( invoice_amount == 0 ) {
+            alert( 'You have to select at least one invoice with an amount due.' );
+            return false;
+        } else {
+            return true;
+        }
+        return false;
+    });
+
+    function getPageTotal(){
+
+        // Calculate the total for this page.
+        // Get the member_renewing amount.
+        if ( $('input[name^=invoices]:checked').length === 1 ) {
+            var invoice_amount = parseFloat( $('input[name^=invoices]:checked').data('amount') );
+        } else if (  $('input[name^=invoices]:checked').length > 1 ) {
+            var invoice_amount = 0.00;
+            $('input[name^=invoices]:checked').each(function(){
+                invoice_amount += parseFloat( $(this).data('amount') );
+            });
+        } else {
+            var invoice_amount = 0.00;
+        }
+
+        $('#total_amount_display').html( '$' + invoice_amount );
+        $('#total_amount').val( invoice_amount );
+
+    }
+
+    getPageTotal();
+
+    // trigger total if changing Membership
+    $('input[name^=invoices]').change(function(){
+        getPageTotal();
+    });
+
+    // Flash certain elements for a short time after display
+    $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+
+});
+</script>
index 6c257b8..78c976b 100644 (file)
@@ -1,44 +1,54 @@
 {include file='admin/billing/header.html'}
 
-{include file='admin/billing/paymentHeader.html'}
+<div class="callout large">
 
-<div id="exportPaymentsButton" class="button button-secondary glm-admin-export-button">Payments Export</div>
-
-<h2>Payments</h2>
-
-<form action="{$thisUrl}?page={$thisPage}" method="post" id="searchForm">
-    <input type="hidden" name="glm_action" value="payments">
-    <input type="hidden" name="option" value="list">
+    <div class="button-group">
+        <div id="exportPaymentsButton" class="button secondary">Payments Export</div>
+        <a class="button primary" href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=payments&option=add">Make Payment</a>
+    </div>
 
-    <input type="hidden" name="searched" value="1">
-    <input type="hidden" name="prevStart" value="{$prevStart}">
-    <input type="hidden" name="nextStart" value="{$nextStart}">
-    <input type="hidden" name="limit" value="{$limit}">
-        <div class="glm-admin-table-inner">
-            <div class="billing-search-form-container">
-                <b>From Date: </b><input type="text" name="fromDate" value="{$fromDate}" class="glm-form-text-input-short glm-date-input">
-                <b>To Date: </b><input type="text" name="toDate" value="{$toDate}" class="glm-form-text-input-short glm-date-input">
-            </div>
-            <div class="billing-search-form-container">
-                <b>Member Account:&nbsp;</b>
-                <input id="member-account" type="hidden" name="filterAccounts" value="{$filterAccounts}">
-                <input id="account_name" name="searchName" value="{if $searchName}{$searchName}{/if}" />
-            </div>
-            <div class="billing-search-form-submit">
-                <input type="submit" value="Submit">
+    <h2 class="subheader">Payments</h2>
+
+    <form action="{$thisUrl}?page={$thisPage}" method="post" id="searchForm">
+        <input type="hidden" name="glm_action" value="payments">
+        <input type="hidden" name="option" value="list">
+
+        <input type="hidden" name="searched" value="1">
+        <input type="hidden" name="prevStart" value="{$prevStart}">
+        <input type="hidden" name="nextStart" value="{$nextStart}">
+        <input type="hidden" name="limit" value="{$limit}">
+
+        <fieldset class="fieldset">
+            <legend>Search Payments</legend>
+            <div class="grid-container full">
+                <div class="grid-x grid-padding-x">
+                    <div class="cell small-12 medium-3">
+                        <b>From Date: </b><input type="text" name="fromDate" value="{$fromDate}" class="glm-form-text-input-short glm-date-input">
+                    </div>
+                    <div class="cell small-12 medium-3">
+                        <b>To Date: </b><input type="text" name="toDate" value="{$toDate}" class="glm-form-text-input-short glm-date-input">
+                    </div>
+                    <div class="cell small-12 medium-3">
+                        <b>Member Account:&nbsp;</b>
+                        <input id="member-account" type="hidden" name="filterAccounts" value="{$filterAccounts}">
+                        <input id="account_name" type="text" name="searchName" value="{if $searchName}{$searchName}{/if}" />
+                    </div>
+                    <div class="cell small-12">
+                        <input class="button" type="submit" value="Submit">
+                    </div>
+                </div>
             </div>
-        </div>
+        </fieldset>
 
         <br clear="all">
 
-    {if $paging}
-        <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-        <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-    {/if}
-        <br clear="all">
+        {if $paging}
+            <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+            <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+        {/if}
+            <br clear="all">
 
-    <div class="glm-admin-table-inner">
-        <table class="wp-list-table widefat fixed posts glm-admin-table">
+        <table class="stack glm-admin-table-inner">
             <thead>
                 <tr>
                     <th>Member Name</th>
                 {/if}
             </tbody>
         </table>
-    </div>
 
-{if $paging}
-    <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-    <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-{/if}
+    {if $paging}
+        <input type="Submit" name="pageSelect" value="Previous {$limit} Accounts" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+        <input type="Submit" name="pageSelect" value="Next {$limit} Accounts" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+    {/if}
 
-</form>
+    </form>
 
-<script type="text/javascript">
-    jQuery(document).ready(function($) {
+    <script type="text/javascript">
+        jQuery(document).ready(function($) {
 
-        var paymentHoverId  = false;
+            var paymentHoverId  = false;
 
-        $('.glm-payment-row').mouseenter( function(){
-            // Hide all
-            $( '.glm-payment-links' ).addClass( 'glm-hidden' );
+            $('.glm-payment-row').mouseenter( function(){
+                // Hide all
+                $( '.glm-payment-links' ).addClass( 'glm-hidden' );
 
-            paymentHoverId = $(this).data('id');
-            $( '#payment-container-' + paymentHoverId ).removeClass( 'glm-hidden' );
-        });
-        $('.glm-admin-table-inner').mouseleave( function() {
-            $( '#payment-container-' + paymentHoverId ).addClass( 'glm-hidden' );
-        });
+                paymentHoverId = $(this).data('id');
+                $( '#payment-container-' + paymentHoverId ).removeClass( 'glm-hidden' );
+            });
+            $('.glm-admin-table-inner').mouseleave( function() {
+                $( '#payment-container-' + paymentHoverId ).addClass( 'glm-hidden' );
+            });
 
-        // Date Input
-        $('.glm-date-input').datepicker({
-            dateFormat: 'mm/dd/yy'
-        });
+            // Date Input
+            $('.glm-date-input').datepicker({
+                dateFormat: 'mm/dd/yy'
+            });
+
+            var availableAccounts = [
+            {foreach $allAccounts as $m}
+                { label: "{$m.ref_name|unescape:'html'|replace:'"':''}", value: "{$m.ref_name|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
+            {/foreach}
+            ]
 
-        var availableAccounts = [
-        {foreach $allAccounts as $m}
-            { label: "{$m.ref_name|unescape:'html'|replace:'"':''}", value: "{$m.ref_name|unescape:'html'|replace:'"':''}", id: '{$m.id}' },
-        {/foreach}
-        ]
-
-        // Setup autocomplete for both inputs
-        $('#account_name').autocomplete({
-            source: availableAccounts,
-            select: function( event, ui ){
-                $('#member-account').val( ui.item.id );
-                $('#searchForm').submit();
-            },
-            change: function( event, ui) {
-                if( ui.item == null ) {
-                    $('#member-account').val( '' );
+            // Setup autocomplete for both inputs
+            $('#account_name').autocomplete({
+                source: availableAccounts,
+                select: function( event, ui ){
+                    $('#member-account').val( ui.item.id );
                     $('#searchForm').submit();
-                }
-            },
+                },
+                change: function( event, ui) {
+                    if( ui.item == null ) {
+                        $('#member-account').val( '' );
+                        $('#searchForm').submit();
+                    }
+                },
+            });
         });
-    });
-</script>
+    </script>
 
-{include file='admin/billing/exportPaymentModal.html'}
+    {include file='admin/billing/exportPaymentModal.html'}
 
+</div>
 {include file='admin/footer.html'}
index 13b6ea3..81ca2dc 100644 (file)
 {include file='admin/billing/header.html'}
-<h2>Invoicing</h2>
-{include file='admin/billing/reportsSubHeader.html'}
+<div class="callout large">
 
-{if $option == 'reportGenerator'}
-    <div id="exportReportsButton" class="button button-secondary glm-admin-export-button">Report Export</div>
-{/if}
+    <h2 class="subheader">Invoicing</h2>
+    {include file='admin/billing/reportsSubHeader.html'}
 
-<form id="reports-form" action="{$thisUrl}?page={$thisPage}" method="get">
-    <input type="hidden" name="page" value="{$thisPage}">
-    <input type="hidden" name="glm_action" value="reports">
-    <input type="hidden" name="option" value="{$option}">
-    <input type="hidden" name="prevStart" value="{$prevStart}">
-    <input type="hidden" name="nextStart" value="{$nextStart}">
-    <input type="hidden" name="limit" value="{$limit}">
     {if $option == 'reportGenerator'}
-        <div class="glm-admin-table-inner">
-            {if $paymentTypes}
-                <div class="billing-search-form-select">
-                    <label for="invoice_types">Payment Types:</label><br>
-                    <select multiple size="10" id="invoice_types" name="invoice_types[]">
-                        {foreach $paymentTypes as $paymentType}
-                            <option value="{$paymentType.id}"{if isset($smarty.request.invoice_types) && in_array( $paymentType.id, $smarty.request.invoice_types )} selected{/if}>{$paymentType.name}</option>
-                        {/foreach}
-                    </select>
+        <div id="exportReportsButton" class="button button-secondary glm-admin-export-button">Report Export</div>
+    {/if}
+
+    <form id="reports-form" action="{$thisUrl}?page={$thisPage}" method="get">
+        <input type="hidden" name="page" value="{$thisPage}">
+        <input type="hidden" name="glm_action" value="reports">
+        <input type="hidden" name="option" value="{$option}">
+        <input type="hidden" name="prevStart" value="{$prevStart}">
+        <input type="hidden" name="nextStart" value="{$nextStart}">
+        <input type="hidden" name="limit" value="{$limit}">
+        {if $option == 'reportGenerator'}
+            <div class="glm-admin-table-inner">
+                {if $paymentTypes}
+                    <div class="billing-search-form-select">
+                        <label for="invoice_types">Payment Types:</label><br>
+                        <select multiple size="10" id="invoice_types" name="invoice_types[]">
+                            {foreach $paymentTypes as $paymentType}
+                                <option value="{$paymentType.id}"{if isset($smarty.request.invoice_types) && in_array( $paymentType.id, $smarty.request.invoice_types )} selected{/if}>{$paymentType.name}</option>
+                            {/foreach}
+                        </select>
+                    </div>
+                {/if}
+                {if $counties}
+                    <div class="billing-search-form-select">
+                        <label for="counties">Counties:</label><br>
+                        <select multiple size="10" id="counties" name="counties[]">
+                            {foreach $counties as $county}
+                                <option value="{$county.id}"{if isset($smarty.request.counties) && in_array( $county.id, $smarty.request.counties )} selected{/if}>{$county.name}</option>
+                            {/foreach}
+                        </select>
+                    </div>
+                {/if}
+                <div class="billing-search-form-container">
+                    <label for="member_name">Member Name:</label>
+                    <input class="reportForm" id="member_name" name="member_name" value="{if isset($smarty.request.member_name)}{$smarty.request.member_name}{/if}" />
+                    {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
+                        <label for="account_number">Account Number:</label>
+                        <input class="reportForm" id="account_number" name="account_number" value="{if isset($smarty.request.account_number)}{$smarty.request.account_number}{/if}" />
+                    {/if}
+                    <label>From:</label>
+                    <input id="from_date" class="reportForm glm-date-input" name="from_date" value="{if isset($smarty.request.from_date)}{$smarty.request.from_date}{/if}" />
+                    <label>To:</label>
+                    <input id="to_date" class="reportForm glm-date-input" name="to_date" value="{if isset($smarty.request.to_date)}{$smarty.request.to_date}{/if}" />
                 </div>
-            {/if}
-            {if $counties}
-                <div class="billing-search-form-select">
-                    <label for="counties">Counties:</label><br>
-                    <select multiple size="10" id="counties" name="counties[]">
-                        {foreach $counties as $county}
-                            <option value="{$county.id}"{if isset($smarty.request.counties) && in_array( $county.id, $smarty.request.counties )} selected{/if}>{$county.name}</option>
+                <div class="billing-search-form-container">
+                    <label for="transactionTypes">Transaction Types:</label>
+                    <select multiple size="4" id="transactionTypes" name="transactionTypes[]">
+                        {foreach $actionTypeSel as $typeId => $typeLabel}
+                            <option value="{$typeId}"{if isset($smarty.request.transactionTypes) && in_array( $typeId, $smarty.request.transactionTypes )} selected{/if}>{$typeLabel}</option>
                         {/foreach}
                     </select>
+                    {if isset( $settings.quickbooks_enabled ) && $settings.quickbooks_enabled}
+                        <br />
+                        <label>
+                            <input type="checkbox" id="qif" name="qif" /> Export QIF File
+                        </label>
+                    {/if}
+                </div>
+                <div class="billing-search-form-submit">
+                    <input id="report_search" type="submit" value="Search">
                 </div>
-            {/if}
-            <div class="billing-search-form-container">
-                <label for="member_name">Member Name:</label>
-                <input class="reportForm" id="member_name" name="member_name" value="{if isset($smarty.request.member_name)}{$smarty.request.member_name}{/if}" />
-                {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
-                    <label for="account_number">Account Number:</label>
-                    <input class="reportForm" id="account_number" name="account_number" value="{if isset($smarty.request.account_number)}{$smarty.request.account_number}{/if}" />
-                {/if}
-                <label>From:</label>
-                <input id="from_date" class="reportForm glm-date-input" name="from_date" value="{if isset($smarty.request.from_date)}{$smarty.request.from_date}{/if}" />
-                <label>To:</label>
-                <input id="to_date" class="reportForm glm-date-input" name="to_date" value="{if isset($smarty.request.to_date)}{$smarty.request.to_date}{/if}" />
             </div>
-            <div class="billing-search-form-container">
-                <label for="transactionTypes">Transaction Types:</label>
-                <select multiple size="4" id="transactionTypes" name="transactionTypes[]">
-                    {foreach $actionTypeSel as $typeId => $typeLabel}
-                        <option value="{$typeId}"{if isset($smarty.request.transactionTypes) && in_array( $typeId, $smarty.request.transactionTypes )} selected{/if}>{$typeLabel}</option>
+        {/if}
+        {if $option == 'accountsByAge'}
+        <h3>over 60 days</h3>
+        {/if}
+        <br clear="all">
+        <br clear="all">
+        <p>Total found: {$totalAccounts}</p>
+        {* Paging *}
+        {if $paging}
+            <input type="Submit" name="pageSelect" value="Previous {$limit} Reports" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+            <input type="Submit" name="pageSelect" value="Next {$limit} Reports" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+        {/if}
+        <br clear="all">
+        {if isset( $accounts ) && !empty( $accounts )}
+            <div id="account-list">
+                <table class="wp-list-table widefat fixed posts glm-admin-table">
+                    <thead>
+                        <tr>
+                            <th> Member Name </th>
+                            {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
+                                <th style="width: 200px;"> Account Number </th>
+                            {/if}
+                            <th style="width: 200px;"> Payment Type </th>
+                            <th style="width: 100px;"> Balance Due </th>
+                        </tr>
+                    </thead>
+                    {foreach $accounts as $t}
+                        <tr>
+                            <td>
+                                <a href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}">
+                                    {$t.member_name}
+                                </a>
+                            </td>
+                            {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
+                                <td> {$t.account_number} </td>
+                            {/if}
+                            <td> {$t.payment_type} </td>
+                            <td>
+                                {if $t.balance_due == 'N/A'}
+                                    {$t.balance_due}
+                                {else}
+                                    {$t.balance_due|string_format:"%.2f"}
+                                {/if}
+                            </td>
+                        </tr>
                     {/foreach}
-                </select>
-                {if isset( $settings.quickbooks_enabled ) && $settings.quickbooks_enabled}
-                    <br />
-                    <label>
-                        <input type="checkbox" id="qif" name="qif" /> Export QIF File
-                    </label>
-                {/if}
+                </table>
             </div>
-            <div class="billing-search-form-submit">
-                <input id="report_search" type="submit" value="Search">
+        {/if}
+        {if isset( $transactions ) && !empty( $transactions )}
+            <div id="invoice-list">
+                <table class="wp-list-table widefat fixed posts glm-admin-table">
+                    <thead>
+                        <tr>
+                            <th> Transaction Time </th>
+                            <th> Type </th>
+                            <th> Member Name </th>
+                            <th> Description </th>
+                            <th> Amount </th>
+                        </tr>
+                    </thead>
+                    {foreach $transactions as $t}
+                        <tr>
+                            <td> {$t.transaction_time.datetime} </td>
+                            <td>
+                                {if $t.type == $tActionTypes.Invoice}
+                                    Invoice
+                                {else}
+                                    Payment
+                                {/if}
+                            </td>
+                            <td>
+                                <a href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.member_id}">
+                                    {$t.member_name}
+                                </a>
+                            </td>
+                            <td> {$t.notes} </td>
+                            <td>
+                                {if $t.type == 10}
+                                    {$t.current_invoice_total|string_format:"%.2f"}
+                                {else}
+                                    {$t.current_payment_total|string_format:"%.2f"}
+                                {/if}
+                            </td>
+                        </tr>
+                    {/foreach}
+                </table>
             </div>
+        {/if}
+        {* Paging *}
+        {if $paging}
+            <input type="submit" name="pageSelect" value="Previous {$limit} Reports" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
+            <input type="submit" name="pageSelect" value="Next {$limit} Reports" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
+        {/if}
+    </form>
+    {if $option == 'reportGenerator'}
+        <div class="report-totals">
+            <div class="total-invoices">Total Invoices: <span>{$totalInvoices}</span></div>
+            <div class="total-payments">Total Payments: <span>{$totalPayments}</span></div>
         </div>
     {/if}
-    {if $option == 'accountsByAge'}
-    <h3>over 60 days</h3>
-    {/if}
-    <br clear="all">
-    <br clear="all">
-    <p>Total found: {$totalAccounts}</p>
-    {* Paging *}
-    {if $paging}
-        <input type="Submit" name="pageSelect" value="Previous {$limit} Reports" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-        <input type="Submit" name="pageSelect" value="Next {$limit} Reports" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-    {/if}
-    <br clear="all">
-    {if isset( $accounts ) && !empty( $accounts )}
-        <div id="account-list">
-            <table class="wp-list-table widefat fixed posts glm-admin-table">
-                <thead>
-                    <tr>
-                        <th> Member Name </th>
-                        {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
-                            <th style="width: 200px;"> Account Number </th>
-                        {/if}
-                        <th style="width: 200px;"> Payment Type </th>
-                        <th style="width: 100px;"> Balance Due </th>
-                    </tr>
-                </thead>
-                {foreach $accounts as $t}
-                    <tr>
-                        <td>
-                            <a href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}">
-                                {$t.member_name}
-                            </a>
-                        </td>
-                        {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
-                            <td> {$t.account_number} </td>
-                        {/if}
-                        <td> {$t.payment_type} </td>
-                        <td>
-                            {if $t.balance_due == 'N/A'}
-                                {$t.balance_due}
-                            {else}
-                                {$t.balance_due|string_format:"%.2f"}
-                            {/if}
-                        </td>
-                    </tr>
-                {/foreach}
-            </table>
-        </div>
-    {/if}
-    {if isset( $transactions ) && !empty( $transactions )}
-        <div id="invoice-list">
-            <table class="wp-list-table widefat fixed posts glm-admin-table">
-                <thead>
-                    <tr>
-                        <th> Transaction Time </th>
-                        <th> Type </th>
-                        <th> Member Name </th>
-                        <th> Description </th>
-                        <th> Amount </th>
-                    </tr>
-                </thead>
-                {foreach $transactions as $t}
-                    <tr>
-                        <td> {$t.transaction_time.datetime} </td>
-                        <td>
-                            {if $t.type == $tActionTypes.Invoice}
-                                Invoice
-                            {else}
-                                Payment
-                            {/if}
-                        </td>
-                        <td>
-                            <a href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.member_id}">
-                                {$t.member_name}
-                            </a>
-                        </td>
-                        <td> {$t.notes} </td>
-                        <td>
-                            {if $t.type == 10}
-                                {$t.current_invoice_total|string_format:"%.2f"}
-                            {else}
-                                {$t.current_payment_total|string_format:"%.2f"}
-                            {/if}
-                        </td>
-                    </tr>
-                {/foreach}
-            </table>
-        </div>
-    {/if}
-    {* Paging *}
-    {if $paging}
-        <input type="submit" name="pageSelect" value="Previous {$limit} Reports" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
-        <input type="submit" name="pageSelect" value="Next {$limit} Reports" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-    {/if}
-</form>
-{if $option == 'reportGenerator'}
-    <div class="report-totals">
-        <div class="total-invoices">Total Invoices: <span>{$totalInvoices}</span></div>
-        <div class="total-payments">Total Payments: <span>{$totalPayments}</span></div>
-    </div>
-{/if}
 
-{include file='admin/billing/exportReportModal.html'}
+    {include file='admin/billing/exportReportModal.html'}
 
-<script>
-jQuery(document).ready(function($) {
-    // Date Input
-    $('.glm-date-input').datepicker({
-        dateFormat: 'mm/dd/yy'
-    });
+    <script>
+    jQuery(document).ready(function($) {
+        // Date Input
+        $('.glm-date-input').datepicker({
+            dateFormat: 'mm/dd/yy'
+        });
 
-    $('#report_search').on( 'click', function(e){
-        // e.preventDefault();
-        var formData = $('#reports-form select, input.reportForm').serialize();
-        console.log( 'Form Data:', formData );
-        // Check if the Export as CSV file was checked.
-        if ( $('#qif:checked').length ) {
-            console.log( 'exportCSV: ON' );
-            window.location = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=exportQIF&' + formData;
-            return false;
-        } else {
-            // return true;
-            $('#reportsForm').submit();
-        }
-    } );
+        $('#report_search').on( 'click', function(e){
+            // e.preventDefault();
+            var formData = $('#reports-form select, input.reportForm').serialize();
+            console.log( 'Form Data:', formData );
+            // Check if the Export as CSV file was checked.
+            if ( $('#qif:checked').length ) {
+                console.log( 'exportCSV: ON' );
+                window.location = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=exportQIF&' + formData;
+                return false;
+            } else {
+                // return true;
+                $('#reportsForm').submit();
+            }
+        } );
 
-    // Setup for the modal box
-    $('#exportReportDialog').dialog( {
-        autoOpen: false,
-        minWidth: 700,
-        dialogClass: 'glm-dialog-no-close'
-    } );
-    $('#exportReportsButton').click( function(){
-        $('#exportReportDialog').dialog( 'open' );
-    } );
-    $('#exportReportsCancel').click( function(){
-        $('#exportReportDialog').dialog( 'close' );
-    } );
-    $('#selectAllExportFields').click(function(){
-        $('.exportFieldsTd input[type="checkbox"]').each(function(){
-            $(this).prop('checked', true);
+        // Setup for the modal box
+        $('#exportReportDialog').dialog( {
+            autoOpen: false,
+            minWidth: 700,
+            dialogClass: 'glm-dialog-no-close'
+        } );
+        $('#exportReportsButton').click( function(){
+            $('#exportReportDialog').dialog( 'open' );
+        } );
+        $('#exportReportsCancel').click( function(){
+            $('#exportReportDialog').dialog( 'close' );
+        } );
+        $('#selectAllExportFields').click(function(){
+            $('.exportFieldsTd input[type="checkbox"]').each(function(){
+                $(this).prop('checked', true);
+            });
         });
-    });
-    $('#unselectAllExportFields').click(function(){
-        $('.exportFieldsTd input[type="checkbox"]').each(function(){
-            $(this).prop('checked', false);
+        $('#unselectAllExportFields').click(function(){
+            $('.exportFieldsTd input[type="checkbox"]').each(function(){
+                $(this).prop('checked', false);
+            });
         });
     });
-});
-</script>
+    </script>
+</div>
 {include file='admin/footer.html'}
index 3ef9678..f19c9b1 100644 (file)
@@ -1,8 +1,20 @@
-<h2 class="nav-tab-wrapper">
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=openAccounts" class="nav-tab{if $option==openAccounts} nav-tab-active{/if}">Open Accounts</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=closedAccounts" class="nav-tab{if $option==closedAccounts} nav-tab-active{/if}">Closed Accounts</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=accountsByAge" class="nav-tab{if $option==accountsByAge} nav-tab-active{/if}">Accounts By Age</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=reportGenerator" class="nav-tab{if $option==reportGenerator} nav-tab-active{/if}">Report Generator</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=noAccounts" class="nav-tab{if $option==noAccounts} nav-tab-active{/if}">No Accounts</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=allAccounts" class="nav-tab{if $option==allAccounts} nav-tab-active{/if}">All Accounts</a>
-</h2>
+<ul class="menu">
+    <li class="{if $option==openAccounts} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=openAccounts">Open Accounts</a>
+    </li>
+    <li class="{if $option==closedAccounts} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=closedAccounts">Closed Accounts</a>
+    </li>
+    <li class="{if $option==accountsByAge} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=accountsByAge">Accounts By Age</a>
+    </li>
+    <li class="{if $option==reportGenerator} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=reportGenerator">Report Generator</a>
+    </li>
+    <li class="{if $option==noAccounts} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=noAccounts">No Accounts</a>
+    </li>
+    <li class="{if $option==allAccounts} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=reports&option=allAccounts">All Accounts</a>
+    </li>
+</ul>
index dc68cc7..5ce5455 100644 (file)
@@ -1,6 +1,11 @@
-<h2 class="nav-tab-wrapper" style="margin-bottom: 1em;">
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices"
-        class="nav-tab{if $option == 'list'} nav-tab-active{/if}">Search Invoices</a>
-    <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices&option=add#tab-link-glm-member-db-billing-help-invoices-add"
-        class="nav-tab{if $option == 'add' || $option == 'edit'} nav-tab-active{/if}">Create Invoice</a>
-</h2>
+{* Invoices Sub Navigation *}
+<ul class="tabs" data-responsive-accordion-tabs="tabs" id="glm-invoices-tabs">
+    <li class="tabs-title{if $option == 'list'} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices"
+        {if $option == 'list'} aria-selected="true"{/if}>Search Invoices</a>
+    </li>
+    <li class="tabs-title{if $option == 'add' || $option == 'edit'} is-active{/if}">
+        <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoices&option=add"
+        {if $option == 'add' || $option == 'edit'} aria-selected="true"{/if}>Create Invoice</a>
+    </li>
+</ul>
diff --git a/views/admin/settings/billingAjax.html b/views/admin/settings/billingAjax.html
new file mode 100644 (file)
index 0000000..9f13de6
--- /dev/null
@@ -0,0 +1,23 @@
+<ul class="tabs" data-responsive-accordion-tabs="tabs" id="glm-settings-tabs">
+    <li class="tabs-title is-active"><a href="#panel1" aria-selected="true">Main Settings</a></li>
+    <li class="tabs-title"><a href="#panel2">Payment Types</a></li>
+    <li class="tabs-title"><a href="#panel3">Notifications</a></li>
+</ul>
+
+<div class="tabs-content" data-tabs-content="glm-settings-tabs">
+    <div class="tabs-panel is-active" id="panel1">
+        <p>Main Settings</p>
+    </div>
+    <div class="tabs-panel" id="panel2">
+        <p>Payment Types</p>
+    </div>
+    <div class="tabs-panel" id="panel3">
+        <p>Notifications</p>
+    </div>
+</div>
+
+<script>
+    jQuery(document).ready(function($){
+        var settings = new Foundation.ResponsiveAccordionTabs( $('#glm-settings-tabs') );
+    });
+</script>