Skip to content

Commit

Permalink
Merge pull request #495 from openedx/kiram15/ENT-9040
Browse files Browse the repository at this point in the history
fix: removing redundant group membership check
  • Loading branch information
kiram15 authored Jun 24, 2024
2 parents 31c23f2 + b819d0c commit 48b4e73
Showing 1 changed file with 6 additions and 25 deletions.
31 changes: 6 additions & 25 deletions enterprise_access/apps/subsidy_access_policy/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -550,17 +550,14 @@ def get_list_price(self, lms_user_id, content_key): # pylint: disable=unused-ar
self.get_content_metadata(content_key),
)

def includes_learner(self, lms_user_id, enterprise_user_record=None):
def includes_learner(self, lms_user_id):
"""
Determine whether the lms user is associated properly with both the enterprise
and the policy's group(s).
"""
if enterprise_user_record is not None:
learner_record = enterprise_user_record
else:
learner_record = self.enterprise_user_record(lms_user_id)
if not learner_record:
return False, REASON_LEARNER_NOT_IN_ENTERPRISE
learner_record = self.enterprise_user_record(lms_user_id)
if not learner_record:
return False, REASON_LEARNER_NOT_IN_ENTERPRISE

associated_group_uuids = set(learner_record.get('enterprise_group', []))
# if there are no policy groups, return early
Expand Down Expand Up @@ -706,14 +703,7 @@ def can_redeem(self, lms_user_id, content_key, skip_customer_user_check=False):

# learner not associated to enterprise
if not skip_customer_user_check:
enterprise_user_record = self.enterprise_user_record(lms_user_id)
if not enterprise_user_record:
self._log_redeemability(False, REASON_LEARNER_NOT_IN_ENTERPRISE, lms_user_id, content_key)
return (False, REASON_LEARNER_NOT_IN_ENTERPRISE, [])
included_in_policy, reason = self.includes_learner(
lms_user_id,
enterprise_user_record
)
included_in_policy, reason = self.includes_learner(lms_user_id)
if not included_in_policy:
self._log_redeemability(False, reason, lms_user_id, content_key)
return (False, reason, [])
Expand Down Expand Up @@ -811,16 +801,7 @@ def credit_available(

# learner not linked to enterprise
if not skip_customer_user_check:
enterprise_user_record = self.enterprise_user_record(lms_user_id)
if not enterprise_user_record:
logger.info(
f'[credit_available] learner {lms_user_id} not linked to enterprise {self.enterprise_customer_uuid}'
)
return False
included_in_policy, reason = self.includes_learner(
lms_user_id,
enterprise_user_record
)
included_in_policy, reason = self.includes_learner(lms_user_id)
if not included_in_policy:
logger.info(f'[credit_available] learner {lms_user_id} encountered error {reason}')
return False
Expand Down

0 comments on commit 48b4e73

Please sign in to comment.