From 70f0b7e2dc858d479f73f571e4943339acfd8ac8 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Mon, 19 Mar 2018 12:26:57 -0400 Subject: [PATCH] Add member type to the edit invoice Adding the member type into setting for invoice types --- classes/data/dataInvoiceTypes.php | 12 +++++++++ models/admin/settings/invoiceTypes.php | 8 ++++++ views/admin/settings/invoiceTypes.html | 37 +++++++++++++++++++++++--- 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/classes/data/dataInvoiceTypes.php b/classes/data/dataInvoiceTypes.php index a4f3d10..1758fa3 100644 --- a/classes/data/dataInvoiceTypes.php +++ b/classes/data/dataInvoiceTypes.php @@ -134,6 +134,18 @@ class GlmDataInvoiceTypes extends GlmDataAbstract 'required' => false, 'use' => 'a' ), + // Parent - for adding, deleting and editing, has selection tables + 'member_type' => array( + 'field' => 'member_type', + 'type' => 'pointer', + 'p_table' => GLM_MEMBERS_PLUGIN_DB_PREFIX . 'member_types', + 'p_field' => 'name', + 'p_orderby' => 'name', + 'p_blank' => true, + 'force_list' => true, + 'required' => false, + 'use' => 'a' + ), // Amount 'amount' => array( 'field' => 'amount', diff --git a/models/admin/settings/invoiceTypes.php b/models/admin/settings/invoiceTypes.php index d948c4d..f31de07 100644 --- a/models/admin/settings/invoiceTypes.php +++ b/models/admin/settings/invoiceTypes.php @@ -15,6 +15,7 @@ // 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 @@ -104,6 +105,7 @@ class GlmMembersAdmin_settings_invoiceTypes extends GlmDataInvoiceTypes $invoiceTypes = false; $error = false; $enable_members = $this->config['settings']['enable_members']; + $memberTypes = false; // Check for region id $id = 0; @@ -160,6 +162,11 @@ class GlmMembersAdmin_settings_invoiceTypes extends GlmDataInvoiceTypes $invoiceTypes = $this->sortParentChild($invoiceTypes); // echo '
$invoiceTypes: ' . print_r( $invoiceTypes, true ) . '
'; + // Get list of Member Types + $MemberType = new GlmDataMemberTypes( $this->wpdb, $this->config ); + $memberTypes = $MemberType->getList(); + // echo '
$memberTypes: ' . print_r( $memberTypes, true ) . '
'; + // If we had a fatal error, redirect to the error page if ($error) { @@ -179,6 +186,7 @@ class GlmMembersAdmin_settings_invoiceTypes extends GlmDataInvoiceTypes 'haveInvoiceTypes' => $haveInvoiceTypes, 'invoiceTypes' => $invoiceTypes, 'recurrenceTypes' => $this->config['recurrence'], + 'memberTypes' => $memberTypes, ); // Return status, suggested view, and data to controller diff --git a/views/admin/settings/invoiceTypes.html b/views/admin/settings/invoiceTypes.html index e3e6f38..4bfb0d5 100644 --- a/views/admin/settings/invoiceTypes.html +++ b/views/admin/settings/invoiceTypes.html @@ -10,13 +10,13 @@ - + - + + + + + + + + +
Invoice Type Name:Invoice Type Name
Parent:Parent
Member Type + +
Amount:Numbers only
(999.99)
@@ -98,6 +111,19 @@
Member Type + +
Amount:Numbers only
(999.99)
@@ -158,6 +184,7 @@ data-invoice-id="{$t.id}" data-invoice-name="{$t.name}" data-invoice-parent="{$t.parent.value}" + data-invoice-member_type="{$t.member_type.value}" data-invoice-amount="{$t.amount}" data-invoice-recurring="{$t.recurring.value}" data-invoice-recurrence="{$t.recurrence}">{$t.name} @@ -183,12 +210,12 @@ jQuery(document).ready(function($) { $("#newInvoiceTypeDialog").dialog({ autoOpen: false, - minWidth: 400, + minWidth: 600, dialogClass: "glm-dialog-no-close" }); $("#editInvoiceTypeDialog").dialog({ autoOpen: false, - minWidth: 400, + minWidth: 600, dialogClass: "glm-dialog-no-close" }); $("#deleteInvoiceTypeDialog").dialog({ @@ -206,6 +233,7 @@ jQuery(document).ready(function($) { 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 invoiceRecurring = $(this).data('invoice-recurring'); var invoiceRecurrence = $(this).data('invoice-recurrence'); @@ -216,6 +244,7 @@ jQuery(document).ready(function($) { $('#edit-id').val( invoiceID ); $('#edit-name').val( invoiceName ); $('#edit-parent').val( invoiceParent ); + $('#edit-member_type').val( invoiceType ); $('#edit-amount').val( invoiceAmount ); if ( invoiceRecurring === 1 ) { $('#edit-recurring').prop( 'checked', true ); -- 2.17.1