|
9 | 9 |
|
10 | 10 | from . import app, db |
11 | 11 | 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 |
14 | 14 |
|
15 | 15 |
|
16 | 16 | @app.cli.command("create-secret") |
@@ -117,11 +117,11 @@ def create_packets(freshmen_csv): |
117 | 117 | all_upper = list(filter(lambda member: not ldap_is_intromember(member), ldap_get_active_members())) |
118 | 118 | on_coop = list(filter(lambda member: ldap_is_on_coop(member), ldap_get_active_members())) |
119 | 119 |
|
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() |
125 | 125 |
|
126 | 126 | # Create the new packets and the signatures for each freshman in the given CSV |
127 | 127 | freshmen_in_csv = parse_csv(freshmen_csv) |
@@ -159,16 +159,16 @@ def ldap_sync(): |
159 | 159 | on_coop = {member.uid: member for member in filter(lambda member: ldap_is_on_coop(member), |
160 | 160 | ldap_get_active_members())} |
161 | 161 |
|
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() |
167 | 167 |
|
168 | 168 | print("Applying updates to the DB...") |
169 | 169 | for packet in Packet.query.filter(Packet.end > datetime.now()).all(): |
170 | 170 | # 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): |
172 | 172 | sig.eboard = ldap_get_eboard_role(all_upper[sig.member]) |
173 | 173 | sig.active_rtp = sig.member in rtp |
174 | 174 | sig.three_da = sig.member in three_da |
@@ -205,7 +205,8 @@ def ldap_sync(): |
205 | 205 | # Create UpperSignatures for any new active members |
206 | 206 | # pylint: disable=cell-var-from-loop |
207 | 207 | 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): |
209 | 210 | UpperSignature(packet=packet, member=member) |
210 | 211 | sig.eboard = ldap_get_eboard_role(all_upper[sig.member]) |
211 | 212 | sig.active_rtp = sig.member in rtp |
|
0 commit comments