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.
'field' => 'invoice_type',
'type' => 'integer',
'use' => 'a',
- 'required' => false,
+ 'required' => true,
),
// Anniversary Date
public $ajaxSide = true;
- public function __construct ($wpdb, $config)
+ public function __construct ( $wpdb, $config )
{
// Save WordPress Database object
--- /dev/null
+<?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 );
+ }
+
+
+}
$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) {
$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'];
$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'];
$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'];
$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'];
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) {
$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'];
*
* @return array Array containing status, suggested view, and any data
*/
- public function __construct ($wpdb, $config)
+ public function __construct ( $wpdb, $config )
{
// Save WordPress Database object
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 );
} 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':
// 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 );
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;
*/
public $settings = array();
+ public $ajaxSide = false;
/**
* Constructor
*
*
* @return array Array containing status, suggested view, and any data
*/
- public function __construct ($wpdb, $config)
+ public function __construct ( $wpdb, $config )
{
// Save WordPress Database object
$this->config = $config;
// Run constructor for members data class
- parent::__construct(false, false);
+ parent::__construct( $this->wpdb, $this->config );
}
$member_types_free_selected = array();
}
+ $view = 'billing';
+ if ( $this->ajaxSide ) {
+ $view = 'billingAjax';
+ }
+
// Compile template data
$template_data = array(
'action' => $_REQUEST['glm_action'],
'status' => true,
'menuItemRedirect' => false,
'modelRedirect' => false,
- 'view' => 'admin/settings/billing.html',
+ 'view' => 'admin/settings/' . $view . '.html',
'data' => $template_data
);
'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,
<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: </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>
{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>
<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> |
</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">×</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">×</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">×</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">×</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'}
<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>
$(".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' );
};
});
</script>
-
-{include file='admin/footer.html'}
{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">
-
- </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:
- <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:
+ <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($){
{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'}
<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>
<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>
<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>
<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="">
{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'}
{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: </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 #: </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: </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 #: </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>
<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'}
{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'}
-<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>
--- /dev/null
+{* 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">×</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>
--- /dev/null
+{* Make Payment *}
+
+<button class="close-button" data-close aria-label="Close" type="button">
+ <span aria-hidden="true">×</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>
{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: </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: </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'}
{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'}
-<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>
-<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>
--- /dev/null
+<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>