22
33
44def sign (signer_username , freshman_username ):
5- freshman = Freshman .query .filter_by (rit_username = freshman_username ).first ()
6- if freshman is None :
5+ freshman_signed = Freshman .query .filter_by (rit_username = freshman_username ).first ()
6+ if freshman_signed is None :
77 return False
8- packet = freshman .current_packet ()
8+ packet = freshman_signed .current_packet ()
99 if packet is None :
1010 return False
1111 if not packet .is_open ():
1212 return False
1313
14- upper_signature = UpperSignature .query .filter (UpperSignature .member == signer_username ).first ()
15- fresh_signature = FreshSignature .query .filter (FreshSignature .freshman_username == signer_username ).first ()
14+ # Make sure only on floor freshmen can sign packets
15+ freshman_signer = Freshman .query .filter_by (rit_username = signer_username ).first ()
16+ if freshman_signer :
17+ if not freshman_signer .onfloor :
18+ return False
19+
20+ upper_signature = UpperSignature .query .filter (UpperSignature .member == signer_username ,
21+ UpperSignature .packet == packet ).first ()
22+ fresh_signature = FreshSignature .query .filter (FreshSignature .freshman_username == signer_username ,
23+ FreshSignature .packet == packet ).first ()
1624
1725 if upper_signature :
1826 upper_signature .signed = True
@@ -26,13 +34,16 @@ def sign(signer_username, freshman_username):
2634
2735
2836def get_signatures (freshman_username ):
29- packet = Freshman .query .filter_by (rit_username = freshman_username )[0 ].current_packet ()
30- eboard = UpperSignature .query .filter_by (packet_id = packet .id , eboard = True )
31- upper_signatures = UpperSignature .query .filter_by (packet_id = packet .id , eboard = False )
37+ packet = Freshman .query .filter_by (rit_username = freshman_username ).first ().current_packet ()
38+ eboard = UpperSignature .query .filter_by (packet_id = packet .id , eboard = True ).order_by (UpperSignature .signed .desc ())
39+ upper_signatures = UpperSignature .query .filter_by (packet_id = packet .id , eboard = False ).order_by (
40+ UpperSignature .signed .desc ())
41+ fresh_signatures = FreshSignature .query .filter_by (packet_id = packet .id ).order_by (FreshSignature .signed .desc ())
42+ misc_signatures = MiscSignature .query .filter_by (packet_id = packet .id )
3243 return {'eboard' : eboard ,
3344 'upperclassmen' : upper_signatures ,
34- 'freshmen' : FreshSignature . query . filter_by ( packet_id = packet . id ) ,
35- 'misc' : MiscSignature . query . filter_by ( packet_id = packet . id ) }
45+ 'freshmen' : fresh_signatures ,
46+ 'misc' : misc_signatures }
3647
3748
3849def get_number_signed (freshman_username ):
0 commit comments