From: Andrew Engelbrecht Date: Tue, 25 Apr 2023 21:50:43 +0000 (-0400) Subject: remove redundant gift membership check X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=5ba93058075c3fbe71d0d36e0592e9d488f170ec;p=fsfdrupalauth.git remove redundant gift membership check we don't need to check for gift memberships in particular in the given time frame, because they're automatically included in the general membership check for that time frame. --- diff --git a/docs/fsf-drupal-auth.md b/docs/fsf-drupal-auth.md index 4209ba2..5ede15a 100644 --- a/docs/fsf-drupal-auth.md +++ b/docs/fsf-drupal-auth.md @@ -26,7 +26,6 @@ SQL queries in `config/authsources.php` should be something like the following: 'query_discussion_process_old_membership' => "select count(*) from drupal.users a inner join civicrm.civicrm_uf_match b on a.uid=b.uf_id inner join civicrm.civicrm_membership c on b.contact_id=c.contact_id inner join civicrm.civicrm_contact d on c.contact_id=d.id where a.status = 1 and d.is_deleted = 0 and c.status_id is not NULL and a.name = :username and d.end_date > :start_date and d.start_date < :end_date and (c.status_id = 1 or c.status_id = 2 or c.status_id = 3 or c.status_id = 4) order by c.status_id limit 10;", 'query_discussion_process_donations' => "select d.total_amount as amount, d.receive_date as receive_date, f.membership_type_id as member_type_id from drupal.users a inner join civicrm.civicrm_uf_match b on a.uid=b.uf_id inner join civicrm.civicrm_contact c on b.contact_id=c.id inner join civicrm.civicrm_contribution d on c.id=d.contact_id left join civicrm.civicrm_membership_payment e on d.id=e.contribution_id left join civicrm.civicrm_membership f on e.membership_id=f.id where a.name = :username and d.contribution_status_id = 1 and d.receive_date > :start_date and d.receive_date < :end_date;", - 'query_discussion_process_gift_receipt' => "select count(*) as gift_memberships_count from drupal.users a inner join civicrm.civicrm_uf_match b on a.uid=b.uf_id inner join civicrm.civicrm_contact c on b.contact_id=c.id inner join civicrm.civicrm_contribution d on c.id=d.contact_id where a.name = :username and d.contribution_page_id = :gift_redeem_page_id and d.receive_date > :start_date and d.receive_date < :end_date;", 'query_discussion_process_adhoc' => "select count(*) as is_adhoc_member from drupal.users a inner join civicrm.civicrm_uf_match b on a.uid=b.uf_id inner join civicrm.civicrm_contact c on b.contact_id=c.id inner join civicrm.civicrm_group_contact d on c.id=d.contact_id where a.name=:username and a.status=1 and c.is_deleted=0 and d.group_id = :adhoc_access_group_id and d.status = 'Added' limit 1;", diff --git a/lib/Auth/Source/FSFDrupalAuth.php b/lib/Auth/Source/FSFDrupalAuth.php index 4f365ca..44f3335 100644 --- a/lib/Auth/Source/FSFDrupalAuth.php +++ b/lib/Auth/Source/FSFDrupalAuth.php @@ -51,7 +51,6 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase private $query_discussion_process_old_membership; private $query_discussion_process_donations; - private $query_discussion_process_gift_receipt; private $query_discussion_process_adhoc; /** @@ -113,7 +112,6 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase 'query_discussion_process_old_membership', 'query_discussion_process_donations', - 'query_discussion_process_gift_receipt', 'query_discussion_process_adhoc', 'discussion_process_active', @@ -473,7 +471,6 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase $donation_params = ['start_date' => $discussion_process_start_date, 'end_date' => $discussion_process_end_date]; $old_member_params = $donation_params; - $gift_member_params = ['start_date' => $discussion_process_start_date, 'end_date' => $discussion_process_end_date, 'gift_redeem_page_id' => intval($this->gift_redeem_page_id)]; $adhoc_params = ['adhoc_access_group_id' => intval($this->discussion_process_adhoc_access_group_id)]; $adhoc_params_no = ['adhoc_access_group_id' => intval($this->discussion_process_adhoc_no_access_group_id)]; @@ -494,8 +491,7 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase $attributes['discussion_process'] = ['false']; } elseif ($compare_res($old_membership_query('query_discussion_process_old_membership', $old_member_params), 1) - || $discussion_process_analyze_history($donation_query('query_discussion_process_donations', $donation_params)) - || $compare_res($donation_query('query_discussion_process_gift_receipt', $gift_member_params), 1)) { + || $discussion_process_analyze_history($donation_query('query_discussion_process_donations', $donation_params))) { $attributes['discussion_process'] = ['true'];