diff --git a/conditional/blueprints/slideshow.py b/conditional/blueprints/slideshow.py index ec29065..c9d154f 100644 --- a/conditional/blueprints/slideshow.py +++ b/conditional/blueprints/slideshow.py @@ -11,9 +11,9 @@ from conditional.models.models import SpringEval from conditional.util.auth import get_user from conditional.util.flask import render_template -from conditional.util.ldap import ldap_is_intromember, ldap_set_failed, ldap_set_bad_standing, \ - ldap_set_inactive, ldap_get_member, ldap_set_not_intro_member -from conditional.util.user_dict import user_dict_is_eval_director +from conditional.util.ldap import ldap_is_eval_director, ldap_is_intromember, ldap_set_failed, ldap_set_bad_standing, \ + ldap_set_inactive, ldap_get_member, ldap_set_not_intro_member, ldap_get_housingpoints, ldap_set_housingpoints + logger = structlog.get_logger() @@ -137,6 +137,7 @@ def slideshow_spring_review(user_dict=None): if status == "Passed": if ldap_is_intromember(account): ldap_set_not_intro_member(account) + ldap_set_housingpoints(account, ldap_get_housingpoints(account) + 2) elif status == "Failed": if ldap_is_intromember(account): ldap_set_failed(account) diff --git a/conditional/util/ldap.py b/conditional/util/ldap.py index a65401c..7861c92 100644 --- a/conditional/util/ldap.py +++ b/conditional/util/ldap.py @@ -108,7 +108,15 @@ def ldap_is_current_student(account) -> bool: return _ldap_is_member_of_group(account, 'current_student') -def ldap_set_housingpoints(account, housing_points) -> bool: +def ldap_get_housingpoints(account): + ldap_get_current_students.cache_clear() + ldap_get_member.cache_clear() + try: + return account.housingPoints + except AttributeError: + return 0 + +def ldap_set_housingpoints(account, housing_points): account.housingPoints = housing_points ldap_get_current_students.cache_clear() ldap_get_member.cache_clear()