From f343e4d0e1db8bad05c5d4199657be06bf4fb6d3 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Tue, 28 Mar 2017 12:51:12 -0400 Subject: [PATCH] Updated database to make a couple of field corrections - V0.0.2 Completed code to build and remove test data for a completed registration. --- classes/registrationsSupport.php | 70 +++++++++++++++---- index.php | 2 +- models/admin/registrations/requests.php | 11 +-- ..._V0.0.1.sql => create_database_V0.0.2.sql} | 6 +- setup/databaseScripts/dbVersions.php | 3 +- ...se_V0.0.1.sql => drop_database_V0.0.2.sql} | 0 .../update_database_V0.0.2.sql | 17 +++++ 7 files changed, 86 insertions(+), 23 deletions(-) rename setup/databaseScripts/{create_database_V0.0.1.sql => create_database_V0.0.2.sql} (99%) rename setup/databaseScripts/{drop_database_V0.0.1.sql => drop_database_V0.0.2.sql} (100%) create mode 100644 setup/databaseScripts/update_database_V0.0.2.sql diff --git a/classes/registrationsSupport.php b/classes/registrationsSupport.php index ebcb507..817353a 100644 --- a/classes/registrationsSupport.php +++ b/classes/registrationsSupport.php @@ -140,7 +140,27 @@ class GlmRegistrationsSupport } - // Temporarily add test data + /* + * Add temporary test data + * + * This builds a completed registration request and adds it to the appropriate + * database tables. + * + * This function builds the following data + * + * 1 reg_event + * 1 reg_class + * 1 reg_rates + * + * 1 account - Account also used as registrant + * + * 1 reg_request + * 1 reg_request_event + * 1 reg_request_class + * 1 reg_request_rate + * 1 reg_request_registrant + * + */ public function addTestData() { @@ -195,7 +215,7 @@ class GlmRegistrationsSupport VALUES ( $regEventID, - $regCLassID, + $regClassID, 100, 50, 20, @@ -297,6 +317,7 @@ class GlmRegistrationsSupport event, event_time, total_charge, + mf_data, notes ) VALUES @@ -306,6 +327,7 @@ class GlmRegistrationsSupport $regEventID, 0, 100, + '', '' ) ;"; @@ -328,7 +350,7 @@ class GlmRegistrationsSupport VALUES ( $accountID, - regEventID, + $regEventID, 0, $requestID, $requestEventID, @@ -343,31 +365,41 @@ class GlmRegistrationsSupport // Registration Request Rate $sql = " - INSERT INTO ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_request_class + INSERT INTO ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_request_rate ( account, event, event_time, reg_request, reg_request_event, - total_class_charge, + reg_request_class, + base_rate, + per_registrant, + registrant_credits, + numb_registrants, + total_registrant_charges, mf_data, notes ) VALUES ( $accountID, - regEventID, + $regEventID, 0, $requestID, $requestEventID, + $requestClassID, + 100, + 10, + 1, + 1, 100, '', '' ) ;"; $this->wpdb->query($sql); - $requestClassID = $this->wpdb->insert_id; + $requestRateID = $this->wpdb->insert_id; // Registration Request Registrant @@ -379,37 +411,45 @@ class GlmRegistrationsSupport event_time, reg_request, reg_request_event, - total_class_charge, + reg_request_class, + reg_request_rate, + reg_request_registrant, mf_data, notes ) VALUES ( $accountID, - regEventID, + $regEventID, 0, $requestID, $requestEventID, - 100, + $requestClassID, + $requestRateID, + $accountID, '', '' ) ;"; $this->wpdb->query($sql); - $requestClassID = $this->wpdb->insert_id; + $requestRegistrantID = $this->wpdb->insert_id; return; } - public function removeTestData($testIDs) + public function removeRegistrationRequestData($testIDs) { - - $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_request;"); + $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_event;"); + $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_class;"); + $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_rates;"); $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."account;"); + $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_request;"); $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_request_event;"); + $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_request_class;"); + $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_request_rate;"); + $this->wpdb->query("DELETE FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_request_registrant;"); } - } diff --git a/index.php b/index.php index 5922ddd..25e2ffe 100644 --- a/index.php +++ b/index.php @@ -38,7 +38,7 @@ * version from this plugin. */ define('GLM_MEMBERS_REGISTRATIONS_PLUGIN_VERSION', '0.0.1'); -define('GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_VERSION', '0.0.1'); +define('GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_VERSION', '0.0.2'); // This is the minimum version of the GLM Members DB plugin require for this plugin. define('GLM_MEMBERS_REGISTRATIONS_PLUGIN_MIN_MEMBERS_REQUIRED_VERSION', '2.8.0'); diff --git a/models/admin/registrations/requests.php b/models/admin/registrations/requests.php index 46e8d62..b67f3cb 100644 --- a/models/admin/registrations/requests.php +++ b/models/admin/registrations/requests.php @@ -81,7 +81,6 @@ class GlmMembersAdmin_registrations_requests extends GlmDataRegistrationRequest public function modelAction($actionData = false) { - $haveRequests = false; $requests = false; $haveRequest = false; @@ -95,9 +94,13 @@ class GlmMembersAdmin_registrations_requests extends GlmDataRegistrationRequest $regSupport = new GlmRegistrationsSupport($this->wpdb, $this->config); -// Test data -//$regSupport->addTestData(); -//$regSupport->removeTestData(); + /* Test data */ + + /* Uncomment to create one complete sample registration request each time this action is called */ + // $regSupport->addTestData(); + + /* Uncomment to remove all registration data - *** WARNING - REMOVES ALL REQUEST DATA - NOT JUST TEST DATA *** */ + // $regSupport->removeRegistrationRequestData(); // Check for option submitted if (isset($_REQUEST['option']) && $_REQUEST['option'] != '') { diff --git a/setup/databaseScripts/create_database_V0.0.1.sql b/setup/databaseScripts/create_database_V0.0.2.sql similarity index 99% rename from setup/databaseScripts/create_database_V0.0.1.sql rename to setup/databaseScripts/create_database_V0.0.2.sql index 83f7c9b..d2c3a72 100644 --- a/setup/databaseScripts/create_database_V0.0.1.sql +++ b/setup/databaseScripts/create_database_V0.0.2.sql @@ -475,8 +475,8 @@ CREATE TABLE {prefix}reg_request_event ( event INT NULL, -- Pointer to reg_event event_time INT NULL, -- Pointer to event_times table entry in Events add-on total_charge FLOAT, -- Last calculated total of all charges for registration to this event for all registrants - notes TEXT NULL, -- System operator's notes for this registration request mf_data TEXT NULL, -- Any MagicForm data associated with requested event + notes TEXT NULL, -- System operator's notes for this registration request PRIMARY KEY (id), INDEX (reg_request), INDEX (account), @@ -517,7 +517,7 @@ CREATE TABLE {prefix}reg_request_rate ( reg_request INT NULL, -- Pointer to the registration request record reg_request_event INT NULL, -- Pointer to reg_request_event table entry reg_request_class INT NULL, -- Pointer to reg_request_class table entry - rate_base FLOAT, -- Base rate at time of registration + base_rate FLOAT, -- Base rate at time of registration per_registrant FLOAT, -- Per Registrant Rate at time of registration registrant_credits TINYINT NULL, -- Number of registrant credits in base rate at time of registration numb_registrants TINYINT NULL, -- Last calculated number of registrants with this rate @@ -540,6 +540,7 @@ CREATE TABLE {prefix}reg_request_registrant ( account INT NULL, -- Pointer to account for person submitting the registration event INT NULL, -- Pointer to reg_event entry event_time INT NULL, -- Pointer to event_times table entry in Events add-on - To help with registrant searches + reg_request INT NULL, -- Pointer to the registration request record reg_request_event INT NULL, -- Pointer to reg_request_event table entry reg_request_class INT NULL, -- Pointer to reg_request_class table entry reg_request_rate INT NULL, -- Pointer to reg_request_rate table entry @@ -550,6 +551,7 @@ CREATE TABLE {prefix}reg_request_registrant ( INDEX (account), INDEX (event), INDEX (event_time), + INDEX (reg_request), INDEX (reg_request_event), INDEX (reg_request_class), INDEX (reg_request_rate), diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php index 90ea7b7..c922a13 100644 --- a/setup/databaseScripts/dbVersions.php +++ b/setup/databaseScripts/dbVersions.php @@ -14,7 +14,8 @@ */ $glmMembersRegistrationsDbVersions = array( - '0.0.1' => array('version' => '0.0.1', 'tables' => 18, 'date' => '03/3/2017') + '0.0.1' => array('version' => '0.0.1', 'tables' => 18, 'date' => '03/3/2017'), + '0.0.2' => array('version' => '0.0.2', 'tables' => 18, 'date' => '03/28/2017') ); diff --git a/setup/databaseScripts/drop_database_V0.0.1.sql b/setup/databaseScripts/drop_database_V0.0.2.sql similarity index 100% rename from setup/databaseScripts/drop_database_V0.0.1.sql rename to setup/databaseScripts/drop_database_V0.0.2.sql diff --git a/setup/databaseScripts/update_database_V0.0.2.sql b/setup/databaseScripts/update_database_V0.0.2.sql new file mode 100644 index 0000000..e54e662 --- /dev/null +++ b/setup/databaseScripts/update_database_V0.0.2.sql @@ -0,0 +1,17 @@ +-- Gaslight Media Members Database - Registrations Add-On +-- File Created: 03/28/17 11:33:00 +-- Database Version: 0.0.2 +-- Database Update From Previous Version Script +-- +-- To permit each query below to be executed separately, +-- all queries must be separated by a line with four dashses + +ALTER TABLE {prefix}reg_request_registrant ADD COLUMN reg_request INT; + +---- + +CREATE INDEX {prefix}reg_request ON {prefix}reg_request_registrant (reg_request); + +---- + +ALTER TABLE {prefix}reg_request_rate CHANGE rate_base base_rate FLOAT; \ No newline at end of file -- 2.17.1