1
- from flask import Blueprint
2
- from flask import jsonify
3
- from flask import redirect
4
- from flask import request
5
-
6
- from util .ldap import ldap_get_non_alumni_members
7
- from util .ldap import ldap_get_name
8
- from util .ldap import ldap_get_current_students
9
- from util .ldap import ldap_is_eboard
10
- from util .ldap import ldap_is_eval_director
11
- from util .ldap import ldap_get_active_members
12
-
13
- from db .models import CurrentCoops
14
- from db .models import CommitteeMeeting
15
- from db .models import FreshmanCommitteeAttendance
16
- from db .models import MemberCommitteeAttendance
17
- from db .models import TechnicalSeminar
18
- from db .models import FreshmanSeminarAttendance
19
- from db .models import MemberSeminarAttendance
20
- from db .models import HouseMeeting
21
- from db .models import FreshmanHouseMeetingAttendance
22
- from db .models import MemberHouseMeetingAttendance
23
- from db .models import FreshmanAccount
1
+ from flask import Blueprint , jsonify , redirect , request
24
2
from datetime import datetime
25
-
26
- from util .flask import render_template
27
-
28
3
import structlog
29
4
import uuid
30
5
6
+ from conditional .util .ldap import ldap_get_current_students
7
+ from conditional .util .ldap import ldap_is_eboard
8
+ from conditional .util .ldap import ldap_is_eval_director
9
+ from conditional .util .ldap import ldap_get_active_members
10
+
11
+ from conditional .models .models import CurrentCoops
12
+ from conditional .models .models import CommitteeMeeting
13
+ from conditional .models .models import FreshmanCommitteeAttendance
14
+ from conditional .models .models import MemberCommitteeAttendance
15
+ from conditional .models .models import TechnicalSeminar
16
+ from conditional .models .models import FreshmanSeminarAttendance
17
+ from conditional .models .models import MemberSeminarAttendance
18
+ from conditional .models .models import HouseMeeting
19
+ from conditional .models .models import FreshmanHouseMeetingAttendance
20
+ from conditional .models .models import MemberHouseMeetingAttendance
21
+ from conditional .models .models import FreshmanAccount
22
+
23
+ from conditional .util .flask import render_template
24
+
25
+ from conditional import db
26
+
31
27
logger = structlog .get_logger ()
32
28
33
29
attendance_bp = Blueprint ('attendance_bp' , __name__ )
34
30
35
31
36
32
def get_name (m ):
37
- first = None
38
33
if 'givenName' in m :
39
34
first = m ['givenName' ][0 ].decode ('utf-8' )
40
35
else :
41
36
first = ""
42
- last = None
37
+
43
38
if 'sn' in m :
44
39
last = m ['sn' ][0 ].decode ('utf-8' )
45
40
else :
46
41
last = ""
42
+
47
43
return "{first} {last}" .format (first = first , last = last )
48
44
49
45
50
46
@attendance_bp .route ('/attendance/ts_members' )
51
47
def get_all_members ():
52
48
log = logger .new (user_name = request .headers .get ("x-webauth-user" ),
53
49
request_id = str (uuid .uuid4 ()))
54
- log .info ('api' , action = 'retrieve techincal seminar attendance list' )
50
+ log .info ('api' , action = 'retrieve technical seminar attendance list' )
55
51
56
52
members = ldap_get_current_students ()
57
53
@@ -200,8 +196,6 @@ def submit_committee_attendance():
200
196
request_id = str (uuid .uuid4 ()))
201
197
log .info ('api' , action = 'submit committee meeting attendance' )
202
198
203
- from db .database import db_session
204
-
205
199
user_name = request .headers .get ('x-webauth-user' )
206
200
207
201
if not ldap_is_eboard (user_name ):
@@ -217,23 +211,23 @@ def submit_committee_attendance():
217
211
timestamp = datetime .strptime (timestamp , "%Y-%m-%d" )
218
212
meeting = CommitteeMeeting (committee , timestamp )
219
213
220
- db_session .add (meeting )
221
- db_session .flush ()
222
- db_session .refresh (meeting )
214
+ db . session .add (meeting )
215
+ db . session .flush ()
216
+ db . session .refresh (meeting )
223
217
224
218
for m in m_attendees :
225
219
logger .info ('backend' ,
226
220
action = ("gave attendance to %s for %s" % (m , committee ))
227
221
)
228
- db_session .add (MemberCommitteeAttendance (m , meeting .id ))
222
+ db . session .add (MemberCommitteeAttendance (m , meeting .id ))
229
223
230
224
for f in f_attendees :
231
225
logger .info ('backend' ,
232
226
action = ("gave attendance to freshman-%s for %s" % (f , committee ))
233
227
)
234
- db_session .add (FreshmanCommitteeAttendance (f , meeting .id ))
228
+ db . session .add (FreshmanCommitteeAttendance (f , meeting .id ))
235
229
236
- db_session .commit ()
230
+ db . session .commit ()
237
231
return jsonify ({"success" : True }), 200
238
232
239
233
@@ -243,8 +237,6 @@ def submit_seminar_attendance():
243
237
request_id = str (uuid .uuid4 ()))
244
238
log .info ('api' , action = 'submit technical seminar attendance' )
245
239
246
- from db .database import db_session
247
-
248
240
user_name = request .headers .get ('x-webauth-user' )
249
241
250
242
if not ldap_is_eboard (user_name ):
@@ -260,23 +252,23 @@ def submit_seminar_attendance():
260
252
timestamp = datetime .strptime (timestamp , "%Y-%m-%d" )
261
253
seminar = TechnicalSeminar (seminar_name , timestamp )
262
254
263
- db_session .add (seminar )
264
- db_session .flush ()
265
- db_session .refresh (seminar )
255
+ db . session .add (seminar )
256
+ db . session .flush ()
257
+ db . session .refresh (seminar )
266
258
267
259
for m in m_attendees :
268
260
logger .info ('backend' ,
269
261
action = ("gave attendance to %s for %s" % (m , seminar_name ))
270
262
)
271
- db_session .add (MemberSeminarAttendance (m , seminar .id ))
263
+ db . session .add (MemberSeminarAttendance (m , seminar .id ))
272
264
273
265
for f in f_attendees :
274
266
logger .info ('backend' ,
275
267
action = ("gave attendance to freshman-%s for %s" % (f , seminar_name ))
276
268
)
277
- db_session .add (FreshmanSeminarAttendance (f , seminar .id ))
269
+ db . session .add (FreshmanSeminarAttendance (f , seminar .id ))
278
270
279
- db_session .commit ()
271
+ db . session .commit ()
280
272
return jsonify ({"success" : True }), 200
281
273
282
274
@@ -286,8 +278,6 @@ def submit_house_attendance():
286
278
request_id = str (uuid .uuid4 ()))
287
279
log .info ('api' , action = 'submit house meeting attendance' )
288
280
289
- from db .database import db_session
290
-
291
281
# status: Attended | Excused | Absent
292
282
293
283
user_name = request .headers .get ('x-webauth-user' )
@@ -301,17 +291,18 @@ def submit_house_attendance():
301
291
302
292
meeting = HouseMeeting (timestamp )
303
293
304
- db_session .add (meeting )
305
- db_session .flush ()
306
- db_session .refresh (meeting )
294
+ db . session .add (meeting )
295
+ db . session .flush ()
296
+ db . session .refresh (meeting )
307
297
308
298
if "members" in post_data :
309
299
for m in post_data ['members' ]:
310
300
logger .info ('backend' ,
311
301
action = (
312
- "gave %s to %s for %s house meeting" % (m ['status' ], m ['uid' ], timestamp .strftime ("%Y-%m-%d" )))
302
+ "gave %s to %s for %s house meeting" % (
303
+ m ['status' ], m ['uid' ], timestamp .strftime ("%Y-%m-%d" )))
313
304
)
314
- db_session .add (MemberHouseMeetingAttendance (
305
+ db . session .add (MemberHouseMeetingAttendance (
315
306
m ['uid' ],
316
307
meeting .id ,
317
308
None ,
@@ -321,13 +312,13 @@ def submit_house_attendance():
321
312
for f in post_data ['freshmen' ]:
322
313
logger .info ('backend' ,
323
314
action = ("gave %s to freshman-%s for %s house meeting" % (
324
- f ['status' ], f ['id' ], timestamp .strftime ("%Y-%m-%d" )))
315
+ f ['status' ], f ['id' ], timestamp .strftime ("%Y-%m-%d" )))
325
316
)
326
- db_session .add (FreshmanHouseMeetingAttendance (
317
+ db . session .add (FreshmanHouseMeetingAttendance (
327
318
f ['id' ],
328
319
meeting .id ,
329
320
None ,
330
321
f ['status' ]))
331
322
332
- db_session .commit ()
323
+ db . session .commit ()
333
324
return jsonify ({"success" : True }), 200
0 commit comments