Adding field for line item discount.
* version from this plugin.
*/
define('GLM_MEMBERS_BILLING_PLUGIN_VERSION', '1.0.26');
-define('GLM_MEMBERS_BILLING_PLUGIN_DB_VERSION', '0.0.36');
+define('GLM_MEMBERS_BILLING_PLUGIN_DB_VERSION', '0.0.37');
// This is the minimum version of the GLM Members DB plugin require for this plugin.
define('GLM_MEMBERS_BILLING_PLUGIN_MIN_MEMBERS_REQUIRED_VERSION', '2.8.0');
$lineItems = $BillingSupport->getLineItemsForInvoice( $this->invoice_id );
// Sort the types by parent child
$invoiceTypes = $InvoiceTypesObj->sortParentChild($invoiceTypes);
+ // echo '<pre>$invoiceTypes: ' . print_r( $invoiceTypes, true ) . '</pre>';
if ( isset( $invoiceTypes ) ) {
foreach ( $invoiceTypes as $invoiceType ) {
$invTypes[$invoiceType['id']] = array(
}
$invoiceTypeJSON = json_encode( $invTypes, JSON_NUMERIC_CHECK );
}
+ if ( isset( $lineItems ) ) {
+ foreach ( $lineItems as $lineItem ) {
+ $lineItemJson[$lineItem['line_item_type']] = array(
+ 'id' => $lineItem['line_item_type'],
+ 'name' => $lineItem['name'],
+ 'amount' => $lineItem['amount'],
+ 'discount' => $lineItem['discount'],
+ );
+ }
+ $lineItemJSON = json_encode( $lineItemJson, JSON_NUMERIC_CHECK );
+ }
} // show error?
break;
'line_item_type' => $line_item,
'name' => $_REQUEST['line_item_name'][$line_item],
'amount' => $_REQUEST['line_item_amount'][$line_item],
+ 'discount' => $_REQUEST['line_item_discount'][$line_item],
'quantity' => $_REQUEST['line_item_qty'][$line_item],
'total' => (float)$_REQUEST['line_item_qty'][$line_item] * (float)$_REQUEST['line_item_amount'][$line_item],
'created' => date('Y-m-d'),
'first_due_date' => $_REQUEST['due_date'],
'next_due_date' => $_REQUEST['due_date'],
'recurring' => $invoiceType['recurring']['value'],
- 'recurrence' => $invoiceType['recurrence']
+ 'recurrence' => $invoiceType['recurrence'],
),
array(
'%d', // invoice
'%d', // line_item_type
'%s', // name
'%s', // amount
+ '%d', // discount
'%d', // quantity
'%d', // total
'%s', // created
if ( isset( $invoiceTypes ) ) {
foreach ( $invoiceTypes as $invoiceType ) {
$invTypes[$invoiceType['id']] = array(
- 'id' => $invoiceType['id'],
- 'name' => $invoiceType['name'],
- 'amount' => $invoiceType['amount'],
+ 'id' => $invoiceType['id'],
+ 'name' => $invoiceType['name'],
+ 'amount' => $invoiceType['amount'],
);
}
$invoiceTypeJSON = json_encode( $invTypes, true );
'line_item_type' => $line_item,
'name' => $_REQUEST['line_item_name'][$line_item],
'amount' => $_REQUEST['line_item_amount'][$line_item],
+ 'discount' => $_REQUEST['line_item_discount'][$line_item],
'quantity' => $_REQUEST['line_item_qty'][$line_item],
'total' => (float)$_REQUEST['line_item_qty'][$line_item] * (float)$_REQUEST['line_item_amount'][$line_item],
'created' => date('Y-m-d'),
'%d', // line_item_type
'%s', // name
'%s', // amount
+ '%d', // discount
'%d', // quantity
'%d', // total
'%s', // created
}
$invoiceTypeJSON = json_encode( $invTypes, JSON_NUMERIC_CHECK );
}
+ if ( isset( $lineItems ) ) {
+ foreach ( $lineItems as $lineItem ) {
+ $lineItemJson[$lineItem['line_item_type']] = array(
+ 'id' => $lineItem['line_item_type'],
+ 'name' => $lineItem['name'],
+ 'amount' => $lineItem['amount'],
+ 'discount' => $lineItem['discount'],
+ );
+ }
+ $lineItemJSON = json_encode( $lineItemJson, JSON_NUMERIC_CHECK );
+ }
} else {
$invoiceUpdateError = true;
'start' => $start = 1,
'limit' => $limit,
'invoiceTypeJSON' => $invoiceTypeJSON,
+ 'lineItemJSON' => $lineItemJSON,
'invoiceTypes' => $invoiceTypes,
'accounts' => $accounts,
'billingAccount' => $billingAccount,
+++ /dev/null
--- Gaslight Media Billing Module
--- File Created: 02/19/2019
--- Database Version: 0.0.36
--- Database Creation Script
---
--- To permit each query below to be executed separately,
--- all queries must be separated by a line with four dashes
---
--- **** BE SURE TO ALSO UPDATE drop_database_Vxxx.sql FILE WHEN CHANGING TABLES ****
---
-
--- Billing Accounts
-CREATE TABLE {prefix}accounts (
- id INT NOT NULL AUTO_INCREMENT,
- archived BOOLEAN DEFAULT '0', -- Marks account as archived
- ref_dest INT NOT NULL, -- reference to member id
- ref_name TINYTEXT NOT NULL, -- Name of reference member
- invoice_type INT NOT NULL DEFAULT '0', -- Ref to Invoice Type id
- billing_contact_name TINYTEXT NULL, -- Billing Contact Name
- billing_fname TINYTEXT NULL, -- Billing First Name
- billing_lname TINYTEXT NULL, -- Billing Last Name
- billing_company TINYTEXT NULL, -- Billing Company Name
- billing_position TINYTEXT NULL, -- Billing Title/Position
- billing_addr1 TINYTEXT NULL, -- Billing Address 1
- billing_addr2 TINYTEXT NULL, -- Billing Address 2
- billing_city TINYTEXT NULL, -- Billing City
- billing_county INT NULL, -- Billing County
- billing_state TINYTEXT NULL, -- Billing State
- billing_zip TINYTEXT NULL, -- Billing Zip
- billing_country TINYTEXT NULL, -- Billing Country
- billing_phone TINYTEXT NULL, -- Billing Phone
- billing_fax TINYTEXT NULL, -- Billing Fax
- anniversary_date DATE NULL, -- anniversary date
- renewal_date DATE NULL, -- renewal date of account
- payment_data TEXT NULL, -- stored payment data
- customer_profile_id TINYTEXT NULL, -- Customer Profile Id (Authorize.net)
- payment_profile_id TINYTEXT NULL, -- Payment Profile Id (Authorize.net)
- payment_profile_card TINYTEXT NULL, -- Payment Profile Card (Authorize.net)
- email TINYTEXT NULL, -- billing email
- boss BOOLEAN DEFAULT '0', -- Boss flag
- account_number TINYTEXT NULL, -- Account Number
- email_invoice BOOLEAN DEFAULT '0', -- Invoice by email
- usmail_invoice BOOLEAN DEFAULT '0', -- Invoice by US Mail
- fax_invoice BOOLEAN DEFAULT '0', -- Invoice by Fax
- PRIMARY KEY (id),
- INDEX(ref_dest),
- INDEX(ref_name(20)),
- INDEX(email(20)),
- INDEX(invoice_type),
- INDEX(renewal_date),
- INDEX(billing_county)
-);
-
-----
-
--- transactions
-CREATE TABLE {prefix}transactions (
- id INT NOT NULL AUTO_INCREMENT,
- type INT NOT NULL, -- type of transaction (payment,invoice,etc)
- type_id INT NOT NULL, -- reference to type id
- account INT NOT NULL, -- reference to account id
- transaction_time DATETIME NOT NULL, -- datetime for the transaction
- current_invoice_total DECIMAL(8, 2) NOT NULL, -- invoice total
- current_payment_total DECIMAL(8, 2) NOT NULL, -- payment total
- PRIMARY KEY (id),
- INDEX(account),
- INDEX(type_id),
- INDEX(transaction_time)
-);
-
-----
-
--- Invoices
-CREATE TABLE {prefix}invoices (
- id INT NOT NULL AUTO_INCREMENT,
- old_invoice_id INT NULL, -- old invoice id from uptra
- transaction_time DATETIME NOT NULL, -- datetime for the invoice
- account INT NOT NULL, -- ref to account id
- amount_total DECIMAL(8, 2) NOT NULL, -- total amount for invoice
- balance DECIMAL(8, 2) NOT NULL, -- balance for this invoice
- due_date DATE NOT NULL, -- Due date for this invoice
- paid BOOLEAN DEFAULT '0', -- true/false if invoice is paid
- notes TINYTEXT, -- notes for this invoice
- renewal BOOLEAN DEFAULT '0', -- true/false if a renewal
- recurring BOOLEAN DEFAULT '0', -- true/false if recurring
- recurrence INT NULL DEFAULT 0, -- recurrence type
- PRIMARY KEY (id),
- INDEX(account),
- INDEX(transaction_time),
- INDEX(due_date)
-);
-
-----
-
--- Line Item Types
-CREATE TABLE {prefix}invoice_types (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NOT NULL, -- name
- parent INT NOT NULL DEFAULT 0, -- 0 if top level otherwise ref to another line_item_type as it's parent
- member_type INT NOT NULL DEFAULT 0, -- Member Type assigned Default 0
- amount DECIMAL(8,2) NOT NULL DEFAULT '0.00', -- amount
- recurring BOOLEAN DEFAULT '0', -- true/false if recurring
- recurrence INT NULL DEFAULT 0, -- recurrence type
- dynamic_amount BOOLEAN DEFAULT '0', -- true/false if amount is dynamic
- qcode TINYTEXT NULL, -- qcode for quickbooks
- category TINYTEXT NULL, -- quickbooks category
- PRIMARY KEY (id)
-);
-
-----
-
--- Line Items
-CREATE TABLE {prefix}line_items (
- id INT NOT NULL AUTO_INCREMENT,
- invoice INT NOT NULL, -- reference to invoice
- line_item_type INT NOT NULL, -- reference to line item type
- account INT NULL DEFAULT 0, -- ref to account id (renewal or employee)
- name TEXT NOT NULL, -- line item name
- amount DECIMAL(8,2) DEFAULT '0.00', -- line item amount per item
- quantity INT DEFAULT 1, -- quantity
- total DECIMAL(8,2) DEFAULT '0.00', -- line item total
- recurring BOOLEAN DEFAULT '0', -- true/false if recurring
- recurrence INT NULL DEFAULT 0, -- recurrence type
- created DATE NULL, -- Date this line item was first created
- first_due_date DATE NULL, -- The first due date for this item
- next_due_date DATE NULL, -- Next Due Date for this item
- PRIMARY KEY (id),
- INDEX(account),
- INDEX(created),
- INDEX(first_due_date),
- INDEX(next_due_date)
-);
-
-----
-
--- payments
-CREATE TABLE {prefix}payments (
- id INT NOT NULL AUTO_INCREMENT,
- transaction_time DATETIME NOT NULL, -- datetime of payment
- account INT NOT NULL, -- ref to account table
- amount DECIMAL(8, 2) NOT NULL, -- payment amount
- payment_method TINYTEXT NOT NULL, -- payment method
- payment_data TINYTEXT NULL, -- additional payment info
- notes TEXT NULL, -- Notes/Comments on the payment
- PRIMARY KEY (id)
-);
-
-----
-
--- pdfs
-CREATE TABLE {prefix}pdfs (
- id INT NOT NULL AUTO_INCREMENT,
- ref_type INT NOT NULL, -- reference type
- ref_dest INT NOT NULL, -- reference types id
- pdf MEDIUMTEXT NOT NULL, -- saved pdf
- PRIMARY KEY (id)
-);
-
-----
-
--- Notification Types
-CREATE TABLE {prefix}notification_types (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NOT NULL, -- name
- to_email TINYTEXT NULL, -- To email
- from_header TINYTEXT NOT NULL, -- from headers
- replyto TINYTEXT NULL, -- reply-to headers
- subject TINYTEXT NOT NULL, -- Subject
- message TEXT NOT NULL, -- Message
- send_by_date BOOLEAN NULL DEFAULT '0', -- true/false send by date based on due date
- send_by_action BOOLEAN NULL DEFAULT '0', -- send notice based on an action
- send_action INT NULL DEFAULT 0, -- (create invoice or receive payment)
- send_date_number INT NULL DEFAULT 0, -- number to apply to send by date
- send_date_period INT NULL DEFAULT 0, -- (days,weeks,months,years)
- send_date_when INT NULL DEFAULT 0, -- (before or after)
- PRIMARY KEY (id)
-);
-
-----
-
--- Notifications
-CREATE TABLE {prefix}notifications (
- id INT NOT NULL AUTO_INCREMENT,
- notification_type INT NOT NULL, -- ref to notification type
- account INT NOT NULL, -- ref to account
- from_replyto TINYTEXT NOT NULL, -- from reply-to header
- subject TEXT NOT NULL, -- subject
- message TEXT NOT NULL, -- message
- date_sent DATETIME NOT NULL, -- Date the notice was sent
- email_sent TINYTEXT NOT NULL, -- email used
- type INT NULL, -- Invoice Type
- type_id INT NULL, -- type id (invoice or payment)
- PRIMARY KEY (id)
-);
-
-----
-
--- Notification Queue
-CREATE TABLE {prefix}notification_queue (
- id INT NOT NULL AUTO_INCREMENT,
- notification_type INT NOT NULL, -- ref to notification type
- account INT NOT NULL, -- ref to account
- queued_time DATETIME NOT NULL, -- Creation time
- processed_time DATETIME NULL, -- The time this queue was processed. (sent out)
- PRIMARY KEY (id),
- INDEX (notification_type),
- INDEX (account),
- INDEX (queued_time),
- INDEX (processed_time)
-);
-
-----
-
--- Gateway Settings
-CREATE TABLE {prefix}gateway_settings (
- id INT NOT NULL AUTO_INCREMENT,
- name TEXT NOT NULL,
- login_id TINYTEXT NOT NULL,
- transaction_key TINYTEXT NOT NULL,
- PRIMARY KEY (id)
-);
-
-----
-
--- Invoice Payments
-CREATE TABLE {prefix}invoice_payments (
- id INT NOT NULL AUTO_INCREMENT,
- invoice INT NOT NULL, -- reference to invoice id
- payment INT NOT NULL, -- reference to payment id
- amount DECIMAL(8, 2) NOT NULL, -- payment amount
- PRIMARY KEY (id),
- INDEX(invoice)
-);
-
-----
-
--- Settings
-CREATE TABLE {prefix}settings (
- id INT NOT NULL AUTO_INCREMENT,
- -- Invoice Options
- company_logo TINYTEXT NULL, -- Image logo
- company_logo_width INT NULL, -- Logo Width (only used if creating pdf)
- company_name TINYTEXT NULL, -- Company Name
- company_name2 TINYTEXT NULL, -- Company Name 2
- company_addr1 TINYTEXT NULL, -- Company Address 1
- company_addr2 TINYTEXT NULL, -- Company Address 2
- company_city TINYTEXT NULL, -- Company City
- company_state TINYTEXT NULL, -- Company State
- company_zip TINYTEXT NULL, -- Company Zip
- company_phone TINYTEXT NULL, -- Company Phone
- company_email TINYTEXT NULL, -- Company Email
- company_url TINYTEXT NULL, -- Company URL
- payment_terms TEXT NULL, -- Payment Terms
- invoice_show_account_number BOOLEAN DEFAULT '0', -- Show Billing Account number on invoices
- invoice_show_invoice_number BOOLEAN DEFAULT '1', -- Show Invoice Number on invoices
- days_before_renewal INT NULL, -- Number of days before renewal date to allow renewals
- days_after_expired INT NULL, -- Number of days after renewal date expired
- -- Renewal Options
- allow_membership_choice BOOLEAN DEFAULT '0', -- If memberships can choose their membership levels when they renew
- allow_employees BOOLEAN DEFAULT '0', -- If memberships have employees
- member_types_enabled BOOLEAN DEFAULT '1', -- member types determine invoice types
- quickbooks_enabled BOOLEAN DEFAULT '0', -- QuickBooks enabled
- member_billing_enabled BOOLEAN DEFAULT '1', -- Member have access to billing info tab
- billing_fields_required BOOLEAN DEFAULT '1', -- Require Billing Fields
- invoice_methods_enabled BOOLEAN DEFAULT '0', -- Enable Uptra invoice methods
- renewal_day_static BOOLEAN DEFAULT '0', -- Renewal dates are same day every year
- renewal_day INT NULL, -- Day of the month for renewals
- renewal_month INT NULL, -- Month of year for renewals
- billing_county_enabled BOOLEAN DEFAULT '0', -- Billing uses county field
- invoice_pdf_enabled BOOLEAN DEFAULT '0', -- Create PDF invoices
- billing_contact_name_enabled BOOLEAN DEFAULT '0', -- Use billing_contact_name instead of fname lname
- member_types_requiring_billing TEXT NULL, -- List of member type id's that require billing
- -- Account Number
- account_number_enabled BOOLEAN DEFAULT '0', -- Enable Disable account_number
- account_number_required BOOLEAN DEFAULT '0', -- Require account_number
- account_number_unique BOOLEAN DEFAULT '0', -- account_number must be unique
- PRIMARY KEY (id)
-);
-
-----
-
--- Set default billing Settings entry
-INSERT INTO {prefix}settings
- ( id, days_before_renewal ,days_after_expired, member_types_enabled, quickbooks_enabled, member_billing_enabled )
- VALUES
- ( 1, 90, 30, true, false, true );
-
-----
-
--- Management
-CREATE TABLE {prefix}management (
- id INT NOT NULL AUTO_INCREMENT,
- payment_methods SMALLINT NULL, -- Payment methods available for all registrations - Bitmap - see payment_method in plugin.ini
- proc_methods SMALLINT NULL, -- Credit Cart payment processing methods available - Bitmap - see proc_method in plugin.ini
- cc_accepts SMALLINT NULL, -- Credit Cards Accepted - Bitmap - See credit_card in plugin.ini
- -- Authorize.net Credentials
- authorize_net_login TINYTEXT NULL,
- authorize_net_key TINYTEXT NULL,
- authorize_net_test TINYINT NULL, -- Authorize.net test mode - List - see proc_test_mode in plugin.ini
- authorize_net_conf BOOLEAN NULL, -- Flag to send payment confirmation Email from Authorize.net
- authorize_net_merchant_email TINYTEXT NULL, -- E-Mail Authorize.net will send copy of confirmation E-Mail
- -- Merchant Solutions Credentials
- merchant_solutions_acctid TINYTEXT NULL, -- Merchant Solutions credentials
- merchant_solutions_merchantpin TINYTEXT NULL,
- merchant_solutions_test TINYINT NULL, -- Merchant Solutions test mode - List - see proc_test_mode in plugin.ini
- merchant_solutions_conf BOOLEAN NULL, -- Flag to send payment confirmation Email
- merchant_solutions_merchant_email TINYTEXT NULL, -- Merchant Solutions will send copy of confirmation E-Mail
- -- Square Credentials
- square_prod_access_token TINYTEXT NULL, -- Square production access token
- square_prod_app_id TINYTEXT NULL, -- Square production application id
- square_prod_location_id TINYTEXT NULL, -- Square production location id
- square_sandbox_access_token TINYTEXT NULL, -- Square sandbox access token
- square_sandbox_app_id TINYTEXT NULL, -- Square sandbox application id
- square_sandbox_location_id TINYTEXT NULL, -- Square sandbox location id
- square_use_prod BOOLEAN DEFAULT '0', -- If true use Production creds
- -- Uptravel options
- uptravel_invoice_template BOOLEAN DEFAULT '0', -- Use uptravel template for invoices.
- uptravel_payment_form BOOLEAN DEFAULT '0', -- Use uptravel payment form style.
- PRIMARY KEY (id)
-);
-
-----
-
--- Set default billing Management entry
-INSERT INTO {prefix}management
- ( id )
- VALUES
- ( 1 );
-
-----
-
--- Employees table
-CREATE TABLE {prefix}employees (
- id INT NOT NULL AUTO_INCREMENT,
- account INT NOT NULL, -- Account Id
- employee INT NOT NULL, -- Employee Account Id
- PRIMARY KEY (id)
-);
-
-----
-
--- Terms
-CREATE TABLE {prefix}settings_terms (
- id INT NOT NULL AUTO_INCREMENT,
- invoice_name TINYTEXT NOT NULL,
- invoice_name_plur TINYTEXT NOT NULL,
- invoice_name_cap TINYTEXT NOT NULL,
- invoice_name_plur_cap TINYTEXT NOT NULL,
- invoice_type TINYTEXT NOT NULL,
- invoice_type_plur TINYTEXT NOT NULL,
- invoice_type_cap TINYTEXT NOT NULL,
- invoice_type_plur_cap TINYTEXT NOT NULL,
- account_number TINYTEXT NOT NULL,
- PRIMARY KEY (id)
-);
-
-----
-
-INSERT INTO {prefix}settings_terms
- (
- id,
- invoice_name,
- invoice_name_plur,
- invoice_name_cap,
- invoice_name_plur_cap,
- invoice_type,
- invoice_type_plur,
- invoice_type_cap,
- invoice_type_plur_cap,
- account_number
- )
- VALUES
- (
- 1,
- 'invoice',
- 'invoices',
- 'Invoice',
- 'Invoices',
- 'invoice type',
- 'invoice types',
- 'Invoice Type',
- 'Invoice Types',
- 'Account Number'
- );
--- /dev/null
+-- Gaslight Media Billing Module
+-- File Created: 02/19/2019
+-- Database Version: 0.0.37
+-- Database Creation Script
+--
+-- To permit each query below to be executed separately,
+-- all queries must be separated by a line with four dashes
+--
+-- **** BE SURE TO ALSO UPDATE drop_database_Vxxx.sql FILE WHEN CHANGING TABLES ****
+--
+
+-- Billing Accounts
+CREATE TABLE {prefix}accounts (
+ id INT NOT NULL AUTO_INCREMENT,
+ archived BOOLEAN DEFAULT '0', -- Marks account as archived
+ ref_dest INT NOT NULL, -- reference to member id
+ ref_name TINYTEXT NOT NULL, -- Name of reference member
+ invoice_type INT NOT NULL DEFAULT '0', -- Ref to Invoice Type id
+ billing_contact_name TINYTEXT NULL, -- Billing Contact Name
+ billing_fname TINYTEXT NULL, -- Billing First Name
+ billing_lname TINYTEXT NULL, -- Billing Last Name
+ billing_company TINYTEXT NULL, -- Billing Company Name
+ billing_position TINYTEXT NULL, -- Billing Title/Position
+ billing_addr1 TINYTEXT NULL, -- Billing Address 1
+ billing_addr2 TINYTEXT NULL, -- Billing Address 2
+ billing_city TINYTEXT NULL, -- Billing City
+ billing_county INT NULL, -- Billing County
+ billing_state TINYTEXT NULL, -- Billing State
+ billing_zip TINYTEXT NULL, -- Billing Zip
+ billing_country TINYTEXT NULL, -- Billing Country
+ billing_phone TINYTEXT NULL, -- Billing Phone
+ billing_fax TINYTEXT NULL, -- Billing Fax
+ anniversary_date DATE NULL, -- anniversary date
+ renewal_date DATE NULL, -- renewal date of account
+ payment_data TEXT NULL, -- stored payment data
+ customer_profile_id TINYTEXT NULL, -- Customer Profile Id (Authorize.net)
+ payment_profile_id TINYTEXT NULL, -- Payment Profile Id (Authorize.net)
+ payment_profile_card TINYTEXT NULL, -- Payment Profile Card (Authorize.net)
+ email TINYTEXT NULL, -- billing email
+ boss BOOLEAN DEFAULT '0', -- Boss flag
+ account_number TINYTEXT NULL, -- Account Number
+ email_invoice BOOLEAN DEFAULT '0', -- Invoice by email
+ usmail_invoice BOOLEAN DEFAULT '0', -- Invoice by US Mail
+ fax_invoice BOOLEAN DEFAULT '0', -- Invoice by Fax
+ PRIMARY KEY (id),
+ INDEX(ref_dest),
+ INDEX(ref_name(20)),
+ INDEX(email(20)),
+ INDEX(invoice_type),
+ INDEX(renewal_date),
+ INDEX(billing_county)
+);
+
+----
+
+-- transactions
+CREATE TABLE {prefix}transactions (
+ id INT NOT NULL AUTO_INCREMENT,
+ type INT NOT NULL, -- type of transaction (payment,invoice,etc)
+ type_id INT NOT NULL, -- reference to type id
+ account INT NOT NULL, -- reference to account id
+ transaction_time DATETIME NOT NULL, -- datetime for the transaction
+ current_invoice_total DECIMAL(8, 2) NOT NULL, -- invoice total
+ current_payment_total DECIMAL(8, 2) NOT NULL, -- payment total
+ PRIMARY KEY (id),
+ INDEX(account),
+ INDEX(type_id),
+ INDEX(transaction_time)
+);
+
+----
+
+-- Invoices
+CREATE TABLE {prefix}invoices (
+ id INT NOT NULL AUTO_INCREMENT,
+ old_invoice_id INT NULL, -- old invoice id from uptra
+ transaction_time DATETIME NOT NULL, -- datetime for the invoice
+ account INT NOT NULL, -- ref to account id
+ amount_total DECIMAL(8, 2) NOT NULL, -- total amount for invoice
+ balance DECIMAL(8, 2) NOT NULL, -- balance for this invoice
+ due_date DATE NOT NULL, -- Due date for this invoice
+ paid BOOLEAN DEFAULT '0', -- true/false if invoice is paid
+ notes TINYTEXT, -- notes for this invoice
+ renewal BOOLEAN DEFAULT '0', -- true/false if a renewal
+ recurring BOOLEAN DEFAULT '0', -- true/false if recurring
+ recurrence INT NULL DEFAULT 0, -- recurrence type
+ PRIMARY KEY (id),
+ INDEX(account),
+ INDEX(transaction_time),
+ INDEX(due_date)
+);
+
+----
+
+-- Line Item Types
+CREATE TABLE {prefix}invoice_types (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NOT NULL, -- name
+ parent INT NOT NULL DEFAULT 0, -- 0 if top level otherwise ref to another line_item_type as it's parent
+ member_type INT NOT NULL DEFAULT 0, -- Member Type assigned Default 0
+ amount DECIMAL(8,2) NOT NULL DEFAULT '0.00', -- amount
+ recurring BOOLEAN DEFAULT '0', -- true/false if recurring
+ recurrence INT NULL DEFAULT 0, -- recurrence type
+ dynamic_amount BOOLEAN DEFAULT '0', -- true/false if amount is dynamic
+ qcode TINYTEXT NULL, -- qcode for quickbooks
+ category TINYTEXT NULL, -- quickbooks category
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Line Items
+CREATE TABLE {prefix}line_items (
+ id INT NOT NULL AUTO_INCREMENT,
+ invoice INT NOT NULL, -- reference to invoice
+ line_item_type INT NOT NULL, -- reference to line item type
+ account INT NULL DEFAULT 0, -- ref to account id (renewal or employee)
+ name TEXT NOT NULL, -- line item name
+ amount DECIMAL(8,2) DEFAULT '0.00', -- line item amount per item
+ quantity INT DEFAULT 1, -- quantity
+ discount INT DEFAULT 0, -- Discount Percentage
+ total DECIMAL(8,2) DEFAULT '0.00', -- line item total
+ recurring BOOLEAN DEFAULT '0', -- true/false if recurring
+ recurrence INT NULL DEFAULT 0, -- recurrence type
+ created DATE NULL, -- Date this line item was first created
+ first_due_date DATE NULL, -- The first due date for this item
+ next_due_date DATE NULL, -- Next Due Date for this item
+ PRIMARY KEY (id),
+ INDEX(account),
+ INDEX(created),
+ INDEX(first_due_date),
+ INDEX(next_due_date)
+);
+
+----
+
+-- payments
+CREATE TABLE {prefix}payments (
+ id INT NOT NULL AUTO_INCREMENT,
+ transaction_time DATETIME NOT NULL, -- datetime of payment
+ account INT NOT NULL, -- ref to account table
+ amount DECIMAL(8, 2) NOT NULL, -- payment amount
+ payment_method TINYTEXT NOT NULL, -- payment method
+ payment_data TINYTEXT NULL, -- additional payment info
+ notes TEXT NULL, -- Notes/Comments on the payment
+ PRIMARY KEY (id)
+);
+
+----
+
+-- pdfs
+CREATE TABLE {prefix}pdfs (
+ id INT NOT NULL AUTO_INCREMENT,
+ ref_type INT NOT NULL, -- reference type
+ ref_dest INT NOT NULL, -- reference types id
+ pdf MEDIUMTEXT NOT NULL, -- saved pdf
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Notification Types
+CREATE TABLE {prefix}notification_types (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NOT NULL, -- name
+ to_email TINYTEXT NULL, -- To email
+ from_header TINYTEXT NOT NULL, -- from headers
+ replyto TINYTEXT NULL, -- reply-to headers
+ subject TINYTEXT NOT NULL, -- Subject
+ message TEXT NOT NULL, -- Message
+ send_by_date BOOLEAN NULL DEFAULT '0', -- true/false send by date based on due date
+ send_by_action BOOLEAN NULL DEFAULT '0', -- send notice based on an action
+ send_action INT NULL DEFAULT 0, -- (create invoice or receive payment)
+ send_date_number INT NULL DEFAULT 0, -- number to apply to send by date
+ send_date_period INT NULL DEFAULT 0, -- (days,weeks,months,years)
+ send_date_when INT NULL DEFAULT 0, -- (before or after)
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Notifications
+CREATE TABLE {prefix}notifications (
+ id INT NOT NULL AUTO_INCREMENT,
+ notification_type INT NOT NULL, -- ref to notification type
+ account INT NOT NULL, -- ref to account
+ from_replyto TINYTEXT NOT NULL, -- from reply-to header
+ subject TEXT NOT NULL, -- subject
+ message TEXT NOT NULL, -- message
+ date_sent DATETIME NOT NULL, -- Date the notice was sent
+ email_sent TINYTEXT NOT NULL, -- email used
+ type INT NULL, -- Invoice Type
+ type_id INT NULL, -- type id (invoice or payment)
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Notification Queue
+CREATE TABLE {prefix}notification_queue (
+ id INT NOT NULL AUTO_INCREMENT,
+ notification_type INT NOT NULL, -- ref to notification type
+ account INT NOT NULL, -- ref to account
+ queued_time DATETIME NOT NULL, -- Creation time
+ processed_time DATETIME NULL, -- The time this queue was processed. (sent out)
+ PRIMARY KEY (id),
+ INDEX (notification_type),
+ INDEX (account),
+ INDEX (queued_time),
+ INDEX (processed_time)
+);
+
+----
+
+-- Gateway Settings
+CREATE TABLE {prefix}gateway_settings (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TEXT NOT NULL,
+ login_id TINYTEXT NOT NULL,
+ transaction_key TINYTEXT NOT NULL,
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Invoice Payments
+CREATE TABLE {prefix}invoice_payments (
+ id INT NOT NULL AUTO_INCREMENT,
+ invoice INT NOT NULL, -- reference to invoice id
+ payment INT NOT NULL, -- reference to payment id
+ amount DECIMAL(8, 2) NOT NULL, -- payment amount
+ PRIMARY KEY (id),
+ INDEX(invoice)
+);
+
+----
+
+-- Settings
+CREATE TABLE {prefix}settings (
+ id INT NOT NULL AUTO_INCREMENT,
+ -- Invoice Options
+ company_logo TINYTEXT NULL, -- Image logo
+ company_logo_width INT NULL, -- Logo Width (only used if creating pdf)
+ company_name TINYTEXT NULL, -- Company Name
+ company_name2 TINYTEXT NULL, -- Company Name 2
+ company_addr1 TINYTEXT NULL, -- Company Address 1
+ company_addr2 TINYTEXT NULL, -- Company Address 2
+ company_city TINYTEXT NULL, -- Company City
+ company_state TINYTEXT NULL, -- Company State
+ company_zip TINYTEXT NULL, -- Company Zip
+ company_phone TINYTEXT NULL, -- Company Phone
+ company_email TINYTEXT NULL, -- Company Email
+ company_url TINYTEXT NULL, -- Company URL
+ payment_terms TEXT NULL, -- Payment Terms
+ invoice_show_account_number BOOLEAN DEFAULT '0', -- Show Billing Account number on invoices
+ invoice_show_invoice_number BOOLEAN DEFAULT '1', -- Show Invoice Number on invoices
+ days_before_renewal INT NULL, -- Number of days before renewal date to allow renewals
+ days_after_expired INT NULL, -- Number of days after renewal date expired
+ -- Renewal Options
+ allow_membership_choice BOOLEAN DEFAULT '0', -- If memberships can choose their membership levels when they renew
+ allow_employees BOOLEAN DEFAULT '0', -- If memberships have employees
+ member_types_enabled BOOLEAN DEFAULT '1', -- member types determine invoice types
+ quickbooks_enabled BOOLEAN DEFAULT '0', -- QuickBooks enabled
+ member_billing_enabled BOOLEAN DEFAULT '1', -- Member have access to billing info tab
+ billing_fields_required BOOLEAN DEFAULT '1', -- Require Billing Fields
+ invoice_methods_enabled BOOLEAN DEFAULT '0', -- Enable Uptra invoice methods
+ renewal_day_static BOOLEAN DEFAULT '0', -- Renewal dates are same day every year
+ renewal_day INT NULL, -- Day of the month for renewals
+ renewal_month INT NULL, -- Month of year for renewals
+ billing_county_enabled BOOLEAN DEFAULT '0', -- Billing uses county field
+ invoice_pdf_enabled BOOLEAN DEFAULT '0', -- Create PDF invoices
+ billing_contact_name_enabled BOOLEAN DEFAULT '0', -- Use billing_contact_name instead of fname lname
+ member_types_requiring_billing TEXT NULL, -- List of member type id's that require billing
+ -- Account Number
+ account_number_enabled BOOLEAN DEFAULT '0', -- Enable Disable account_number
+ account_number_required BOOLEAN DEFAULT '0', -- Require account_number
+ account_number_unique BOOLEAN DEFAULT '0', -- account_number must be unique
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Set default billing Settings entry
+INSERT INTO {prefix}settings
+ ( id, days_before_renewal ,days_after_expired, member_types_enabled, quickbooks_enabled, member_billing_enabled )
+ VALUES
+ ( 1, 90, 30, true, false, true );
+
+----
+
+-- Management
+CREATE TABLE {prefix}management (
+ id INT NOT NULL AUTO_INCREMENT,
+ payment_methods SMALLINT NULL, -- Payment methods available for all registrations - Bitmap - see payment_method in plugin.ini
+ proc_methods SMALLINT NULL, -- Credit Cart payment processing methods available - Bitmap - see proc_method in plugin.ini
+ cc_accepts SMALLINT NULL, -- Credit Cards Accepted - Bitmap - See credit_card in plugin.ini
+ -- Authorize.net Credentials
+ authorize_net_login TINYTEXT NULL,
+ authorize_net_key TINYTEXT NULL,
+ authorize_net_test TINYINT NULL, -- Authorize.net test mode - List - see proc_test_mode in plugin.ini
+ authorize_net_conf BOOLEAN NULL, -- Flag to send payment confirmation Email from Authorize.net
+ authorize_net_merchant_email TINYTEXT NULL, -- E-Mail Authorize.net will send copy of confirmation E-Mail
+ -- Merchant Solutions Credentials
+ merchant_solutions_acctid TINYTEXT NULL, -- Merchant Solutions credentials
+ merchant_solutions_merchantpin TINYTEXT NULL,
+ merchant_solutions_test TINYINT NULL, -- Merchant Solutions test mode - List - see proc_test_mode in plugin.ini
+ merchant_solutions_conf BOOLEAN NULL, -- Flag to send payment confirmation Email
+ merchant_solutions_merchant_email TINYTEXT NULL, -- Merchant Solutions will send copy of confirmation E-Mail
+ -- Square Credentials
+ square_prod_access_token TINYTEXT NULL, -- Square production access token
+ square_prod_app_id TINYTEXT NULL, -- Square production application id
+ square_prod_location_id TINYTEXT NULL, -- Square production location id
+ square_sandbox_access_token TINYTEXT NULL, -- Square sandbox access token
+ square_sandbox_app_id TINYTEXT NULL, -- Square sandbox application id
+ square_sandbox_location_id TINYTEXT NULL, -- Square sandbox location id
+ square_use_prod BOOLEAN DEFAULT '0', -- If true use Production creds
+ -- Uptravel options
+ uptravel_invoice_template BOOLEAN DEFAULT '0', -- Use uptravel template for invoices.
+ uptravel_payment_form BOOLEAN DEFAULT '0', -- Use uptravel payment form style.
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Set default billing Management entry
+INSERT INTO {prefix}management
+ ( id )
+ VALUES
+ ( 1 );
+
+----
+
+-- Employees table
+CREATE TABLE {prefix}employees (
+ id INT NOT NULL AUTO_INCREMENT,
+ account INT NOT NULL, -- Account Id
+ employee INT NOT NULL, -- Employee Account Id
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Terms
+CREATE TABLE {prefix}settings_terms (
+ id INT NOT NULL AUTO_INCREMENT,
+ invoice_name TINYTEXT NOT NULL,
+ invoice_name_plur TINYTEXT NOT NULL,
+ invoice_name_cap TINYTEXT NOT NULL,
+ invoice_name_plur_cap TINYTEXT NOT NULL,
+ invoice_type TINYTEXT NOT NULL,
+ invoice_type_plur TINYTEXT NOT NULL,
+ invoice_type_cap TINYTEXT NOT NULL,
+ invoice_type_plur_cap TINYTEXT NOT NULL,
+ account_number TINYTEXT NOT NULL,
+ PRIMARY KEY (id)
+);
+
+----
+
+INSERT INTO {prefix}settings_terms
+ (
+ id,
+ invoice_name,
+ invoice_name_plur,
+ invoice_name_cap,
+ invoice_name_plur_cap,
+ invoice_type,
+ invoice_type_plur,
+ invoice_type_cap,
+ invoice_type_plur_cap,
+ account_number
+ )
+ VALUES
+ (
+ 1,
+ 'invoice',
+ 'invoices',
+ 'Invoice',
+ 'Invoices',
+ 'invoice type',
+ 'invoice types',
+ 'Invoice Type',
+ 'Invoice Types',
+ 'Account Number'
+ );
'0.0.34' => array('version' => '0.0.34', 'tables' => 16, 'date' => '03/19/2019'),
'0.0.35' => array('version' => '0.0.35', 'tables' => 16, 'date' => '03/20/2019'),
'0.0.36' => array('version' => '0.0.36', 'tables' => 16, 'date' => '04/02/2019'),
+ '0.0.37' => array('version' => '0.0.37', 'tables' => 16, 'date' => '04/11/2019'),
);
-- Gaslight Media Billing Database
--- File Created: 12/26/2018
--- Database Version: 0.0.32
+-- File Created: 04/02/2019
+-- Database Version: 0.0.36
--
-- To permit each query below to be executed separately,
-- all queries must be separated by a line with four dashes
--- /dev/null
+-- Gaslight Media Billing Database
+-- File Created: 04/11/2019
+-- Database Version: 0.0.37
+--
+-- To permit each query below to be executed separately,
+-- all queries must be separated by a line with four dashes
+
+-- Update the line_items table
+ALTER TABLE {prefix}line_items ADD discount INT DEFAULT 0; -- Discount Percentage
<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>
- <a id="newDiscountLineItemButton" class="glm-billing-add-line-item">Add Discount</a>
</div>
<div class="glm-columns glm-small-12 glm-large-10" id="invoice-line-items">
</div>
<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>
+ </tr>
</table>
</form>
</div>
</tr>
</table>
</div>
-{* Add Discount Form *}
-<div id="newDiscountLineItemDialog" class="glm-dialog-box" title="Add Discount">
- <p class="validateCustomTips glm-required">* Required!</p>
- <table>
- <tr>
- <th class="glm-required" align="right">Discount Amount <br> Numbers only (999.99)</th>
- <td><input name="discount_amount" /></td>
- </tr>
- </table>
-</div>
<script>
jQuery(document).ready(function($){
var dialog, // Dialog for the add line_item form
newAccountDialog, // Dialog for the add new account
customLineItemDialog, // Dialog for the custom line item
- discountLineItemDialog, // Dialog for Discount line item
form, // The add line_item form
newAccountForm, // New Account Form
line_item_type = $( 'select[name="line_item_type"]' ), // Line item type in the add line_item form
+ discount_amount = $( 'input[name="discount_amount"]' ), // Discount amount
line_items = [], // Array holding line_items json objects
allFields = $( [] ).add( line_item_type ), // Array holding the form fields - add line_item form
ref_name = $( 'input[name="ref_name"' ),
billing_zip = $( 'input[name="billing_zip"' ),
billing_phone = $( 'input[name="billing_phone"' ),
customFieldName = $( 'input[name="cf_name"]' ),
- discountAmount = $( 'input[name="discount_amount"]' ),
customFieldAmount = $( 'input[name="cf_amount"]' ),
customFieldParent = $( 'select[name="cf_parent"]' ),
lineTips = $( '.validateTips' ),
.add( billing_phone ) , // Array holding the form fields - add line_item form
allCustomFields = $([]).add( customFieldName ).add( customFieldAmount ).add( customFieldParent ),
invoiceTypeJSON = $.parseJSON( '{$invoiceTypeJSON}' ); // Json object with all of the invoices types
+ lineItemJSON = $.parseJSON( '{$lineItemJSON}' ); // Json object with all of the line items
// From http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#e-mail-state-%28type=email%29
{literal}
var selectedLineItem = invoiceTypeJSON[line_item_type.val()];
// If selectedLineItem is undefined then we must be adding new line item
if ( selectedLineItem == undefined ) {
- // Check that nameand amount are not empty
+ // Check that name and amount are not empty
// valid = valid && checkRequired(
} else {
// Check first to see if this line_item_type is already in line_items.
if ( !isLineItem( selectedLineItem ) ) {
+ // See if there's a discount
+ if ( discount_amount ) {
+ selectedLineItem.discount = parseInt( discount_amount.val() );
+ selectedLineItem.original_amount = selectedLineItem.amount;
+ // Apply discount percentage to amount
+ selectedLineItem.amount -= selectedLineItem.amount * ( selectedLineItem.discount / 100 );
+ }
addLineItemToInvoice( selectedLineItem );
} else {
// Code here to add to quantity.
{
lineItem.qty = parseInt(1);
line_items.push( lineItem );
- $( '#invoice-line-items' ). append( '<div class="glm-row" id="line-item-type-' + lineItem.id + '">' +
- '<div class="glm-columns glm-small-1 line-item-delete dashicons dashicons-trash" data-id="' + lineItem.id + '"></div>' +
- '<div class="glm-columns glm-small-6">' + lineItem.name + '</div>' +
- '<div class="glm-columns glm-small-1">' +
- '<input type="number" min="1" data-id="' + lineItem.id + '" name="line_item_qty[' + lineItem.id + ']" value="1">' +
- '</div><div class="glm-columns glm-small-4">' +
- '<input type="hidden" name="line_items[]" value="' + lineItem.id + '">' +
- '<input type="hidden" name="line_item_amount[' + lineItem.id + ']" value="' + lineItem.amount + '">' +
- '<input type="hidden" name="line_item_name[' + lineItem.id + ']" value="' + lineItem.name + '">' +
- '$' + lineItem.amount + '</div>' +
- '</div>');
- }
-
- /**
- * Add discount line item to invoice
- */
- function addDiscountToInvoice( discount )
- {
- lineItem.qty = parseInt(1);
+ $( '#invoice-line-items' ). append(
+ '<div class="glm-row" id="line-item-type-' + lineItem.id + '">' +
+ '<div class="glm-columns glm-small-1 line-item-delete dashicons dashicons-trash" data-id="' + lineItem.id + '"></div>' +
+ '<div class="glm-columns glm-small-6">' + lineItem.name + '</div>' +
+ '<div class="glm-columns glm-small-2">' +
+ 'Discount ' + lineItem.discount + '%' +
+ '</div>' +
+ '<div class="glm-columns glm-small-1">' +
+ '<input type="number" min="1" data-id="' + lineItem.id + '" name="line_item_qty[' + lineItem.id + ']" value="1">' +
+ '</div>' +
+ '<div class="glm-columns glm-small-2">' +
+ '<input type="hidden" name="line_items[]" value="' + lineItem.id + '">' +
+ '<input type="hidden" name="line_item_amount[' + lineItem.id + ']" value="' + lineItem.amount + '">' +
+ '<input type="hidden" name="line_item_name[' + lineItem.id + ']" value="' + lineItem.name + '">' +
+ '<input type="hidden" name="line_item_discount[' + lineItem.id + ']" value="' + lineItem.discount + '">' + '$' + lineItem.amount +
+ '</div>' +
+ '</div>');
}
// Setup if doing edit
{if $invoice_id && isset($lineItems)}
{foreach $lineItems as $item}
- addLineItemToInvoice( invoiceTypeJSON[{$item.line_item_type}] );
+ addLineItemToInvoice( lineItemJSON[{$item.line_item_type}] );
{/foreach}
totalInvoice();
{/if}
// Here we delete a line_item from the form.
$('body').on( 'click', '.line-item-delete', function(){
$('#line-item-type-' + $(this).data( 'id' ) ).remove();
+ // Reset the discount for this item
+ var selectedLineItem = invoiceTypeJSON[$(this).data( 'id' )];
+ selectedLineItem.amount = selectedLineItem.original_amount;
+
// Need to remove from line_items also.
// Loop through the line_items and remove the one with matching id.
for ( i = 0; i < line_items.length; i++ ) {
},
});
- /**
- * dialog for discount line item
- */
- discountLineItemDialog = $('#newDiscountLineItemDialog').dialog({
- autoOpen: false,
- minWidth: 550,
- dialogClass: 'glm-dialog-no-close',
- modal: true,
- buttons: {
- "Add Discount Line Item": addDiscountLineItem,
- Cancel: function(){
- discountLineItemDialog.dialog( 'close' );
- },
- },
- close: function(){
- discountAmount.val('');
- allCustomFields.removeClass( 'ui-state-error' );
- updateTips( customTips, '* required!' );
- },
- });
-
/**
* Custom Line Item form callback.
*
return valid;
}
- function addDiscountLineItem()
- {
- // Need to validate the form
- var valid = true;
-
- // Clear allCustomFields
- allCustomFields.removeClass( 'ui-state-error' );
-
- // Check fields for a value.
- valid = valid && checkRequired( discountAmount, customTips, 'Amount is required!' );
-
- if ( valid ) {
- addDiscountToInvoice();
- dialog.dialog( 'close' );
- }
-
- return valid;
- }
-
/**
* form
*
return false;
});
- $('#newDiscountLineItemButton').click( function(){
- $('#newDiscountLineItemDialog').dialog( 'open' );
- return false;
- });
-
/**
* dialog for the New Account Form
*/
<input type="hidden" id="account_id" name="account_id" value="{$accountId}" />
<input type="hidden" id="total_renew_amount" name="total_renew_amount" value="" />
+ <input type="hidden" id="member_renewing" name="member_renewing" data-amount="" value="" />
+
<div><p id="billing-msg-center">Start by entering your invoice number. We will look up your account.</p></div>
<div class="glm-billing-field">
<input id="invoice_number" name="invoice_number" value="" required />
</div>
</div>
- <div id="billing-membership-class" class="glm-billing-field glm-hidden">
- <div class="glm-billing-label glm-required">
- Membership Class
- </div>
- <div class="glm-billing-input">
- {if $settings.allow_membership_choice}
- {foreach $payable_types as $type}
- <label>
- <input type="radio" name="member_renewing" data-amount="{$type.amount}" value="{$type.id}" id="invoice_type_id_{$type.id}" />
- {$type.name} {$type.amount}
- </label>
- {/foreach}
- {else}
- <input type="hidden" id="member_renewing" name="member_renewing" data-amount="" value="" />
- {/if}
- </div>
- </div>
<div id="billing-member-name" class="glm-hidden">
Found invoice for:
}
if ( msg.invoice_type ) {
console.log( 'invoice_type', msg.invoice_type );
- {if $settings.allow_membership_choice}
+ $('#member_renewing').data( 'amount', msg.invoice.amount_total );
+ $('#member_renewing').val( msg.invoice_type );
$('#invoice_type_id_' + msg.invoice_type ).attr('checked', true);
$('#billing-msg-center').hide();
$('#membername').html(msg.invoice.member_name);
$('#billing-total-due').show();
$('#billing-member-name').show();
getPageTotal();
- {else}
- $('#member_renewing').data( 'amount', msg.invoice.amount_total );
- $('#member_renewing').val( msg.invoice_type );
- getPageTotal();
- {/if}
}
}
});