Skip to content

Commit 7e193d8

Browse files
committed
Fixing edge cases
1 parent be6bc16 commit 7e193d8

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

packet/commands.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99

1010
from . import app, db
1111
from .models import Freshman, Packet, FreshSignature, UpperSignature, MiscSignature
12-
from .ldap import ldap_get_eboard_role, ldap_get_active_rtp, ldap_get_3da, ldap_get_webmaster, ldap_get_drink_admin, \
13-
ldap_get_constitutional_maintainer, ldap_is_intromember, ldap_get_active_members, ldap_is_on_coop
12+
from .ldap import ldap_get_eboard_role, ldap_get_active_rtps, ldap_get_3das, ldap_get_webmasters, ldap_get_drink_admins, \
13+
ldap_get_constitutional_maintainers, ldap_is_intromember, ldap_get_active_members, ldap_is_on_coop
1414

1515

1616
@app.cli.command("create-secret")
@@ -117,11 +117,11 @@ def create_packets(freshmen_csv):
117117
all_upper = list(filter(lambda member: not ldap_is_intromember(member), ldap_get_active_members()))
118118
on_coop = list(filter(lambda member: ldap_is_on_coop(member), ldap_get_active_members()))
119119

120-
rtp = ldap_get_active_rtp()
121-
three_da = ldap_get_3da()
122-
webmaster = ldap_get_webmaster()
123-
c_m = ldap_get_constitutional_maintainer()
124-
drink = ldap_get_drink_admin()
120+
rtp = ldap_get_active_rtps()
121+
three_da = ldap_get_3das()
122+
webmaster = ldap_get_webmasters()
123+
c_m = ldap_get_constitutional_maintainers()
124+
drink = ldap_get_drink_admins()
125125

126126
# Create the new packets and the signatures for each freshman in the given CSV
127127
freshmen_in_csv = parse_csv(freshmen_csv)
@@ -159,16 +159,16 @@ def ldap_sync():
159159
on_coop = {member.uid: member for member in filter(lambda member: ldap_is_on_coop(member),
160160
ldap_get_active_members())}
161161

162-
rtp = ldap_get_active_rtp()
163-
three_da = ldap_get_3da()
164-
webmaster = ldap_get_webmaster()
165-
c_m = ldap_get_constitutional_maintainer()
166-
drink = ldap_get_drink_admin()
162+
rtp = ldap_get_active_rtps()
163+
three_da = ldap_get_3das()
164+
webmaster = ldap_get_webmasters()
165+
c_m = ldap_get_constitutional_maintainers()
166+
drink = ldap_get_drink_admins()
167167

168168
print("Applying updates to the DB...")
169169
for packet in Packet.query.filter(Packet.end > datetime.now()).all():
170170
# Update the role state of all UpperSignatures
171-
for sig in filter(lambda sig: sig.member in all_upper, packet.upper_signatures):
171+
for sig in filter(lambda sig: sig.member in all_upper and not on_coop, packet.upper_signatures):
172172
sig.eboard = ldap_get_eboard_role(all_upper[sig.member])
173173
sig.active_rtp = sig.member in rtp
174174
sig.three_da = sig.member in three_da
@@ -205,7 +205,8 @@ def ldap_sync():
205205
# Create UpperSignatures for any new active members
206206
# pylint: disable=cell-var-from-loop
207207
upper_sigs = set(map(lambda sig: sig.member, packet.upper_signatures))
208-
for member in filter(lambda member: member not in upper_sigs, all_upper):
208+
co_op = set(map(lambda member: member, on_coop))
209+
for member in filter(lambda member: member not in upper_sigs or co_op, all_upper):
209210
UpperSignature(packet=packet, member=member)
210211
sig.eboard = ldap_get_eboard_role(all_upper[sig.member])
211212
sig.active_rtp = sig.member in rtp

packet/ldap.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,39 +80,39 @@ def ldap_get_live_onfloor():
8080
return members
8181

8282

83-
def ldap_get_active_rtp():
83+
def ldap_get_active_rtps():
8484
"""
8585
All active RTPs
8686
:return: A list of CSHMember instances
8787
"""
8888
return [member.uid for member in _ldap_get_group_members("active_rtp")]
8989

9090

91-
def ldap_get_3da():
91+
def ldap_get_3das():
9292
"""
9393
All 3das
9494
:return: A list of CSHMember instances
9595
"""
9696
return [member.uid for member in _ldap_get_group_members("3da")]
9797

9898

99-
def ldap_get_webmaster():
99+
def ldap_get_webmasters():
100100
"""
101101
All webmasters
102102
:return: A list of CSHMember instances
103103
"""
104104
return [member.uid for member in _ldap_get_group_members("webmaster")]
105105

106106

107-
def ldap_get_constitutional_maintainer():
107+
def ldap_get_constitutional_maintainers():
108108
"""
109109
All constitutional maintainers
110110
:return: A list of CSHMember instances
111111
"""
112112
return [member.uid for member in _ldap_get_group_members("constitutional_maintainers")]
113113

114114

115-
def ldap_get_drink_admin():
115+
def ldap_get_drink_admins():
116116
"""
117117
All drink admins
118118
:return: A list of CSHMember instances

0 commit comments

Comments
 (0)