9
9
from conditional .util .ldap import ldap_get_housing_points
10
10
from conditional .util .ldap import ldap_is_intromember
11
11
from conditional .util .ldap import ldap_get_name
12
+ from conditional .util .ldap import ldap_get_active_members
13
+ from conditional .util .ldap import ldap_get_intro_members
12
14
13
15
from conditional .models .models import FreshmanEvalData
14
16
from conditional .models .models import MemberCommitteeAttendance
@@ -63,6 +65,26 @@ def get_freshman_data(user_name):
63
65
return freshman
64
66
65
67
68
+ def get_voting_members ():
69
+ voting_list = []
70
+ active_members = [x ['uid' ][0 ].decode ('utf-8' ) for x
71
+ in ldap_get_active_members ()]
72
+ intro_members = [x ['uid' ][0 ].decode ('utf-8' ) for x
73
+ in ldap_get_intro_members ()]
74
+ passed_fall = FreshmanEvalData .query .filter (
75
+ FreshmanEvalData .freshman_eval_result == "Passed"
76
+ ).distinct ()
77
+
78
+ for intro_member in passed_fall :
79
+ voting_list .append (intro_member .uid )
80
+
81
+ for active_member in active_members :
82
+ if active_member not in intro_members :
83
+ voting_list .append (active_member )
84
+
85
+ return voting_list
86
+
87
+
66
88
@dashboard_bp .route ('/dashboard/' )
67
89
def display_dashboard ():
68
90
log = logger .new (user_name = request .headers .get ("x-webauth-user" ),
@@ -73,6 +95,8 @@ def display_dashboard():
73
95
74
96
user_name = request .headers .get ('x-webauth-user' )
75
97
98
+ can_vote = get_voting_members ()
99
+ logger .info ('backend' , action = can_vote )
76
100
data = dict ()
77
101
data ['username' ] = user_name
78
102
data ['name' ] = ldap_get_name (user_name )
@@ -81,7 +105,7 @@ def display_dashboard():
81
105
# On-Floor Status
82
106
data ['onfloor' ] = ldap_is_onfloor (user_name )
83
107
# Voting Status
84
- data ['voting' ] = ldap_is_active (user_name ) # FIXME: unimplemented
108
+ data ['voting' ] = bool (user_name in can_vote )
85
109
86
110
# freshman shit
87
111
if ldap_is_intromember (user_name ):
0 commit comments