--- /dev/null
+<?php
+
+/**
+ * Gaslight Media Members Database
+ * Admin InvoiceTypes List
+ *
+ * PHP version 5.5
+ *
+ * @category glmWordPressPlugin
+ * @package glmMembersDatabase
+ * @author Chuck Scott <cscott@gaslightmedia.com>
+ * @license http://www.gaslightmedia.com Gaslightmedia
+ * @version 0.1
+ */
+
+// Load Member Types data abstract
+require_once GLM_MEMBERS_BILLING_PLUGIN_CLASS_PATH.'/data/dataInvoiceTypes.php';
+require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMemberTypes.php';
+
+/*
+ * This class performs the work for the default action of the "Members" menu
+ * option, which is to display the members dashboard.
+ *
+ */
+class GlmMembersAdmin_billing_invoiceTypes extends GlmDataInvoiceTypes
+{
+
+ /**
+ * WordPress Database Object
+ *
+ * @var $wpdb
+ * @access public
+ */
+ public $wpdb;
+ /**
+ * Plugin Configuration Data
+ *
+ * @var $config
+ * @access public
+ */
+ public $config;
+
+ /*
+ * Constructor
+ *
+ * This contructor sets up this model. At this time that only includes
+ * storing away the WordPress data object.
+ *
+ * @return object Class object
+ *
+ */
+ 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(false, false);
+
+ }
+
+ /*
+ * Perform Model Action
+ *
+ * This method does the work for this model and returns any resulting data
+ *
+ * @return array Status and data array
+ *
+ * 'status'
+ *
+ * True if successfull and false if there was a fatal failure.
+ *
+ * 'menuItemRedirect'
+ *
+ * If not false, provides a menu item the controller should
+ * execute after this one. Normally if this is used, there would also be a
+ * modelRedirect value supplied as well.
+ *
+ * 'modelRedirect'
+ *
+ * If not false, provides an action the controller should execute after
+ * this one.
+ *
+ * 'view'
+ *
+ * A suggested view name that the contoller should use instead of the
+ * default view for this model or false to indicate that the default view
+ * should be used.
+ *
+ * 'data'
+ *
+ * Data that the model is returning for use in merging with the view to
+ * produce output.
+ *
+ */
+ public function modelAction ($actionData = false)
+ {
+
+ $success = true;
+ $haveInvoiceTypes = false;
+ $invoiceTypes = false;
+ $error = false;
+ $enable_members = $this->config['settings']['enable_members'];
+ $memberTypes = 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' );
+
+ // Check for region id
+ $id = 0;
+ if (isset($_REQUEST['id'])) {
+ $id = $_REQUEST['id']-0;
+ }
+
+ // echo '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
+
+ // If there's an action option
+ if (isset($_REQUEST['option'])) {
+
+ switch($_REQUEST['option']) {
+
+ case 'addNew':
+ $this->insertEntry();
+ break;
+
+ case 'update':
+ if ($id > 0) {
+ $this->updateEntry($id);
+ }
+ break;
+
+ case 'delete':
+ if ($id > 0) {
+ $this->deleteEntry($id, true);
+ }
+ break;
+
+ }
+
+ }
+
+ // Get a current list of members
+ $invoiceTypes = $this->getList();
+
+ // echo '<pre>$invoiceTypes: ' . print_r( $invoiceTypes, true ) . '</pre>';
+
+ // If we have list entries - even if it's an empty list
+ $success = true;
+ $haveInvoiceTypes = false;
+ if ($invoiceTypes !== false) {
+
+ $success = true;
+
+ // If we have any entries
+ if (count($invoiceTypes) > 0) {
+ $haveInvoiceTypes = true;
+ }
+ }
+
+ // Sort results by higherarchy (Parent/Child and Alpha)
+ $invoiceTypes = $this->sortParentChild($invoiceTypes);
+ // echo '<pre>$invoiceTypes: ' . print_r( $invoiceTypes, true ) . '</pre>';
+
+ // Get list of Member Types
+ $MemberType = new GlmDataMemberTypes( $this->wpdb, $this->config );
+ $memberTypes = $MemberType->getList();
+ // echo '<pre>$memberTypes: ' . print_r( $memberTypes, true ) . '</pre>';
+
+
+ // If we had a fatal error, redirect to the error page
+ if ($error) {
+ return array(
+ 'status' => $success,
+ 'menuItemRedirect' => 'error',
+ 'modelRedirect' => 'index',
+ 'view' => 'admin/error/index.html',
+ 'data' => false
+ );
+ }
+
+
+
+ // Compile template data
+ $templateData = array(
+ 'action' => $_REQUEST['glm_action'],
+ 'enable_members' => $enable_members,
+ 'haveInvoiceTypes' => $haveInvoiceTypes,
+ 'invoiceTypes' => $invoiceTypes,
+ 'recurrenceTypes' => $this->config['recurrence'],
+ 'memberTypes' => $memberTypes,
+ );
+
+ // Return status, suggested view, and data to controller
+ return array(
+ 'status' => $success,
+ 'menuItemRedirect' => false,
+ 'modelRedirect' => false,
+ 'view' => 'admin/billing/invoiceTypes.html',
+ 'data' => $templateData
+ );
+
+ }
+
+
+}
--- /dev/null
+<?php
+
+/**
+ * Gaslight Media Members Database
+ * Admin NotificationTypes List
+ *
+ * PHP version 5.5
+ *
+ * @category glmWordPressPlugin
+ * @package glmMembersDatabase
+ * @author Chuck Scott <cscott@gaslightmedia.com>
+ * @license http://www.gaslightmedia.com Gaslightmedia
+ * @version 0.1
+ */
+
+// Load Member Types data abstract
+require_once GLM_MEMBERS_BILLING_PLUGIN_CLASS_PATH.'/data/dataNotificationTypes.php';
+
+/*
+ * This class performs the work for the default action of the "Members" menu
+ * option, which is to display the members dashboard.
+ *
+ */
+class GlmMembersAdmin_billing_notifications extends GlmDataNotificationTypes
+{
+
+ /**
+ * WordPress Database Object
+ *
+ * @var $wpdb
+ * @access public
+ */
+ public $wpdb;
+ /**
+ * Plugin Configuration Data
+ *
+ * @var $config
+ * @access public
+ */
+ public $config;
+
+ /*
+ * Constructor
+ *
+ * This contructor sets up this model. At this time that only includes
+ * storing away the WordPress data object.
+ *
+ * @return object Class object
+ *
+ */
+ 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(false, false);
+
+ }
+
+ /*
+ * Perform Model Action
+ *
+ * This method does the work for this model and returns any resulting data
+ *
+ * @return array Status and data array
+ *
+ * 'status'
+ *
+ * True if successfull and false if there was a fatal failure.
+ *
+ * 'menuItemRedirect'
+ *
+ * If not false, provides a menu item the controller should
+ * execute after this one. Normally if this is used, there would also be a
+ * modelRedirect value supplied as well.
+ *
+ * 'modelRedirect'
+ *
+ * If not false, provides an action the controller should execute after
+ * this one.
+ *
+ * 'view'
+ *
+ * A suggested view name that the contoller should use instead of the
+ * default view for this model or false to indicate that the default view
+ * should be used.
+ *
+ * 'data'
+ *
+ * Data that the model is returning for use in merging with the view to
+ * produce output.
+ *
+ */
+ public function modelAction ($actionData = false)
+ {
+
+ $id = 0;
+ $option = 'list';
+ $view = 'notifications';
+ $success = true;
+ $notificationUpdated = false;
+ $notificationUpdateError = false;
+ $notificationAdded = false;
+ $notificationInsertError = false;
+ $haveNotificationTypes = false;
+ $notificationTypes = false;
+ $notification = false;
+ $error = false;
+ $enable_members = $this->config['settings']['enable_members'];
+
+ // 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 for region id
+ $id = 0;
+ if (isset($_REQUEST['id'])) {
+ $id = $_REQUEST['id']-0;
+ }
+
+ // need to setup the fields for send_by_(date/action)
+ if ( isset( $_REQUEST['send_by'] ) ) {
+ switch ( $_REQUEST['send_by'] ) {
+ case 'date':
+ $_REQUEST['send_by_date'] = true;
+ $_REQUEST['send_by_action'] = false;
+ break;
+ case 'action':
+ $_REQUEST['send_by_action'] = true;
+ $_REQUEST['send_by_date'] = false;
+ break;
+ default:
+ $_REQUEST['send_by_action'] = false;
+ $_REQUEST['send_by_date'] = false;
+ break;
+ }
+ }
+
+ // Get any provided option
+ if (isset($_REQUEST['option'])) {
+ $option = $_REQUEST['option'];
+ }
+
+ switch( $option ) {
+
+ case 'add':
+ /**
+ * add:
+ *
+ * This calls the dataAbstract newEntry method and sets up the
+ * edit for for creating a new notification_type.
+ */
+ $notification = $this->newEntry();
+ $view = 'editNotificationType';
+ break;
+
+ case 'insert':
+ /**
+ * insert:
+ *
+ * Calls the insertEntry method that stores the actual data for the data abstract class.
+ */
+ $view = 'editNotificationType';
+ $notification = $this->insertEntry();
+ if ( $notification['status'] ) {
+ $notificationAdded = true;
+ $id = $notification['fieldData']['id'];
+ $notification = $this->editEntry( $id );
+ } else {
+ $notificationInsertError = true;
+ }
+ break;
+
+ case 'edit':
+ /**
+ * edit:
+ *
+ * Calls the editEntry method to setup the edit form for this record by id.
+ */
+ $notification = $this->editEntry( $id );
+ $view = 'editNotificationType';
+ break;
+
+ case 'update':
+ /**
+ * update:
+ *
+ * Calls the updateEntry method for the data abstract to save the edit data.
+ */
+ if ($id > 0) {
+ $notification = $this->updateEntry($id);
+ if ( $notification['status'] ) {
+ $notificationUpdated = true;
+ $notification = $this->editEntry( $id );
+ } else {
+ $notificationUpdateError = true;
+ }
+ $view = 'editNotificationType';
+ }
+
+ break;
+
+ case 'delete':
+ /**
+ * delete:
+ *
+ * Calls the delete entry method of the dataabstract class.
+ * To delete the given entry by id.
+ */
+ if ($id > 0) {
+ $this->deleteEntry($id, true);
+ }
+ case 'list':
+ default:
+ // Get a current list of members
+ $notificationTypes = $this->getList();
+ break;
+ }
+
+
+ // If we have list entries - even if it's an empty list
+ $success = true;
+ $haveNotificationTypes = false;
+ if ($notificationTypes !== false) {
+
+ $success = true;
+
+ // If we have any entries
+ if (count($notificationTypes) > 0) {
+ $haveNotificationTypes = true;
+ }
+ }
+
+ // If we had a fatal error, redirect to the error page
+ if ($error) {
+ return array(
+ 'status' => $success,
+ 'menuItemRedirect' => 'error',
+ 'modelRedirect' => 'index',
+ 'view' => 'admin/error/index.html',
+ 'data' => false
+ );
+ }
+ $mergeTagsBilling = array(
+ 'Name of Account', '{$account.name}',
+ 'Billing First Name', '{$account.fname}',
+ 'Billing Last Name', '{$account.lname}',
+ 'Billing Address Line 1', '{$account.addr1}',
+ 'Billing Address Line 2', '{$account.addr2}',
+ 'Billing City', '{$account.city}',
+ 'Billing State', '{$account.state}',
+ 'Billing Zip', '{$account.zip}',
+ 'Billing Email', '{$account.email}',
+ 'Billing Phone', '{$account.phone}',
+ 'Billing Company', '{$account.company}',
+ 'Billing Position', '{$account.position}',
+ 'Renewal Date', '{$account.renewal_date}',
+ 'Current Due Amount', '{$account.current_due}',
+ );
+ $mergeTagsInvoice = array(
+ 'Invoice Amount', '{$data.amount}',
+ );
+ $mergeTagsPayment = array(
+ 'Payment Amount', '{$data.payment}',
+ );
+ $mergeTagsContact = array(
+ 'Contact First Name', '{$contact.fname}',
+ 'Contact Last Name', '{$contact.lname}',
+ 'Contact Address Line 1', '{$contact.addr1}',
+ 'Contact Address Line 2', '{$contact.addr2}',
+ 'Contact City', '{$contact.city}',
+ 'Contact State', '{$contact.state}',
+ 'Contact Zip', '{$contact.zip}',
+ 'Contact Company', '{$contact.company}',
+ 'Contact Position', '{$contact.position}',
+ 'Contact Email', '{$contact.email}',
+ 'Contact Office Phone', '{$contact.office_phone}',
+ 'Contact Mobile Phone', '{$contact.mobile_phone}',
+ );
+ // Compile template data
+ $templateData = array(
+ 'notification_id' => $id,
+ 'action' => $_REQUEST['glm_action'],
+ 'enable_members' => $enable_members,
+ 'haveNotificationTypes' => $haveNotificationTypes,
+ 'notificationTypes' => $notificationTypes,
+ 'notification' => $notification,
+ 'notificationUpdated' => $notificationUpdated,
+ 'notificationUpdateError' => $notificationUpdateError,
+ 'notificationAdded' => $notificationAdded,
+ 'notificationInsertError' => $notificationInsertError,
+ 'send_date_period' => $this->config['send_date_period'],
+ 'send_date_when' => $this->config['send_date_when'],
+ 'send_action' => $this->config['send_action'],
+ 'mergeTagsBilling' => $mergeTagsBilling,
+ 'mergeTagsInvoice' => $mergeTagsInvoice,
+ 'mergeTagsPayment' => $mergeTagsPayment,
+ 'mergeTagsContact' => $mergeTagsContact,
+ );
+
+ // Return status, suggested view, and data to controller
+ return array(
+ 'status' => $success,
+ 'menuItemRedirect' => false,
+ 'modelRedirect' => false,
+ 'view' => 'admin/billing/' . $view . '.html',
+ 'data' => $templateData
+ );
+
+ }
+
+
+}
'notificationTypes' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
),
'billing' => array(
- 'index' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'list' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'invoices' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'payments' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'accounts' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'invoicing' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'reports' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'logs' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'contact' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
- 'settings' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'index' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'list' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'invoices' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'payments' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'accounts' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'invoicing' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'reports' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'logs' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'contact' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'settings' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'invoiceTypes' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
+ 'notifications' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
),
'member' => array(
'billing' => GLM_MEMBERS_BILLING_PLUGIN_SLUG,
{include file='admin/billing/header.html'}
-<div class="callout large">
+<div class="callout">
- <h2 class="subheader">Accounts</h2>
+ <h3 class="subheader">Accounts</h3>
<div id="exportAccountsButton" class="button secondary">Accounts Export</div>
{foreach $accounts as $t}
<tr class="glm-account-row{if $t@iteration is div by 2} alternate{/if}" data-id="{$t.id}">
<td> {$t.id} </td>
- <td> <a class="account-link" id="account-ref-dest-{$t.id}" href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}"><b>{$t.ref_name}</b></a> </td>
+ <td> <a class="account-link" id="account-ref-dest-{$t.id}" href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}" target="_blank"><b>{$t.ref_name}</b></a> </td>
{if $settings.allow_employees}
<td> {if $t.boss.value}Yes{/if} </td>
{/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> |
+ <a class="account-member-dashboard" data-member="{$t.ref_dest}" href="{$adminUrl}?page=glm-members-admin-menu-member&member={$t.ref_dest}" target="_blank">Member Dashboard</a> |
</span>
<span class="account-dashboard-link">
<a class="account-member-statements" data-member="{$t.ref_dest}" href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}">View Statements</a> |
{include file='admin/billing/header.html'}
-<div class="callout large">
+<div class="callout">
{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}
--- /dev/null
+<style>
+.merge-tags table caption {
+ font-weight: bold;
+}
+</style>
+
+{include file='admin/billing/header.html'}
+
+<div class="callout">
+
+ {* Set $data to $notification *}
+ {* This is for using the UI elements *}
+ {$data = $notification}
+
+ {* Notification Updated *}
+ {if $notificationUpdated}
+ <div class="success callout" data-closable>
+ <button class="close-button" aria-label="Close alert" type="button" data-close>
+ <span aria-hidden="true">×</span>
+ </button>
+ <p><i class="fi-alert"></i> Notification Updated</p>
+ </div>
+ {/if}
+ {* Notification Added *}
+ {if $notificationAdded}
+ <div class="success callout" data-closable>
+ <button class="close-button" aria-label="Close alert" type="button" data-close>
+ <span aria-hidden="true">×</span>
+ </button>
+ <p><i class="fi-alert"></i> Notification Added</p>
+ </div>
+ {/if}
+ {* Notification Update Error *}
+ {if $notificationUpdateError}
+ <div class="alert callout" data-closable>
+ <button class="close-button" aria-label="Close alert" type="button" data-close>
+ <span aria-hidden="true">×</span>
+ </button>
+ <p><i class="fi-alert"></i> Notification Update Error</p>
+ </div>
+ {/if}
+ {* Notification Insert Error *}
+ {if $notificationInsertError}
+ <div class="alert callout" data-closable>
+ <button class="close-button" aria-label="Close alert" type="button" data-close>
+ <span aria-hidden="true">×</span>
+ </button>
+ <p><i class="fi-alert"></i> Notification Insert Error</p>
+ </div>
+ {/if}
+
+ <form action="{$thisUrl}?page={$thisPage}&glm_action=notifications" method="post" data-abide novalidate>
+ {if $notification_id}
+ <input type="hidden" name="option" value="update">
+ <input type="hidden" name="id" value="{$notification_id}">
+ {else}
+ <input type="hidden" name="option" value="insert">
+ {/if}
+
+ <fieldset class="fieldset">
+ <legend>Notification</legend>
+
+ <div class="grid-container">
+
+ {* Name *}
+ {$ui = [
+ 'value' => $data.fieldData.name,
+ 'field' => 'name',
+ 'label' => 'Name',
+ 'required' => $data.fieldRequired.name,
+ 'errorText' => 'Name is Required',
+ 'dataError' => $data.fieldFail.name
+ ]}
+ {include file='ui/f6/text.html'}
+
+ <div class="grid-x grid-margin-x">
+ <div class="cell small-12">
+ <span class="label">Send Notification based on</span>
+ </div>
+ </div>
+
+ <div class="grid-x grid-margin-x">
+ <div class="cell small-12">
+ <div class="grid-x grid-margin-x">
+ <div class="cell small-12 medium-3">
+ <label>Renewal Date</label>
+ <div class="switch">
+ <input class="switch-input" type="radio" id="send_by1" name="send_by" value="date" required{if $notification.fieldData.send_by_date.value} checked{/if}>
+ <label class="switch-paddle" for="send_by1"><span class="show-for-sr">Date</span></label>
+ </div>
+ </div>
+ <div class="cell small-12 medium-3">
+ {* Number *}
+ {$ui = [
+ 'value' => $data.fieldData.send_date_number,
+ 'field' => 'send_date_number',
+ 'label' => 'Number',
+ 'pattern' => 'number',
+ 'required' => $data.fieldRequired.send_date_number,
+ 'errorText' => 'Number is Required to be numeric',
+ 'dataError' => $data.fieldFail.send_date_number
+ ]}
+ {include file='ui/f6/text.html'}
+ </div>
+ <div class="cell small-12 medium-2">
+ {* Period *}
+ {$ui = [
+ 'value' => $data.fieldData.send_date_period,
+ 'field' => 'send_date_period',
+ 'label' => 'Period',
+ 'list' => $send_date_period,
+ 'l_blank' => false,
+ 'required' => $data.fieldRequired.send_date_period,
+ 'errorText' => 'Period is Required',
+ 'dataError' => $data.fieldFail.send_date_period
+ ]}
+ {include file='ui/f6/select.html'}
+ </div>
+ <div class="cell small-12 medium-2">
+ {* When *}
+ {$ui = [
+ 'value' => $data.fieldData.send_date_when,
+ 'field' => 'send_date_when',
+ 'label' => 'When',
+ 'list' => $send_date_when,
+ 'l_blank' => false,
+ 'required' => $data.fieldRequired.send_date_when,
+ 'errorText' => 'When is Required',
+ 'dataError' => $data.fieldFail.send_date_when
+ ]}
+ {include file='ui/f6/select.html'}
+ </div>
+ </div>
+ </div>
+ <div class="cell small-12">
+ <div class="grid-x grid-margin-x">
+ <div class="cell small-12 medium-3">
+ <label>Immediate Action</label>
+ <div class="switch">
+ <input class="switch-input" type="radio" id="send_by2" name="send_by" value="action" required{if $notification.fieldData.send_by_action.value} checked{/if}>
+ <label class="switch-paddle" for="send_by2"><span class="show-for-sr">Action</span></label>
+ </div>
+ </div>
+ <div class="cell small-12 medium-4">
+
+ {* Send Action *}
+ {$ui = [
+ 'value' => $data.fieldData.send_action,
+ 'field' => 'send_action',
+ 'label' => 'Send Action',
+ 'list' => $send_action,
+ 'l_blank' => false,
+ 'required' => $data.fieldRequired.send_action,
+ 'errorText' => 'Send Action is Required',
+ 'dataError' => $data.fieldFail.send_action
+ ]}
+ {include file='ui/f6/select.html'}
+
+ </div>
+ </div>
+ </div>
+ </div>
+
+ {* To Email *}
+ {$ui = [
+ 'value' => $data.fieldData.to_email,
+ 'field' => 'to_email',
+ 'label' => 'To Email',
+ 'pattern' => 'email',
+ 'required' => $data.fieldRequired.to_email,
+ 'errorText' => 'To Email is Required to be valid email',
+ 'helpText' => '<span class="label">Leave this field blank to send notice to proper {$account.email} address</span>',
+ 'dataError' => $data.fieldFail.to_email
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Subject *}
+ {$ui = [
+ 'value' => $data.fieldData.subject,
+ 'field' => 'subject',
+ 'label' => 'Subject',
+ 'required' => $data.fieldRequired.subject,
+ 'errorText' => 'Subject is Required',
+ 'dataError' => $data.fieldFail.subject
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* From *}
+ {$ui = [
+ 'value' => $data.fieldData.from_header,
+ 'field' => 'from_header',
+ 'label' => 'From',
+ 'pattern' => 'email',
+ 'required' => $data.fieldRequired.from_header,
+ 'errorText' => 'From is Required to be valid email',
+ 'dataError' => $data.fieldFail.from_header
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Reply To *}
+ {$ui = [
+ 'value' => $data.fieldData.replyto,
+ 'field' => 'replyto',
+ 'label' => 'Reply To',
+ 'required' => $data.fieldRequired.replyto,
+ 'errorText' => 'Reply To is Required',
+ 'dataError' => $data.fieldFail.replyto
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Message *}
+ {$ui = [
+ 'value' => $data.fieldData.message,
+ 'field' => 'message',
+ 'label' => 'Message',
+ 'height' => '250',
+ 'required' => $data.fieldRequired.message,
+ 'errortext' => 'Message is Required',
+ 'dataError' => $data.fieldFail.message
+ ]}
+ {include file='ui/f6/editor.html'}
+
+ <div class="grid-x grid-margin-x">
+ <div class="cell small-12 medium-7">
+
+ <h4>Merge Tags</h4>
+ <p>The "merge tags" listed below may be used in the E-Mail message content
+ to include certain information about the Account or Invoice. Be sure to
+ include the "{literal}{{/literal}" and "{literal}}{/literal}" and "$" characters exactly as show.</p>
+
+ {html_table loop=$mergeTagsBilling cols=2 table_attr='border=0 width=400' caption='Billing Examples'}
+
+ {html_table loop=$mergeTagsContact cols=2 table_attr='border=0 width=400' caption='Contact Examples'}
+
+ {html_table loop=$mergeTagsInvoice cols=2 table_attr='border=0 width=400' caption='Only available using Immediate Action - Create Invoice'}
+
+ {html_table loop=$mergeTagsPayment cols=2 table_attr='border=0 width=400' caption='Only available using Immediate Action - Received Payment'}
+
+ </div>
+ </div>
+
+ <input class="button primary" type="submit" value="{if $notification_id}Update{else}Add{/if} Notification Type">
+
+ </div>
+
+ </fieldset>
+
+ </form>
+
+</div>
+
+<script>
+jQuery(document).ready(function($){
+
+ // 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/footer.html'}
{include file='admin/billing/header.html'}
-<div class="callout large">
+<div class="callout">
{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}
<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 unsriped">
+ <table class="glm-admin-table unstriped">
<tr>
<th>Payment Types</th>
<td>
<li class="tabs-title{if $thisAction==settings} is-active{/if}">
<a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=settings">Settings</a>
</li>
+ <li class="tabs-title{if $thisAction==invoiceTypes} is-active{/if}">
+ <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=invoiceTypes">Invoice Types</a>
+ </li>
+ <li class="tabs-title{if $thisAction==notifications} is-active{/if}">
+ <a href="{$thisUrl}?page=glm-members-admin-menu-billing&glm_action=notifications">Notifications</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}
-<div class="callout large">
+<div class="callout">
+
+ <h3 class="subheader">Accounts</h3>
- <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>
{if $list.number > 0}
{foreach $list.data.list as $t}
<tr class="glm-account-row{if $t@iteration is div by 2} alternate{/if}" data-id="{$t.id}">
- <td> <a class="account-link" id="account-ref-dest-{$t.id}" href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}">{$t.ref_name}</a> </td>
+ <td> <a class="account-link" id="account-ref-dest-{$t.id}" href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}" target="_blank">{$t.ref_name}</a> </td>
<td> {$t.email} </td>
<td> {$t.anniversary_date.date} </td>
<td> {$t.renewal_date.date} </td>
<tr id="account-container-{$t.id}" class="glm-account-links glm-hidden{if $t@iteration is div by 2} alternate{/if}">
<td colspan="4">
<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> |
+ <a class="account-member-dashboard" data-member="{$t.ref_dest}" href="{$adminUrl}?page=glm-members-admin-menu-member&member={$t.ref_dest}" target="_blank">Member Dashboard</a> |
</span>
<span class="account-dashboard-link">
<a class="account-member-statements" data-member="{$t.ref_dest}" href="{$adminUrl}?page=glm-members-admin-menu-member&glm_action=billing&member={$t.ref_dest}">View Statements</a> |
width: auto !important;
}
</style>
-<table id="container-table" width="600" cellspacing="0" cellpadding="0">
+<table id="container-table" width="600" cellspacing="0" cellpadding="0" class="unstriped">
<tr>
<td>{if $settings.company_logo}<img src="{$glmPluginMediaUrl}/images/medium/{$settings.company_logo}">{/if}</td>
<td width="160" align="right">
--- /dev/null
+{include file='admin/billing/header.html'}
+
+<div class="callout">
+
+ <h3 class="subheader">InvoiceTypes</h3>
+
+ {* Add InvoiceTypes Button and Dialog Box *}
+ <div id="newInvoiceTypeButton" class="button primary">Add a Invoice Type</div>
+ <div id="newInvoiceTypeDialog" class="glm-dialog-box" title="Enter a New InvoiceType">
+ <form action="{$thisUrl}?page={$thisPage}&glm_action=invoiceTypes" method="post" enctype="multipart/form-data">
+ <input type="hidden" name="glm_action" value="invoiceTypes">
+ <input type="hidden" name="option" value="addNew">
+ <table class="stack unstriped">
+ <tr>
+ <th class="glm-required" style="text-align: right;">Invoice Type Name</th>
+ <td>
+ <input type="text" name="name" class="glm-form-text-input" required>
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required" style="text-align: right;">Parent</th>
+ <td>
+ <select name="parent">
+ <option value="0">(none)</option>
+ {if $haveInvoiceTypes}
+ {foreach $invoiceTypes as $t}
+ {if !$t.parent.value} <!-- don't show child categories -->
+ <option value="{$t.id}">{$t.name}</option>
+ {/if}
+ {/foreach}
+ {/if}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Member Type</th>
+ <td>
+ <select name="member_type">
+ <option value="0">(none)</option>
+ {if $memberTypes}
+ {foreach $memberTypes as $type}
+ <option value="{$type.id}">{$type.name}</option>
+ {/foreach}
+ {/if}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required" style="text-align: right;">Amount:Numbers only<br> (999.99)</th>
+ <td>
+ <input type="text" name="amount" class="glm-form-text-input" required>
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Dynamic Amount:</th>
+ <td>
+ <input type="hidden" name="dynamic_amount" class="glm-form-text-input" value="0">
+ <input type="checkbox" name="dynamic_amount" class="glm-form-text-input" value="1">
+ Ask for the amount on Invoice Forms
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Recurring:</th>
+ <td>
+ <input type="hidden" name="recurring" class="glm-form-text-input" value="0">
+ <input type="checkbox" name="recurring" class="glm-form-text-input" value="1">
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Recurrence:</th>
+ <td>
+ <select name="recurrence">
+ <option value="">(none)</option>
+ {foreach $recurrenceTypes as $typeId => $typeLabel}
+ <option value="{$typeId}">{$typeLabel}</option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Code:</th>
+ <td>
+ <input type="text" name="qcode" class="glm-form-text-input">
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Category:</th>
+ <td>
+ <input type="text" name="category" class="glm-form-text-input">
+ </td>
+ </tr>
+ </table>
+ <p><span class="glm-required">*</span> Required</p>
+ <a id="newInvoiceTypeCancel" class="button button-primary glm-right">Cancel</a>
+ <input type="submit" value="Add new Invoice Type" class="button button-primary">
+ </form>
+ </div>
+
+ {* Add InvoiceTypes Button *}
+ <div id="deleteInvoiceTypeDialog" class="glm-dialog-box" title="Delete InvoiceType">
+ <div style="text-align: center;">
+ <p>Are you sure you want to delete this invoice Type?</p>
+ <p><div id="deleteInvoiceTypeConfirm" class="button button-primary">Yes, delete this invoice Type</div></p>
+ <p><div id="deleteInvoiceTypeCancel" class="button button-primary">Cancel</div></p>
+ </div>
+ </div>
+
+ {* Edit InvoiceTypes Dialog Box *}
+ <div id="editInvoiceTypeDialog" class="glm-dialog-box" title="Edit this InvoiceType">
+ <form action="{$thisUrl}?page={$thisPage}&glm_action=invoiceTypes" method="post" enctype="multipart/form-data">
+ <input type="hidden" name="glm_action" value="invoiceTypes">
+ <input type="hidden" name="option" value="update">
+ <input id="edit-id" type="hidden" name="id" value="">
+ <table class="stack unstriped">
+ <tr>
+ <th style="text-align: right;" class="glm-required">Invoice Type Name:</th>
+ <td>
+ <input id="edit-name" type="text" name="name" class="glm-form-text-input" required>
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;" class="glm-required">Parent:</th>
+ <td>
+ <select id="edit-parent" name="parent">
+ <option value="0">(none)</option>
+ {if $haveInvoiceTypes}
+ {foreach $invoiceTypes as $t}
+ {if !$t.parent.value} <!-- don't show child categories -->
+ <option value="{$t.id}">{$t.name}</option>
+ {/if}
+ {/foreach}
+ {/if}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Member Type</th>
+ <td>
+ <select id="edit-member_type" name="member_type">
+ <option value="0">(none)</option>
+ {if $memberTypes}
+ {foreach $memberTypes as $type}
+ <option value="{$type.id}">{$type.name}</option>
+ {/foreach}
+ {/if}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;" class="glm-required">Amount:Numbers only<br> (999.99)</th>
+ <td>
+ <input id="edit-amount" type="text" name="amount" class="glm-form-text-input" required>
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Dynamic Amount:</th>
+ <td>
+ <input type="hidden" name="dynamic_amount" class="glm-form-text-input" value="0">
+ <input id="edit-dynamic-amount" type="checkbox" name="dynamic_amount" class="glm-form-text-input" value="1">
+ Ask for the amount on Invoice Forms
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Recurring:</th>
+ <td>
+ <input type="hidden" name="recurring" class="glm-form-text-input" value="0">
+ <input id="edit-recurring" type="checkbox" name="recurring" class="glm-form-text-input" value="1">
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Recurrence:</th>
+ <td>
+ <select id="edit-recurrence" name="recurrence">
+ <option value="">(none)</option>
+ {foreach $recurrenceTypes as $typeId => $typeLabel}
+ <option value="{$typeId}">{$typeLabel}</option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Code:</th>
+ <td>
+ <input id="edit-qcode" type="text" name="qcode" class="glm-form-text-input">
+ </td>
+ </tr>
+ <tr>
+ <th style="text-align: right;">Category:</th>
+ <td>
+ <input id="edit-category" type="text" name="category" class="glm-form-text-input">
+ </td>
+ </tr>
+ </table>
+ <p><span class="glm-required">*</span> Required</p>
+ <a id="editInvoiceTypeCancel" class="button button-primary glm-right">Cancel</a>
+ <input type="submit" value="Update this Invoice Type" class="button button-primary">
+ </form>
+ </div>
+
+
+ <table class="stack hover">
+ <thead>
+ <tr>
+ <th style="width: 50px;">ID</th>
+ <th style="width: 850px;">InvoiceType</th>
+ <th>Amount</th>
+ <th>Dynamic Amount</th>
+ <th>Recurring</th>
+ <th>Recurrence</th>
+ <th> </th>
+ </tr>
+ </thead>
+ <tbody>
+ {if $haveInvoiceTypes}
+ {assign var="i" value="0"}
+ {foreach $invoiceTypes as $t}
+ {if $i++ is odd by 1}
+ <tr>
+ {else}
+ <tr class="alternate">
+ {/if}
+ <td>{$t.id}</td>
+ <td>
+ <div{if $t.parent.value} class="glm-indent"{/if}>
+ <a class="editInvoiceType"
+ data-invoice-id="{$t.id}"
+ data-invoice-name="{$t.name|escape}"
+ data-invoice-parent="{$t.parent.value}"
+ data-invoice-member_type="{$t.member_type.value}"
+ data-invoice-amount="{$t.amount}"
+ data-invoice-dynamic-amount="{$t.dynamic_amount.value}"
+ data-invoice-recurring="{$t.recurring.value}"
+ data-invoice-recurrence="{$t.recurrence}"
+ data-invoice-qcode="{$t.qcode}"
+ data-invoice-category="{$t.category|escape}">{$t.name}</a>
+ </div>
+ </td>
+ <td>{$t.amount}</td>
+ <td>{if $t.dynamic_amount.value}Yes{else}No{/if}</td>
+ <td>{if $t.recurring.value}Yes{else}No{/if}</td>
+ <td>{if $t.recurrence}{$recurrenceTypes[$t.recurrence]}{/if}</td>
+ <td>
+ <div class="deleteInvoiceTypeButton button button-secondary glm-button-small glm-right"
+ data-invoiceTypeID="{$t.id}">Delete</div>
+ </td>
+ </tr>
+ {/foreach}
+ {else}
+ <tr class="alternate"><td colspan="2">(no Invoice Types listed)</td></tr>
+ {/if}
+ </tbody>
+ </table>
+
+</div>
+
+<script type="text/javascript">
+jQuery(document).ready(function($) {
+
+ $("#newInvoiceTypeDialog").dialog({
+ autoOpen: false,
+ minWidth: 600,
+ dialogClass: "glm-dialog-no-close"
+ });
+ $("#editInvoiceTypeDialog").dialog({
+ autoOpen: false,
+ minWidth: 600,
+ dialogClass: "glm-dialog-no-close"
+ });
+ $("#deleteInvoiceTypeDialog").dialog({
+ autoOpen: false,
+ minWidth: 400,
+ dialogClass: "glm-dialog-no-close"
+ });
+
+ $('#newInvoiceTypeButton').click( function() {
+ $("#newInvoiceTypeDialog").dialog("open");
+ });
+ $('.editInvoiceType').click( function() {
+ $('#edit-recurring').prop( 'checked', false );
+ $('#edit-dynamic-amount').prop( 'checked', false );
+
+ var invoiceID = $(this).data('invoice-id');
+ var invoiceName = $(this).data('invoice-name');
+ var invoiceParent = $(this).data('invoice-parent');
+ var invoiceType = $(this).data('invoice-member_type');
+ var invoiceAmount = $(this).data('invoice-amount');
+ var invoiceDynamicAmount = $(this).data('invoice-dynamic-amount');
+ var invoiceRecurring = $(this).data('invoice-recurring');
+ var invoiceRecurrence = $(this).data('invoice-recurrence');
+ var invoiceQcode = $(this).data('invoice-qcode');
+ var invoiceCategory = $(this).data('invoice-category');
+
+ // Set the values of the edit form for the selected invoiceType
+ $('#edit-id').val( invoiceID );
+ $('#edit-name').val( invoiceName );
+ $('#edit-parent').val( invoiceParent );
+ $('#edit-member_type').val( invoiceType );
+ $('#edit-amount').val( invoiceAmount );
+ $('#edit-qcode').val( invoiceQcode );
+ $('#edit-category').val( invoiceCategory );
+ if ( invoiceDynamicAmount === 1 ) {
+ $('#edit-dynamic-amount').prop( 'checked', true );
+ }
+ if ( invoiceRecurring === 1 ) {
+ $('#edit-recurring').prop( 'checked', true );
+ }
+ $('#edit-recurrence').val( invoiceRecurrence );
+
+ $("#editInvoiceTypeDialog").dialog("open");
+ });
+ $('#editInvoiceTypeCancel').click( function() {
+ $("#editInvoiceTypeDialog").dialog("close");
+ });
+ $('#newInvoiceTypeCancel').click( function() {
+ $("#newInvoiceTypeDialog").dialog("close");
+ });
+
+ var id = false;
+ $('.deleteInvoiceTypeButton').click( function() {
+ id = $(this).attr('data-invoiceTypeID');
+ $("#deleteInvoiceTypeDialog").dialog("open");
+ });
+ $('#deleteInvoiceTypeConfirm').click( function() {
+ $("#deleteInvoiceTypeDialog").dialog("close");
+ window.location.href = "{$thisUrl}?page={$thisPage}&glm_action=invoiceTypes&option=delete&id=" + id;
+ });
+ $('#deleteInvoiceTypeCancel').click( function() {
+ $("#deleteInvoiceTypeDialog").dialog("close");
+ });
+
+});
+</script>
+
+{include file='admin/footer.html'}
{include file='admin/billing/header.html'}
-<div class="callout large">
+<div class="callout">
- <h2 class="subheader">Invoices</h2>
+ <h3 class="subheader">Invoices</h3>
<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}
{include file='admin/billing/header.html'}
-<div class="callout large">
+<div class="callout">
- <h2 class="subheader">Invoicing</h2>
+ <h3 class="subheader">Invoicing</h3>
{include file='admin/billing/invoicingSubHeader.html'}
<form id="invoicing-form" action="{$thisUrl}?page={$thisPage}" method="get">
<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="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'}
+ <fieldset class="fieldset">
+ <legend>Filter</legend>
+ <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="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 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">
- <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}
+ <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>
- {/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>
- </div>
+ </fieldset>
<br clear="all">
<br clear="all">
<p>Total found: {$totalAccounts}</p>
-<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>
+<div class="top-bar">
+ <div class="top-bar-left">
+ <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>
+ </div>
+</div>
--- /dev/null
+<h2 class="nav-tab-wrapper" style="margin-bottom: 1em;">
+ <a href="{$thisUrl}?page=glm-members-admin-menu-settings&glm_action=billing"
+ class="glm-settings-tab nav-tab{if $action == 'billing'} nav-tab-active{/if}">Invoice Settings</a>
+ <a href="{$thisUrl}?page=glm-members-admin-menu-settings&glm_action=invoiceTypes"
+ class="glm-settings-tab nav-tab{if $action == 'invoiceTypes'} nav-tab-active{/if}">Invoice Types</a>
+ <a href="{$thisUrl}?page=glm-members-admin-menu-settings&glm_action=notificationTypes"
+ class="glm-settings-tab nav-tab{if $action == 'notificationTypes'} nav-tab-active{/if}">Notification Types</a>
+</h2>
--- /dev/null
+{include file='admin/billing/header.html'}
+
+<div class="callout">
+
+ <h3 class="subheader">NotificationTypes</h3>
+
+ {* Add NotificationTypes Button and Dialog Box *}
+ <a href="{$thisUrl}?page={$thisPage}&glm_action=notifications&option=add" class="button primary">Add a Notification Type</a>
+
+ {* Add NotificationTypes Button *}
+ <div id="deleteNotificationTypeDialog" class="glm-dialog-box" title="Delete NotificationType">
+ <div style="text-align: center;">
+ <p>Are you sure you want to delete this notification Type?</p>
+ <p><div id="deleteNotificationTypeConfirm" class="button button-primary">Yes, delete this notification Type</div></p>
+ <p><div id="deleteNotificationTypeCancel" class="button button-primary">Cancel</div></p>
+ </div>
+ </div>
+
+ {* Edit NotificationTypes Dialog Box *}
+ <div id="editNotificationTypeDialog" class="glm-dialog-box" title="Edit this NotificationType">
+ <form action="{$thisUrl}?page={$thisPage}&glm_action=notifications" method="post" enctype="multipart/form-data" data-abide novalidate>
+ <input type="hidden" name="glm_action" value="notifications">
+ <input type="hidden" name="option" value="update">
+ <input id="edit-id" type="hidden" name="id" value="">
+ <table class="stack">
+ <tr>
+ <th class="glm-required">Name:</th>
+ <td>
+ <input id="edit-name" type="text" name="name" required />
+ </td>
+ </tr>
+ <tr>
+ <th colspan="2" class="glm-required">Send Notification based on</th>
+ </tr>
+ <tr>
+ <th colspan="2">Due Date</th>
+ </tr>
+ <tr>
+ <th class="glm-required"><input type="radio" id="edit-sendbydate" name="send_by" value="date" required></th>
+ <td>
+ <input
+ type="number"
+ step="1"
+ min="0"
+ max="100"
+ name="send_date_number"
+ id="edit-senddatenumber"
+ class="glm-form-text-input-veryshort">
+ <select id="edit-senddateperiod" name="send_date_period">
+ {foreach $send_date_period as $id => $val}
+ <option value="{$id}">{$val}</option>
+ {/foreach}
+ </select>
+ <select id="edit-senddatewhen" name="send_date_when">
+ {foreach $send_date_when as $id => $val}
+ <option value="{$id}">{$val}</option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th colspan="2">Immediate Action</th>
+ </tr>
+ <tr>
+ <th><input id="edit-sendbyaction" type="radio" name="send_by" value="action" required></th>
+ <td>
+ <select id="edit-sendaction" name="send_action">
+ {foreach $send_action as $id => $val}
+ <option value="{$id}">{$val}</option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required">Subject</th>
+ <td class="glm-required">
+ <input type="text" id="edit-subject" name="subject" required />
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required">From</th>
+ <td class="glm-required">
+ <input type="text" id="edit-fromheader" name="from_header" required />
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required">Reply-To</th>
+ <td class="glm-required">
+ <input type="text" id="edit-replyto" name="replyto" required />
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <textarea id="edit-message" name="message"></textarea>
+ </td>
+ </tr>
+ </table>
+ <p><span class="glm-required">*</span> Required</p>
+ <a id="editNotificationTypeCancel" class="button button-primary glm-right">Cancel</a>
+ <input type="submit" value="Update this Notification Type" class="button button-primary">
+ </form>
+ </div>
+
+ <table class="stack hover">
+ <thead>
+ <tr>
+ <th style="width:50px;">ID</th>
+ <th>Notification</th>
+ <th>Subject</th>
+ <th>Trigger</th>
+ <th> </th>
+ </tr>
+ </thead>
+ <tbody>
+ {if $haveNotificationTypes}
+ {assign var="i" value="0"}
+ {foreach $notificationTypes as $t}
+ <tr>
+ <td style="width:50px;">{$t.id}</td>
+ <td>
+ <div>
+ <a href="{$thisUrl}?page={$thisPage}&glm_action=notifications&option=edit&id={$t.id}" data-notification-id="{$t.id}">{$t.name}</a>
+ </div>
+ </td>
+ <td>{$t.subject}</td>
+ <td>
+ {if $t.send_by_action.value != 0}
+ Action:
+ {$send_action[$t.send_action]}
+ {else}
+ {$t.send_date_number}
+ {$send_date_period[$t.send_date_period]}{if $t.send_date_number}s{/if}
+ {$send_date_when[$t.send_date_when]}
+ Due Date
+ {/if}
+ </td>
+ <td>
+ <div
+ class="deleteNotificationTypeButton button button-secondary glm-button-small glm-right"
+ data-notificationTypeID="{$t.id}">Delete</div>
+ </td>
+ </tr>
+ {/foreach}
+ {else}
+ <tr class="alternate"><td colspan="2">(no Notification Types listed)</td></tr>
+ {/if}
+ </tbody>
+ </table>
+
+</div>
+<script type="text/javascript">
+ jQuery(document).ready(function($) {
+
+ $("#deleteNotificationTypeDialog").dialog({
+ autoOpen: false,
+ minWidth: 400,
+ dialogClass: "glm-dialog-no-close"
+ });
+
+
+ var id = false;
+ $('.deleteNotificationTypeButton').click( function() {
+ id = $(this).attr('data-notificationTypeID');
+ $("#deleteNotificationTypeDialog").dialog("open");
+ });
+ $('#deleteNotificationTypeConfirm').click( function() {
+ $("#deleteNotificationTypeDialog").dialog("close");
+ window.location.href = "{$thisUrl}?page={$thisPage}&glm_action=notifications&option=delete&id=" + id;
+ });
+ $('#deleteNotificationTypeCancel').click( function() {
+ $("#deleteNotificationTypeDialog").dialog("close");
+ });
+
+ });
+</script>
+
+{include file='admin/footer.html'}
<div class="callout large">
- <h2 class="subheader">Payments</h2>
+ <h3 class="subheader">Payments</h3>
<div class="button-group">
<div id="exportPaymentsButton" class="button secondary">Payments Export</div>
{include file='admin/billing/header.html'}
-<div class="callout large">
+<div class="callout">
- <h2 class="subheader">Reports</h2>
+ <h3 class="subheader">Reports</h3>
{include file='admin/billing/reportsSubHeader.html'}
{if $option == 'reportGenerator'}
- <div id="exportReportsButton" class="button button-secondary glm-admin-export-button">Report Export</div>
+ <div id="exportReportsButton" class="button secondary glm-admin-export-button">Report Export</div>
{/if}
<form id="reports-form" action="{$thisUrl}?page={$thisPage}" method="get">
<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>
+ <fieldset class="fieldset">
+ <legend>Filter Reports</legend>
+
+ <div class="grid-container">
+
+ <div class="grid-x grid-padding-x">
+
+ {if $paymentTypes}
+ <div class="cell small-12 medium-3">
+
+ {* Payment Types *}
+ {$ui = [
+ 'value' => $smarty.request.invoice_types,
+ 'field' => 'invoice_type',
+ 'label' => 'Payment Types',
+ 'list' => $paymentTypes,
+ 'l_label' => 'name',
+ 'l_value' => 'id',
+ 'l_blank' => false,
+ 'l_size' => 10,
+ 'required' => false,
+ 'errorText' => 'Payment Types is Required',
+ 'dataError' => ''
+ ]}
+ {include file='ui/f6/multiselect.html'}
+
+ </div>
+ {/if}
+
+ {if $counties}
+ <div class="cell small-12 medium-3">
+
+ {* Counties *}
+ {$ui = [
+ 'value' => $smarty.request.counties,
+ 'field' => 'counties',
+ 'label' => 'Counties',
+ 'list' => $counties,
+ 'l_label' => 'name',
+ 'l_value' => 'id',
+ 'l_blank' => false,
+ 'l_size' => 10,
+ 'required' => false,
+ 'errorText' => 'Counties is Required',
+ 'dataError' => ''
+ ]}
+ {include file='ui/f6/multiselect.html'}
+
+ </div>
+ {/if}
+ <div class="cell small-12 medium-3">
+
+ {* Member Name *}
+ {$ui = [
+ 'value' => $smarty.request.member_name,
+ 'field' => 'member_name',
+ 'label' => 'Member Name',
+ 'required' => false,
+ 'errorText' => 'Member Name is Required',
+ 'dataError' => ''
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {if isset( $settings.account_number_enabled ) && $settings.account_number_enabled}
+ {* Account Number *}
+ {$ui = [
+ 'value' => $smarty.request.account_number,
+ 'field' => 'account_number',
+ 'label' => 'Account Number',
+ 'required' => false,
+ 'errorText' => 'Account Number is Required',
+ 'dataError' => ''
+ ]}
+ {include file='ui/f6/text.html'}
+ {/if}
+
+ </div>
+
+ </div>
+
+ </div>
+
+ <div class="glm-admin-table-inner">
+ <div class="billing-search-form-container">
+ <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>
- {/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>
- </div>
+ </fieldset>
{/if}
{if $option == 'accountsByAge'}
<h3>over 60 days</h3>
-<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>
+<div class="top-bar">
+ <div class="top-bar-left">
+ <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>
+ </div>
+</div>
{* Billing Settings *}
{include file='admin/billing/header.html'}
-<div class="callout large">
+{* Here we are setting $data so it can be used for the Foundation 6 UI Elements *}
+{$data = $billingSettings}
- <h2 class="subheader">Settings</h2>
+<div class="callout">
+ <h3 class="subheader">Settings</h3>
+
+ {* Updated Settings *}
{if $settingsUpdated}
<div class="success callout" data-closable>
<button class="close-button" aria-label="Close alert" type="button" data-close>
<p><i class="fi-alert"></i> Settings Updated</p>
</div>
{/if}
+ {* Error for Update Settings *}
{if $settingsUpdateError}
<div class="alert callout" data-closable>
<button class="close-button" aria-label="Close alert" type="button" data-close>
{include file='ui/f6/errorCallout.html'}
- <div class="grid-x grid-margin-x">
- <div class="cell small-12 medium-6">
-
- <fieldset class="fieldset">
- <legend>Invoice Information</legend>
-
- {$data = $billingSettings}
-
- {* Company Name *}
- {$ui = [
- 'value' => $data.fieldData.company_name,
- 'field' => 'company_name',
- 'label' => 'Company Name',
- 'required' => $data.fieldRequired.company_name,
- 'errorText' => 'Company Name is Required',
- 'dataError' => $data.fieldFail.company_name
- ]}
- {include file='ui/f6/text.html'}
-
- {* Company Name 2 *}
- {$ui = [
- 'value' => $data.fieldData.company_name2,
- 'field' => 'company_name2',
- 'label' => 'Company Name 2',
- 'required' => $data.fieldRequired.company_name2,
- 'errorText' => 'Company Name 2 is Required',
- 'dataError' => $data.fieldFail.company_name2
- ]}
- {include file='ui/f6/text.html'}
-
- {* Company Address 1 *}
- {$ui = [
- 'value' => $data.fieldData.company_addr1,
- 'field' => 'company_addr1',
- 'label' => 'Company Address 1',
- 'required' => $data.fieldRequired.company_addr1,
- 'errorText' => 'Company Address 1 is Required',
- 'dataError' => $data.fieldFail.company_addr1
- ]}
- {include file='ui/f6/text.html'}
-
- {* Company Address 2 *}
- {$ui = [
- 'value' => $data.fieldData.company_addr2,
- 'field' => 'company_addr2',
- 'label' => 'Company Address 2',
- 'required' => $data.fieldRequired.company_addr2,
- 'errorText' => 'Company Address 2 is Required',
- 'dataError' => $data.fieldFail.company_addr2
- ]}
- {include file='ui/f6/text.html'}
-
- {* Company City *}
- {$ui = [
- 'value' => $data.fieldData.company_city,
- 'field' => 'company_city',
- 'label' => 'Company City',
- 'required' => $data.fieldRequired.company_city,
- 'errorText' => 'Company City is Required',
- 'dataError' => $data.fieldFail.company_city
- ]}
- {include file='ui/f6/text.html'}
-
- {* Company State *}
- {$ui = [
- 'value' => $data.fieldData.company_state.value,
- 'field' => 'company_state',
- 'label' => 'Company State',
- 'list' => $data.fieldData.company_state.list,
- 'l_label' => 'name',
- 'l_value' => 'value',
- 'l_blank' => true,
- 'required' => $data.fieldRequired.company_state,
- 'errorText' => 'Company State is Required',
- 'dataError' => $data.fieldFail.company_state
- ]}
- {include file='ui/f6/select.html'}
-
- {* Company Zip *}
- {$ui = [
- 'value' => $data.fieldData.company_zip,
- 'field' => 'company_zip',
- 'label' => 'Company Zip',
- 'required' => $data.fieldRequired.company_zip,
- 'errorText' => 'Company Zip is Required',
- 'dataError' => $data.fieldFail.company_zip
- ]}
- {include file='ui/f6/text.html'}
-
- {* Company Phone *}
- {$ui = [
- 'value' => $data.fieldData.company_phone,
- 'field' => 'company_phone',
- 'label' => 'Company Phone',
- 'required' => $data.fieldRequired.company_phone,
- 'errorText' => 'Company Phone is Required',
- 'dataError' => $data.fieldFail.company_phone
- ]}
- {include file='ui/f6/text.html'}
-
- {* Company Email *}
- {$ui = [
- 'value' => $data.fieldData.company_email,
- 'field' => 'company_email',
- 'label' => 'Company Email',
- 'required' => $data.fieldRequired.company_email,
- 'errorText' => 'Company Email is Required',
- 'dataError' => $data.fieldFail.company_email
- ]}
- {include file='ui/f6/text.html'}
-
- {* Company URL *}
- {$ui = [
- 'value' => $data.fieldData.company_url,
- 'field' => 'company_url',
- 'label' => 'Company URL',
- 'required' => $data.fieldRequired.company_url,
- 'errorText' => 'Company URL is Required',
- 'dataError' => $data.fieldFail.company_url
- ]}
- {include file='ui/f6/text.html'}
-
- {* Payment Terms *}
- {$ui = [
- 'value' => $data.fieldData.payment_terms,
- 'field' => 'payment_terms',
- 'label' => 'Payment Terms',
- 'required' => $data.fieldRequired.payment_terms,
- 'errorText' => 'Payment Terms is Required',
- 'dataError' => $data.fieldFail.payment_terms
- ]}
- {include file='ui/f6/text.html'}
-
-
-
- </fieldset>
- </div>
-
-
- <div class="cell small-12 medium-6">
- <fieldset class="fieldset">
- <legend>Invoice configurations</legend>
-
- {* Company Logo *}
- {$ui = [
- 'value' => $data.fieldData.company_logo,
- 'field' => 'company_logo',
- 'label' => 'Company Logo',
- 'required' => $data.fieldRequired.company_logo,
- 'errorText' => 'Company Logo is Required',
- 'dataError' => $data.fieldFail.company_logo
- ]}
- {include file='ui/f6/image.html'}
-
- {* Company Logo Width *}
- {$ui = [
- 'value' => $data.fieldData.company_logo_width,
- 'field' => 'company_logo_width',
- 'label' => 'Company Logo Width',
- 'pattern' => 'number',
- 'required' => $data.fieldRequired.company_logo_width,
- 'errorText' => 'Company Logo Width Must be numeric',
- 'dataError' => $data.fieldFail.company_logo_width
- ]}
- {include file='ui/f6/text.html'}
-
- {* Receipt Text *}
- {$ui = [
- 'value' => $data.fieldData.receipt_text,
- 'field' => 'receipt_text',
- 'label' => 'Receipt Text',
- 'height' => 100,
- 'media' => false,
- 'quicktags' => false,
- 'required' => $data.fieldRequired.receipt_text,
- 'errortext' => 'Receipt Text is Required',
- 'dataError' => $data.fieldFail.receipt_text
- ]}
- {include file='ui/f6/editor.html'}
-
- {* Member Types that require billing *}
- {$ui = [
- 'value' => $selectedMTRB,
- 'field' => 'member_types_requiring_billing_option',
- 'label' => 'Member Types that require billing',
- 'list' => $member_types,
- 'l_label' => 'name',
- 'l_value' => 'id',
- 'l_blank' => false,
- 'l_size' => 5,
- 'required' => false,
- 'errorText' => 'Member Types that require billing is Required',
- 'dataError' => $data.fieldFail.member_types_requiring_billing
- ]}
- {include file='ui/f6/multiselect.html'}
-
- {* Member Types that are Free *}
- {$ui = [
- 'value' => $selectedMTFREE,
- 'field' => 'member_types_free_option',
- 'label' => 'Member Types that are Free',
- 'list' => $member_types,
- 'l_label' => 'name',
- 'l_value' => 'id',
- 'l_blank' => false,
- 'l_size' => 5,
- 'required' => false,
- 'errorText' => 'Member Types that require billing is Required',
- 'dataError' => $data.fieldFail.member_types_free
- ]}
- {include file='ui/f6/multiselect.html'}
-
- {* Days Before Renewal Date *}
- {$ui = [
- 'value' => $data.fieldData.days_before_renewal,
- 'field' => 'days_before_renewal',
- 'label' => 'Days Before Renewal Date',
- 'pattern' => 'number',
- 'required' => $data.fieldRequired.days_before_renewal,
- 'errorText' => 'Days Before Renewal Date is Required to be a number',
- 'dataError' => $data.fieldFail.days_before_renewal
- ]}
- {include file='ui/f6/text.html'}
-
- {* Days After Renewal Date *}
- {$ui = [
- 'value' => $data.fieldData.days_after_expired,
- 'field' => 'days_after_expired',
- 'label' => 'Days After Renewal Date',
- 'pattern' => 'number',
- 'required' => $data.fieldRequired.days_after_expired,
- 'errorText' => 'Days After Renewal Date is Required to be a number',
- 'dataError' => $data.fieldFail.days_after_expired
- ]}
- {include file='ui/f6/text.html'}
-
- {* Show Account # *}
- {$ui = [
- 'value' => $data.fieldData.invoice_show_account_number.value,
- 'field' => 'invoice_show_account_number',
- 'label' => 'Show Account #',
- 'required' => $data.fieldRequired.invoice_show_account_number,
- 'errortext' => 'Show Account # is Required',
- 'dataError' => $data.fieldFail.invoice_show_account_number
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Show Invoice # *}
- {$ui = [
- 'value' => $data.fieldData.invoice_show_invoice_number.value,
- 'field' => 'invoice_show_invoice_number',
- 'label' => 'Show Invoice #',
- 'required' => $data.fieldRequired.invoice_show_invoice_number,
- 'errortext' => 'Show Invoice # is Required',
- 'dataError' => $data.fieldFail.invoice_show_invoice_number
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Enable Account Number *}
- {$ui = [
- 'value' => $data.fieldData.account_number_enabled.value,
- 'field' => 'account_number_enabled',
- 'label' => 'Enable Account Number',
- 'required' => $data.fieldRequired.account_number_enabled,
- 'errortext' => 'Enable Account Number is Required',
- 'dataError' => $data.fieldFail.account_number_enabled
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Require Account Number *}
- {$ui = [
- 'value' => $data.fieldData.account_number_required.value,
- 'field' => 'account_number_required',
- 'label' => 'Require Account Number',
- 'required' => $data.fieldRequired.account_number_required,
- 'errortext' => 'Require Account Number is Required',
- 'dataError' => $data.fieldFail.account_number_required
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Allow Membership Choice When Renewing *}
- {$ui = [
- 'value' => $data.fieldData.allow_membership_choice.value,
- 'field' => 'allow_membership_choice',
- 'label' => 'Allow Membership Choice When Renewing',
- 'required' => $data.fieldRequired.allow_membership_choice,
- 'errortext' => 'Allow Membership Choice When Renewing is Required',
- 'dataError' => $data.fieldFail.allow_membership_choice
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Allow Employees *}
- {$ui = [
- 'value' => $data.fieldData.allow_employees.value,
- 'field' => 'allow_employees',
- 'label' => 'Allow Employees',
- 'required' => $data.fieldRequired.allow_employees,
- 'errortext' => 'Allow Employees is Required',
- 'dataError' => $data.fieldFail.allow_employees
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Use Member Types in Invoice Types *}
- {$ui = [
- 'value' => $data.fieldData.member_types_enabled.value,
- 'field' => 'member_types_enabled',
- 'label' => 'Use Member Types in Invoice Types',
- 'required' => $data.fieldRequired.member_types_enabled,
- 'errortext' => 'Use Member Types in Invoice Types is Required',
- 'dataError' => $data.fieldFail.member_types_enabled
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Enable Quickbooks *}
- {$ui = [
- 'value' => $data.fieldData.quickbooks_enabled.value,
- 'field' => 'quickbooks_enabled',
- 'label' => 'Enable Quickbooks',
- 'required' => $data.fieldRequired.quickbooks_enabled,
- 'errortext' => 'Enable Quickbooks is Required',
- 'dataError' => $data.fieldFail.quickbooks_enabled
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Enable Members Billing Tab *}
- {$ui = [
- 'value' => $data.fieldData.member_billing_enabled.value,
- 'field' => 'member_billing_enabled',
- 'label' => 'Enable Members Billing Tab',
- 'required' => $data.fieldRequired.member_billing_enabled,
- 'errortext' => 'Enable Members Billing Tab is Required',
- 'dataError' => $data.fieldFail.member_billing_enabled
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Require Billing Fields *}
- {$ui = [
- 'value' => $data.fieldData.billing_fields_required.value,
- 'field' => 'billing_fields_required',
- 'label' => 'Require Billing Fields',
- 'required' => $data.fieldRequired.billing_fields_required,
- 'errortext' => 'Require Billing Fields is Required',
- 'dataError' => $data.fieldFail.billing_fields_required
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Enable Invoice Methods *}
- {$ui = [
- 'value' => $data.fieldData.invoice_methods_enabled.value,
- 'field' => 'invoice_methods_enabled',
- 'label' => 'Enable Invoice Methods',
- 'required' => $data.fieldRequired.invoice_methods_enabled,
- 'errortext' => 'Enable Invoice Methods is Required',
- 'dataError' => $data.fieldFail.invoice_methods_enabled
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Enable Billing Counties *}
- {$ui = [
- 'value' => $data.fieldData.billing_county_enabled.value,
- 'field' => 'billing_county_enabled',
- 'label' => 'Enable Billing Counties',
- 'required' => $data.fieldRequired.billing_county_enabled,
- 'errortext' => 'Enable Billing Counties is Required',
- 'dataError' => $data.fieldFail.billing_county_enabled
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Enable Billing Contact Name *}
- {$ui = [
- 'value' => $data.fieldData.billing_contact_name_enabled.value,
- 'field' => 'billing_contact_name_enabled',
- 'label' => 'Enable Billing Contact Name',
- 'required' => $data.fieldRequired.billing_contact_name_enabled,
- 'errortext' => 'Enable Billing Contact Name is Required',
- 'dataError' => $data.fieldFail.billing_contact_name_enabled
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* All Members Renew same day each year *}
- {$ui = [
- 'value' => $data.fieldData.renewal_day_static.value,
- 'field' => 'renewal_day_static',
- 'label' => 'All Members Renew same day each year',
- 'required' => $data.fieldRequired.renewal_day_static,
- 'errortext' => 'All Members Renew same day each year is Required',
- 'dataError' => $data.fieldFail.renewal_day_static
- ]}
- {include file='ui/f6/checkbox.html'}
+ <ul class="accordion" data-accordion data-allow-all-closed="true">
+
+ <li class="accordion-item is-active" data-accordion-item>
+ <a href="#" class="accordion-title"Main >Settings</a>
+ <div class="accordion-content" data-tab-content>
<div class="grid-x grid-margin-x">
- <div class="cell small-12">
- <label>Renewal Day Each Year</label>
- </div>
- <div class="cell small-6">
- {* Month *}
- {$ui = [
- 'value' => $data.fieldData.renewal_month,
- 'field' => 'renewal_month',
- 'label' => 'Month',
- 'list' => $renewal_month_opts,
- 'l_blank' => true,
- 'required' => $data.fieldRequired.renewal_month,
- 'errorText' => 'Month is Required',
- 'dataError' => $data.fieldFail.renewal_month
- ]}
- {include file='ui/f6/select.html'}
+ <div class="cell small-12 large-6">
+
+ <fieldset class="fieldset">
+ <legend>Invoice Information</legend>
+
+ {* Company Logo *}
+ {$ui = [
+ 'value' => $data.fieldData.company_logo,
+ 'field' => 'company_logo',
+ 'label' => 'Company Logo',
+ 'required' => $data.fieldRequired.company_logo,
+ 'errorText' => 'Company Logo is Required',
+ 'helpText' => '<br><span class="label">Best logo size: 400x200px. Must be jpeg or png.</span>',
+ 'dataError' => $data.fieldFail.company_logo
+ ]}
+ {include file='ui/f6/image.html'}
+
+ {* Company Name *}
+ {$ui = [
+ 'value' => $data.fieldData.company_name,
+ 'field' => 'company_name',
+ 'label' => 'Company Name',
+ 'required' => $data.fieldRequired.company_name,
+ 'errorText' => 'Company Name is Required',
+ 'dataError' => $data.fieldFail.company_name
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Company Name 2 *}
+ {$ui = [
+ 'value' => $data.fieldData.company_name2,
+ 'field' => 'company_name2',
+ 'label' => 'Company Name 2',
+ 'required' => $data.fieldRequired.company_name2,
+ 'errorText' => 'Company Name 2 is Required',
+ 'dataError' => $data.fieldFail.company_name2
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Company Address 1 *}
+ {$ui = [
+ 'value' => $data.fieldData.company_addr1,
+ 'field' => 'company_addr1',
+ 'label' => 'Company Address 1',
+ 'required' => $data.fieldRequired.company_addr1,
+ 'errorText' => 'Company Address 1 is Required',
+ 'dataError' => $data.fieldFail.company_addr1
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Company Address 2 *}
+ {$ui = [
+ 'value' => $data.fieldData.company_addr2,
+ 'field' => 'company_addr2',
+ 'label' => 'Company Address 2',
+ 'required' => $data.fieldRequired.company_addr2,
+ 'errorText' => 'Company Address 2 is Required',
+ 'dataError' => $data.fieldFail.company_addr2
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Company City *}
+ {$ui = [
+ 'value' => $data.fieldData.company_city,
+ 'field' => 'company_city',
+ 'label' => 'Company City',
+ 'required' => $data.fieldRequired.company_city,
+ 'errorText' => 'Company City is Required',
+ 'dataError' => $data.fieldFail.company_city
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Company State *}
+ {$ui = [
+ 'value' => $data.fieldData.company_state.value,
+ 'field' => 'company_state',
+ 'label' => 'Company State',
+ 'list' => $data.fieldData.company_state.list,
+ 'l_label' => 'name',
+ 'l_value' => 'value',
+ 'l_blank' => true,
+ 'required' => $data.fieldRequired.company_state,
+ 'errorText' => 'Company State is Required',
+ 'dataError' => $data.fieldFail.company_state
+ ]}
+ {include file='ui/f6/select.html'}
+
+ {* Company Zip *}
+ {$ui = [
+ 'value' => $data.fieldData.company_zip,
+ 'field' => 'company_zip',
+ 'label' => 'Company Zip',
+ 'required' => $data.fieldRequired.company_zip,
+ 'errorText' => 'Company Zip is Required',
+ 'dataError' => $data.fieldFail.company_zip
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Company Phone *}
+ {$ui = [
+ 'value' => $data.fieldData.company_phone,
+ 'field' => 'company_phone',
+ 'label' => 'Company Phone',
+ 'required' => $data.fieldRequired.company_phone,
+ 'errorText' => 'Company Phone is Required',
+ 'dataError' => $data.fieldFail.company_phone
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Company Email *}
+ {$ui = [
+ 'value' => $data.fieldData.company_email,
+ 'field' => 'company_email',
+ 'label' => 'Company Email',
+ 'required' => $data.fieldRequired.company_email,
+ 'errorText' => 'Company Email is Required',
+ 'dataError' => $data.fieldFail.company_email
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Company URL *}
+ {$ui = [
+ 'value' => $data.fieldData.company_url,
+ 'field' => 'company_url',
+ 'label' => 'Company URL',
+ 'required' => $data.fieldRequired.company_url,
+ 'errorText' => 'Company URL is Required',
+ 'dataError' => $data.fieldFail.company_url
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Payment Terms *}
+ {$ui = [
+ 'value' => $data.fieldData.payment_terms,
+ 'field' => 'payment_terms',
+ 'label' => 'Payment Terms',
+ 'required' => $data.fieldRequired.payment_terms,
+ 'errorText' => 'Payment Terms is Required',
+ 'dataError' => $data.fieldFail.payment_terms
+ ]}
+ {include file='ui/f6/text.html'}
+
+
+
+ </fieldset>
</div>
- <div class="cell small-6">
- {* Day *}
- {$ui = [
- 'value' => $data.fieldData.renewal_day,
- 'field' => 'renewal_day',
- 'label' => 'Day',
- 'list' => $renewal_day_opts,
- 'l_blank' => true,
- 'required' => $data.fieldRequired.renewal_day,
- 'errorText' => 'Day is Required',
- 'dataError' => $data.fieldFail.renewal_day
- ]}
- {include file='ui/f6/select.html'}
+
+ <div class="cell small-12 large-6">
+ <fieldset class="fieldset">
+ <legend>Membership Renewal Settings</legend>
+
+ {* All Members Renew same day each year *}
+ {$ui = [
+ 'value' => $data.fieldData.renewal_day_static.value,
+ 'field' => 'renewal_day_static',
+ 'label' => 'All Members Renew same day each year',
+ 'required' => $data.fieldRequired.renewal_day_static,
+ 'errortext' => 'All Members Renew same day each year is Required',
+ 'dataError' => $data.fieldFail.renewal_day_static
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ <div class="grid-x grid-margin-x">
+ <div class="cell small-12">
+ <label>Renewal Day Each Year</label>
+ </div>
+ <div class="cell small-6">
+ {* Month *}
+ {$ui = [
+ 'value' => $data.fieldData.renewal_month,
+ 'field' => 'renewal_month',
+ 'label' => 'Month',
+ 'list' => $renewal_month_opts,
+ 'l_blank' => true,
+ 'required' => $data.fieldRequired.renewal_month,
+ 'errorText' => 'Month is Required',
+ 'dataError' => $data.fieldFail.renewal_month
+ ]}
+ {include file='ui/f6/select.html'}
+ </div>
+ <div class="cell small-6">
+ {* Day *}
+ {$ui = [
+ 'value' => $data.fieldData.renewal_day,
+ 'field' => 'renewal_day',
+ 'label' => 'Day',
+ 'list' => $renewal_day_opts,
+ 'l_blank' => true,
+ 'required' => $data.fieldRequired.renewal_day,
+ 'errorText' => 'Day is Required',
+ 'dataError' => $data.fieldFail.renewal_day
+ ]}
+ {include file='ui/f6/select.html'}
+ </div>
+ </div>
+
+ {* Days Before Renewal Date *}
+ {$ui = [
+ 'value' => $data.fieldData.days_before_renewal,
+ 'field' => 'days_before_renewal',
+ 'label' => 'Days Before Renewal Date',
+ 'pattern' => 'number',
+ 'required' => $data.fieldRequired.days_before_renewal,
+ 'errorText' => 'Days Before Renewal Date is Required to be a number',
+ 'helpText' => '<span class="label">Days before Renewal Date to Allow Membership Renewal. Based on 1 year after renewal date.</span>',
+ 'dataError' => $data.fieldFail.days_before_renewal
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Days After Renewal Date *}
+ {$ui = [
+ 'value' => $data.fieldData.days_after_expired,
+ 'field' => 'days_after_expired',
+ 'label' => 'Days After Renewal Date',
+ 'pattern' => 'number',
+ 'required' => $data.fieldRequired.days_after_expired,
+ 'errorText' => 'Days After Renewal Date is Required to be a number',
+ 'helpText' => '<span class="label">Days after Renewal Date to Expire Membership. Based on 1 year after renewal date.</span>',
+ 'dataError' => $data.fieldFail.days_after_expired
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Receipt Text *}
+ {$ui = [
+ 'value' => $data.fieldData.receipt_text,
+ 'field' => 'receipt_text',
+ 'label' => 'Receipt Text',
+ 'height' => 100,
+ 'media' => false,
+ 'quicktags' => false,
+ 'required' => $data.fieldRequired.receipt_text,
+ 'errortext' => 'Receipt Text is Required',
+ 'dataError' => $data.fieldFail.receipt_text
+ ]}
+ {include file='ui/f6/editor.html'}
+
+ {* Member Types that require billing *}
+ {$ui = [
+ 'value' => $selectedMTRB,
+ 'field' => 'member_types_requiring_billing_option',
+ 'label' => 'Member Types that require billing',
+ 'list' => $member_types,
+ 'l_label' => 'name',
+ 'l_value' => 'id',
+ 'l_blank' => false,
+ 'l_size' => 5,
+ 'required' => false,
+ 'errorText' => 'Member Types that require billing is Required',
+ 'dataError' => $data.fieldFail.member_types_requiring_billing
+ ]}
+ {include file='ui/f6/multiselect.html'}
+
+ {* Member Types that are Free *}
+ {$ui = [
+ 'value' => $selectedMTFREE,
+ 'field' => 'member_types_free_option',
+ 'label' => 'Member Types that are Free',
+ 'list' => $member_types,
+ 'l_label' => 'name',
+ 'l_value' => 'id',
+ 'l_blank' => false,
+ 'l_size' => 5,
+ 'required' => false,
+ 'errorText' => 'Member Types that require billing is Required',
+ 'dataError' => $data.fieldFail.member_types_free
+ ]}
+ {include file='ui/f6/multiselect.html'}
+
+ </fieldset>
</div>
+
</div>
+ </div>
- {* Create PDF Invoices *}
- {$ui = [
- 'value' => $data.fieldData.invoice_pdf_enabled.value,
- 'field' => 'invoice_pdf_enabled',
- 'label' => 'Create PDF Invoices',
- 'required' => $data.fieldRequired.invoice_pdf_enabled,
- 'errortext' => 'Create PDF Invoices is Required',
- 'dataError' => $data.fieldFail.invoice_pdf_enabled
- ]}
- {include file='ui/f6/checkbox.html'}
+ </li>
+ <li class="accordion-item" data-accordion-item>
+ <a href="#" class="accordion-title">Advanced Settings</a>
+ <div class="accordion-content" data-tab-content>
+ <div class="grid-x grid-margin-x">
+ <div class="cell small-12 large-6">
+ <fieldset class*="fieldset">
+ <legend>Advanced Settings</legend>
+
+ {* Company Logo Width *}
+ {$ui = [
+ 'value' => $data.fieldData.company_logo_width,
+ 'field' => 'company_logo_width',
+ 'label' => 'Company Logo Width',
+ 'pattern' => 'number',
+ 'required' => $data.fieldRequired.company_logo_width,
+ 'errorText' => 'Company Logo Width Must be numeric',
+ 'dataError' => $data.fieldFail.company_logo_width
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Show Account # *}
+ {$ui = [
+ 'value' => $data.fieldData.invoice_show_account_number.value,
+ 'field' => 'invoice_show_account_number',
+ 'label' => 'Show Account #',
+ 'required' => $data.fieldRequired.invoice_show_account_number,
+ 'errortext' => 'Show Account # is Required',
+ 'dataError' => $data.fieldFail.invoice_show_account_number
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Show Invoice # *}
+ {$ui = [
+ 'value' => $data.fieldData.invoice_show_invoice_number.value,
+ 'field' => 'invoice_show_invoice_number',
+ 'label' => 'Show Invoice #',
+ 'required' => $data.fieldRequired.invoice_show_invoice_number,
+ 'errortext' => 'Show Invoice # is Required',
+ 'dataError' => $data.fieldFail.invoice_show_invoice_number
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Enable Account Number *}
+ {$ui = [
+ 'value' => $data.fieldData.account_number_enabled.value,
+ 'field' => 'account_number_enabled',
+ 'label' => 'Enable Account Number',
+ 'required' => $data.fieldRequired.account_number_enabled,
+ 'errortext' => 'Enable Account Number is Required',
+ 'dataError' => $data.fieldFail.account_number_enabled
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Require Account Number *}
+ {$ui = [
+ 'value' => $data.fieldData.account_number_required.value,
+ 'field' => 'account_number_required',
+ 'label' => 'Require Account Number',
+ 'required' => $data.fieldRequired.account_number_required,
+ 'errortext' => 'Require Account Number is Required',
+ 'dataError' => $data.fieldFail.account_number_required
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Allow Membership Choice When Renewing *}
+ {$ui = [
+ 'value' => $data.fieldData.allow_membership_choice.value,
+ 'field' => 'allow_membership_choice',
+ 'label' => 'Allow Membership Choice When Renewing',
+ 'required' => $data.fieldRequired.allow_membership_choice,
+ 'errortext' => 'Allow Membership Choice When Renewing is Required',
+ 'dataError' => $data.fieldFail.allow_membership_choice
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Allow Employees *}
+ {$ui = [
+ 'value' => $data.fieldData.allow_employees.value,
+ 'field' => 'allow_employees',
+ 'label' => 'Allow Employees',
+ 'required' => $data.fieldRequired.allow_employees,
+ 'errortext' => 'Allow Employees is Required',
+ 'dataError' => $data.fieldFail.allow_employees
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Use Member Types in Invoice Types *}
+ {$ui = [
+ 'value' => $data.fieldData.member_types_enabled.value,
+ 'field' => 'member_types_enabled',
+ 'label' => 'Use Member Types in Invoice Types',
+ 'required' => $data.fieldRequired.member_types_enabled,
+ 'errortext' => 'Use Member Types in Invoice Types is Required',
+ 'dataError' => $data.fieldFail.member_types_enabled
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Enable Quickbooks *}
+ {$ui = [
+ 'value' => $data.fieldData.quickbooks_enabled.value,
+ 'field' => 'quickbooks_enabled',
+ 'label' => 'Enable Quickbooks',
+ 'required' => $data.fieldRequired.quickbooks_enabled,
+ 'errortext' => 'Enable Quickbooks is Required',
+ 'dataError' => $data.fieldFail.quickbooks_enabled
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Enable Members Billing Tab *}
+ {$ui = [
+ 'value' => $data.fieldData.member_billing_enabled.value,
+ 'field' => 'member_billing_enabled',
+ 'label' => 'Enable Members Billing Tab',
+ 'required' => $data.fieldRequired.member_billing_enabled,
+ 'errortext' => 'Enable Members Billing Tab is Required',
+ 'dataError' => $data.fieldFail.member_billing_enabled
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Require Billing Fields *}
+ {$ui = [
+ 'value' => $data.fieldData.billing_fields_required.value,
+ 'field' => 'billing_fields_required',
+ 'label' => 'Require Billing Fields',
+ 'required' => $data.fieldRequired.billing_fields_required,
+ 'errortext' => 'Require Billing Fields is Required',
+ 'dataError' => $data.fieldFail.billing_fields_required
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Enable Invoice Methods *}
+ {$ui = [
+ 'value' => $data.fieldData.invoice_methods_enabled.value,
+ 'field' => 'invoice_methods_enabled',
+ 'label' => 'Enable Invoice Methods',
+ 'required' => $data.fieldRequired.invoice_methods_enabled,
+ 'errortext' => 'Enable Invoice Methods is Required',
+ 'dataError' => $data.fieldFail.invoice_methods_enabled
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Enable Billing Counties *}
+ {$ui = [
+ 'value' => $data.fieldData.billing_county_enabled.value,
+ 'field' => 'billing_county_enabled',
+ 'label' => 'Enable Billing Counties',
+ 'required' => $data.fieldRequired.billing_county_enabled,
+ 'errortext' => 'Enable Billing Counties is Required',
+ 'dataError' => $data.fieldFail.billing_county_enabled
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Enable Billing Contact Name *}
+ {$ui = [
+ 'value' => $data.fieldData.billing_contact_name_enabled.value,
+ 'field' => 'billing_contact_name_enabled',
+ 'label' => 'Enable Billing Contact Name',
+ 'required' => $data.fieldRequired.billing_contact_name_enabled,
+ 'errortext' => 'Enable Billing Contact Name is Required',
+ 'dataError' => $data.fieldFail.billing_contact_name_enabled
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Create PDF Invoices *}
+ {$ui = [
+ 'value' => $data.fieldData.invoice_pdf_enabled.value,
+ 'field' => 'invoice_pdf_enabled',
+ 'label' => 'Create PDF Invoices',
+ 'required' => $data.fieldRequired.invoice_pdf_enabled,
+ 'errortext' => 'Create PDF Invoices is Required',
+ 'dataError' => $data.fieldFail.invoice_pdf_enabled
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+
+ </fieldset>
+ </div>
+ </div>
+ </div>
- </fieldset>
- </div>
+ </li>
- </div>
+ </ul>
<input class="button button-primary" type="submit" style="margin-top: 0;" value="Save">