From: Steve Sutton Date: Fri, 1 Sep 2017 16:11:57 +0000 (-0400) Subject: Adding management option for members to access leads. X-Git-Tag: v1.1.1^2~4 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/index.cgi?a=commitdiff_plain;h=b862385d708aff0e74a88743f66155847593eb0d;p=WP-Plugins%2Fglm-member-db-leads.git Adding management option for members to access leads. default to turning it on. --- diff --git a/defines.php b/defines.php index b28b20e..780d49b 100644 --- a/defines.php +++ b/defines.php @@ -11,6 +11,7 @@ define('GLM_MEMBERS_LEADS_PLUGIN_NAME', 'Gaslight Media Members Database Leads') define('GLM_MEMBERS_LEADS_PLUGIN_SHORT_NAME', 'Leads'); define('GLM_MEMBERS_LEADS_PLUGIN_SLUG', 'glm-member-db-leads'); define('GLM_MEMBERS_LEADS_PLUGIN_IMPORT_OPTION', 'glm_member_db_leads_import_option'); +define('GLM_MEMBERS_LEADS_PLUGIN_MEMBER_ACCESS_OPTION', 'glm_member_db_leads_member_access'); // Database table prefixes - change if using add-on tables global $wpdb; diff --git a/models/admin/management/leads.php b/models/admin/management/leads.php index 65e2b0c..7465fa5 100644 --- a/models/admin/management/leads.php +++ b/models/admin/management/leads.php @@ -116,19 +116,21 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement */ public function modelAction($actionData = false) { - $forms = false; - $form = false; - $result = false; - $sources = false; - $option2 = false; - $option = false; - $form_id = false; - $import_fields = false; - $importing = false; - $option_name = GLM_MEMBERS_LEADS_PLUGIN_IMPORT_OPTION; - $page_size = 200; - $offset = false; - $next_offset = false; + $forms = false; + $form = false; + $result = false; + $sources = false; + $option2 = false; + $option = false; + $form_id = false; + $import_fields = false; + $importing = false; + $option_name = GLM_MEMBERS_LEADS_PLUGIN_IMPORT_OPTION; + $page_size = 200; + $offset = false; + $next_offset = false; + $settingsUpdated = false; + $settingsUpdateError = false; // Grab data from the Sources table $sources = $this->wpdb->get_results( @@ -153,6 +155,28 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement $importing = filter_var( $_REQUEST['importing'], FILTER_VALIDATE_BOOLEAN ); } + // Check for GLM_MEMBERS_LEADS_PLUGIN_MEMBER_ACCESS_OPTION option. If + // it doesn't exists then set it to true. + $memberCanAccessLeads = get_option( GLM_MEMBERS_LEADS_PLUGIN_MEMBER_ACCESS_OPTION, 'default_value' ); + if ( $memberCanAccessLeads === 'default_value' ) { + update_option( GLM_MEMBERS_LEADS_PLUGIN_MEMBER_ACCESS_OPTION, 1 ); + } + + switch ( $option ) { + case 'settings': + if ( isset( $_REQUEST['member_can_access_leads'] ) ) { + $memberCanAccessLeads = filter_var( $_REQUEST['member_can_access_leads'], FILTER_VALIDATE_BOOLEAN ); + } + update_option( GLM_MEMBERS_LEADS_PLUGIN_MEMBER_ACCESS_OPTION, $memberCanAccessLeads ); + $settingsUpdated = true; + break; + default: + break; + + } + + $memberCanAccessLeads = get_option( GLM_MEMBERS_LEADS_PLUGIN_MEMBER_ACCESS_OPTION ); + switch( $option2 ) { case 'importleads': @@ -249,16 +273,19 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement } // Compile template data - $templateData = array( - 'import_fields' => $import_fields, - 'importing' => $importing, - 'form' => $form, - 'forms' => $forms, - 'sources' => $sources, - 'option2' => $option2, - 'result' => $result, - 'offset' => $offset, - 'next_offset' => $next_offset, + $templateData = array( + 'import_fields' => $import_fields, + 'importing' => $importing, + 'form' => $form, + 'forms' => $forms, + 'sources' => $sources, + 'option2' => $option2, + 'result' => $result, + 'offset' => $offset, + 'next_offset' => $next_offset, + 'mLeadAccess' => $memberCanAccessLeads, + 'settingsUpdated' => $settingsUpdated, + 'settingsUpdateError' => $settingsUpdateError, ); // Return status, suggested view, and data to controller diff --git a/setup/adminMenus.php b/setup/adminMenus.php index ddba5b6..c5b6066 100644 --- a/setup/adminMenus.php +++ b/setup/adminMenus.php @@ -62,12 +62,16 @@ add_submenu_page( // If a contact is logged in (ownEntity isn't false), add Contact Profile menu item if ( isset( $this->config['loggedInUser']['contactUser'] ) && $this->config['loggedInUser']['contactUser'] ) { - add_submenu_page( - $mainMenuSlug, - 'Leads', - 'Leads', - 'glm_members_edit_my_entity', - 'glm-members-admin-menu-leads-index', - function() {$this->controller('leads');} - ); + // Check for the option GLM_MEMBERS_LEADS_PLUGIN_MEMBER_ACCESS_OPTION + $memberCanAccessLeads = get_option( GLM_MEMBERS_LEADS_PLUGIN_MEMBER_ACCESS_OPTION ); + if ( $memberCanAccessLeads ) { + add_submenu_page( + $mainMenuSlug, + 'Leads', + 'Leads', + 'glm_members_edit_my_entity', + 'glm-members-admin-menu-leads-index', + function() {$this->controller('leads');} + ); + } } diff --git a/views/admin/management/leads.html b/views/admin/management/leads.html index a4cf299..7467b78 100644 --- a/views/admin/management/leads.html +++ b/views/admin/management/leads.html @@ -3,12 +3,41 @@

This requires Gravity Forms to be Installed and active

+ + + + + + @@ -183,7 +212,12 @@ jQuery(document).ready(function($){ // Show selected table var table = $(this).attr('data-show-table'); $('#' + table).removeClass('glm-hidden'); + + }); + // 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).fadeIn(500).fadeOut(500); + });
+ {if $settingsUpdated}

Settings Updated

{/if} + {if $settingsUpdateError}Settings Update Error{/if} +

Management Settings

+
+
+ + + + + + + + + + +
Members can access leads: + + +
+
+
Form Id Source Name