Skip to content

Commit e099123

Browse files
authored
Merge pull request #141 from devinmatte/develop
Fixing edge cases for co-ops
2 parents be6bc16 + 6685c09 commit e099123

File tree

2 files changed

+21
-29
lines changed

2 files changed

+21
-29
lines changed

packet/commands.py

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
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, \
13+
ldap_get_drink_admins, ldap_get_constitutional_maintainers, ldap_is_intromember, ldap_get_active_members, \
14+
ldap_is_on_coop
1415

1516

1617
@app.cli.command("create-secret")
@@ -117,11 +118,11 @@ def create_packets(freshmen_csv):
117118
all_upper = list(filter(lambda member: not ldap_is_intromember(member), ldap_get_active_members()))
118119
on_coop = list(filter(lambda member: ldap_is_on_coop(member), ldap_get_active_members()))
119120

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()
121+
rtp = ldap_get_active_rtps()
122+
three_da = ldap_get_3das()
123+
webmaster = ldap_get_webmasters()
124+
c_m = ldap_get_constitutional_maintainers()
125+
drink = ldap_get_drink_admins()
125126

126127
# Create the new packets and the signatures for each freshman in the given CSV
127128
freshmen_in_csv = parse_csv(freshmen_csv)
@@ -154,16 +155,14 @@ def ldap_sync():
154155
Updates the upper and misc sigs in the DB to match ldap.
155156
"""
156157
print("Fetching data from LDAP...")
157-
all_upper = {member.uid: member for member in filter(lambda member: not ldap_is_intromember(member),
158-
ldap_get_active_members())}
159-
on_coop = {member.uid: member for member in filter(lambda member: ldap_is_on_coop(member),
160-
ldap_get_active_members())}
158+
all_upper = {member.uid: member for member in filter(
159+
lambda member: not ldap_is_intromember(member) and not ldap_is_on_coop(member), ldap_get_active_members())}
161160

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()
161+
rtp = ldap_get_active_rtps()
162+
three_da = ldap_get_3das()
163+
webmaster = ldap_get_webmasters()
164+
c_m = ldap_get_constitutional_maintainers()
165+
drink = ldap_get_drink_admins()
167166

168167
print("Applying updates to the DB...")
169168
for packet in Packet.query.filter(Packet.end > datetime.now()).all():
@@ -183,15 +182,8 @@ def ldap_sync():
183182
sig = MiscSignature(packet=packet, member=sig.member)
184183
db.session.add(sig)
185184

186-
# Migrate UpperSignatures that are from accounts that are on co-op currently
187-
for sig in filter(lambda sig: sig.member in on_coop, packet.upper_signatures):
188-
UpperSignature.query.filter_by(packet_id=packet.id, member=sig.member).delete()
189-
if sig.signed:
190-
sig = MiscSignature(packet=packet, member=sig.member)
191-
db.session.add(sig)
192-
193185
# Migrate MiscSignatures that are from accounts that are now active members
194-
for sig in filter(lambda sig: sig.member in all_upper and not on_coop, packet.misc_signatures):
186+
for sig in filter(lambda sig: sig.member in all_upper, packet.misc_signatures):
195187
MiscSignature.query.filter_by(packet_id=packet.id, member=sig.member).delete()
196188
sig = UpperSignature(packet=packet, member=sig.member, signed=True)
197189
sig.eboard = ldap_get_eboard_role(all_upper[sig.member])

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)