88from packet .mail import send_report_mail
99from packet .utils import before_request , packet_auth , notify_slack
1010from packet .models import Packet , MiscSignature , NotificationSubscription
11+ from packet .notifications import packet_signed_notification , packet_100_percent_notification
1112
1213
1314@app .route ("/api/v1/sign/<packet_id>/" , methods = ["POST" ])
@@ -23,17 +24,20 @@ def sign(packet_id, info):
2324 for sig in filter (lambda sig : sig .member == info ["uid" ], packet .upper_signatures ):
2425 sig .signed = True
2526 app .logger .info ("Member {} signed packet {} as an upperclassman" .format (info ["uid" ], packet_id ))
27+ packet_signed_notification (packet , info ["uid" ])
2628 return commit_sig (packet , was_100 )
2729
2830 # The CSHer is a misc so add a new row
2931 db .session .add (MiscSignature (packet = packet , member = info ["uid" ]))
3032 app .logger .info ("Member {} signed packet {} as a misc" .format (info ["uid" ], packet_id ))
33+ packet_signed_notification (packet , info ["uid" ])
3134 return commit_sig (packet , was_100 )
3235 else :
3336 # Check if the freshman is onfloor and if so, sign that row
3437 for sig in filter (lambda sig : sig .freshman_username == info ["uid" ], packet .fresh_signatures ):
3538 sig .signed = True
3639 app .logger .info ("Freshman {} signed packet {}" .format (info ["uid" ], packet_id ))
40+ packet_signed_notification (packet , info ["uid" ])
3741 return commit_sig (packet , was_100 )
3842
3943 app .logger .warn ("Failed to add {}'s signature to packet {}" .format (info ["uid" ], packet_id ))
@@ -66,6 +70,7 @@ def report(info):
6670def commit_sig (packet , was_100 ):
6771 db .session .commit ()
6872 if not was_100 and packet .is_100 ():
73+ packet_100_percent_notification (packet )
6974 notify_slack (packet .freshman .name )
7075
7176 return "Success: Signed Packet: " + packet .freshman_username
0 commit comments