From 2d61361e521b27d4f92655dca920cb10ad4e9934 Mon Sep 17 00:00:00 2001 From: Andrew Engelbrecht Date: Mon, 24 Apr 2023 16:23:17 -0400 Subject: [PATCH] option to disable nomination process status check this allows us to skip some expensive checks if we're not currently using them --- docs/fsf-drupal-auth.md | 1 + lib/Auth/Source/FSFDrupalAuth.php | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/fsf-drupal-auth.md b/docs/fsf-drupal-auth.md index cbd5095..68aaff4 100644 --- a/docs/fsf-drupal-auth.md +++ b/docs/fsf-drupal-auth.md @@ -27,6 +27,7 @@ SQL queries in `config/authsources.php` should be something like the following: 'fsf_org_id' => '739106', 'gift_redeem_page_id' => '63', + 'nomination_process_active' => 'true', 'nomination_process_contrib_start_date' => '2017-01-01', 'nomination_process_contrib_end_date' => '2022-01-01', 'nomination_process_adhoc_access_group_id' => '1786', diff --git a/lib/Auth/Source/FSFDrupalAuth.php b/lib/Auth/Source/FSFDrupalAuth.php index 7a1f68d..a543e04 100644 --- a/lib/Auth/Source/FSFDrupalAuth.php +++ b/lib/Auth/Source/FSFDrupalAuth.php @@ -55,6 +55,7 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase private $fsf_org_id; private $gift_redeem_page_id; + private $nomination_process_active; private $nomination_process_contrib_start_date; private $nomination_process_contrib_end_date; private $nomination_process_adhoc_access_group_id; @@ -91,6 +92,7 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase 'fsf_org_id', 'gift_redeem_page_id', + 'nomination_process_active', 'nomination_process_contrib_start_date', 'nomination_process_contrib_end_date', 'nomination_process_adhoc_access_group_id', @@ -383,14 +385,18 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase $gift_member_params = ['start_date' => $start_date, 'end_date' => $end_date, 'gift_redeem_page_id' => intval($this->gift_redeem_page_id)]; $adhoc_params = ['adhoc_access_group_id' => intval($this->nomination_process_adhoc_access_group_id)]; - if ($compare_res($donation_query('query_nomination_process_adhoc', $adhoc_params), 1) || ($attributes['is_member'] == ['true'] - && ($analyze_history($donation_query('query_nomination_process_donations', $donation_params)) - || $compare_res($donation_query('query_nomination_process_gift_receipt', $gift_member_params), 1)))) { + if ($this->nomination_process_active == 'true' ) { + if ($compare_res($donation_query('query_nomination_process_adhoc', $adhoc_params), 1) || ($attributes['is_member'] == ['true'] + && ($analyze_history($donation_query('query_nomination_process_donations', $donation_params)) + || $compare_res($donation_query('query_nomination_process_gift_receipt', $gift_member_params), 1)))) { - $attributes['nomination_process'] = ['true']; + $attributes['nomination_process'] = ['true']; + } else { + Logger::debug('fsfdrupalauth:'.$this->authId. + ': Not a member / comparable donor during window for board process.'); + $attributes['nomination_process'] = ['false']; + } } else { - Logger::debug('fsfdrupalauth:'.$this->authId. - ': Not a member / comparable donor during window for board process.'); $attributes['nomination_process'] = ['false']; } -- 2.25.1