From 157ae839386e9802d866c6a594943d743c9eedc8 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Thu, 15 Mar 2018 16:31:47 -0400 Subject: [PATCH] Start setup of import script for migcsa to create invoices This needs to be done within the plugin to get access to the billingSupport classes. --- models/admin/management/transfer.php | 166 ++++++++++++++++++++++++++ setup/validActions.php | 3 +- views/admin/management/billing.html | 5 +- views/admin/management/import.html | 6 + views/admin/management/subHeader.html | 7 ++ 5 files changed, 183 insertions(+), 4 deletions(-) create mode 100644 models/admin/management/transfer.php create mode 100644 views/admin/management/import.html create mode 100644 views/admin/management/subHeader.html diff --git a/models/admin/management/transfer.php b/models/admin/management/transfer.php new file mode 100644 index 0000000..61fab85 --- /dev/null +++ b/models/admin/management/transfer.php @@ -0,0 +1,166 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @release billing.php,v 1.0 2014/10/31 19:31:47 cscott Exp $ + * @link http://dev.gaslightmedia.com/ + */ + +// Load Management Billing data abstract +require_once GLM_MEMBERS_BILLING_PLUGIN_CLASS_PATH.'/data/dataManagement.php'; + +/** + * GlmMembersAdmin_management_billing + * + * PHP version 5 + * + * @category Model + * @package GLM Member DB + * @author Chuck Scott + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: packaging.php,v 1.0 2011/01/25 19:31:47 cscott + * Exp $ + */ +class GlmMembersAdmin_management_transfer // extends GlmDataBillingManagement +{ + + /** + * WordPress Database Object + * + * @var $wpdb + * @access public + */ + public $wpdb; + /** + * dbh Postgres database connection + * + * @var mixed + * @access public + */ + public $config; + /** + * settings used for the schema and tablenames + * + * @var mixed + * @access public + */ +// public $settings = array(); +// /** +// * billing +// * +// * @var bool +// * @access public +// */ +// public $billing = array(); + + /** + * Constructor + * + * This contructor performs the work for this model. This model returns + * an array containing the following. + * + * 'status' + * + * True if successfull and false if there was a fatal failure. + * + * '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. + * + * @wpdb object WordPress database object + * + * @return array Array containing status, suggested view, and any data + */ + 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); + + } + + /** + * modelAction + * + * @param bool $actionData + * @access public + * @return void + */ + public function modelAction($actionData = false) + { + + $option = false; + $importResults = importResults; + + // General settings are always stored in a record with ID=1. + $id = 1; + + // Determine if current user can import billing + if (!current_user_can('glm_members_management')) { + return array( + 'status' => false, + 'menuItemRedirect' => 'error', + 'modelRedirect' => 'index', + 'view' => 'admin/error/index.html', + 'data' => array( + 'reason' => 'User does not have rights to import.' + ) + ); + } + + // Check for submission option + $option = ''; + if (isset($_REQUEST['option']) && $_REQUEST['option'] == 'submit') { + $option = $_REQUEST['option']; + } + + switch( $option ) { + + // Update the settings and redisplay the form + case 'submit': + + break; + + // Default is to get the current settings and display the form + default: + + break; + + } + + // Compile template data + $template_data = array( + 'importResults' => $importResults, + ); + + // Return status, suggested view, and data to controller + return array( + 'status' => true, + 'menuItemRedirect' => false, + 'modelRedirect' => false, + 'view' => 'admin/management/import.html', + 'data' => $template_data + ); + } +} +?> diff --git a/setup/validActions.php b/setup/validActions.php index c83fa54..a5fbdb8 100644 --- a/setup/validActions.php +++ b/setup/validActions.php @@ -66,7 +66,8 @@ $glmMembersBillingAddOnValidActions = array( 'invoiceTypes' => GLM_MEMBERS_BILLING_PLUGIN_SLUG, ), 'management' => array( - 'billing' => GLM_MEMBERS_BILLING_PLUGIN_SLUG, + 'billing' => GLM_MEMBERS_BILLING_PLUGIN_SLUG, + 'transfer' => GLM_MEMBERS_BILLING_PLUGIN_SLUG, ), 'settings' => array( 'billing' => GLM_MEMBERS_BILLING_PLUGIN_SLUG, diff --git a/views/admin/management/billing.html b/views/admin/management/billing.html index 00f72f7..fd73eef 100644 --- a/views/admin/management/billing.html +++ b/views/admin/management/billing.html @@ -1,8 +1,7 @@ {include file='admin/management/header.html'} - + +{include file='admin/management/subHeader.html'} diff --git a/views/admin/management/import.html b/views/admin/management/import.html new file mode 100644 index 0000000..c9227fa --- /dev/null +++ b/views/admin/management/import.html @@ -0,0 +1,6 @@ +{include file='admin/management/header.html'} + +
+
+ +{include file='admin/management/footer.html'} diff --git a/views/admin/management/subHeader.html b/views/admin/management/subHeader.html new file mode 100644 index 0000000..9b0d5b8 --- /dev/null +++ b/views/admin/management/subHeader.html @@ -0,0 +1,7 @@ + + -- 2.17.1