def display_major_project(): log = logger.new(user_name=request.headers.get("x-webauth-user"), request_id=str(uuid.uuid4())) log.info('frontend', action='display major project form') # get user data user_name = request.headers.get('x-webauth-user') major_projects = [{ 'username': p.uid, 'name': ldap_get_name(p.uid), 'proj_name': p.name, 'status': p.status, 'description': p.description, 'id': p.id } for p in MajorProject.query] major_projects.reverse() major_projects_len = len(major_projects) # return names in 'first last (username)' format return render_template(request, 'major_project_submission.html', major_projects=major_projects, major_projects_len=major_projects_len, username=user_name)
def display_attendance_cm(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Committee Meeting Attendance Page') return render_template('attendance_cm.html', username=user_dict['username'], date=datetime.now().strftime("%Y-%m-%d"))
def display_attendance_ts(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Technical Seminar Attendance Page') return render_template('attendance_ts.html', username=user_dict['username'], date=datetime.now().strftime("%Y-%m-%d"))
def display_member_management(): log = logger.new(request=request) log.info('Display Member Management') username = request.headers.get('x-webauth-user') account = ldap_get_member(username) if not ldap_is_eval_director(account) and not ldap_is_financial_director( account): return "must be eval director", 403 member_list = get_members_info() onfloor_list = get_onfloor_members() co_op_list = [(ldap_get_member(member.uid).displayName, member.semester, member.uid) \ for member in CurrentCoops.query.filter( CurrentCoops.date_created > start_of_year(), CurrentCoops.semester != "Neither")] freshmen = FreshmanAccount.query freshmen_list = [] for freshman_user in freshmen: # pylint: disable=not-an-iterable freshmen_list.append({ "id": freshman_user.id, "name": freshman_user.name, "onfloor": freshman_user.onfloor_status, "room": "" if freshman_user.room_number is None else freshman_user.room_number, "eval_date": freshman_user.eval_date }) settings = EvalSettings.query.first() if settings: lockdown = settings.site_lockdown intro_form = settings.intro_form_active accept_dues_until = settings.accept_dues_until else: lockdown = False intro_form = False accept_dues_until = datetime.now() return render_template(request, "member_management.html", username=username, active=member_list, num_current=len(member_list), num_active=len(ldap_get_active_members()), num_fresh=len(freshmen_list), num_onfloor=len(onfloor_list), freshmen=freshmen_list, co_op=co_op_list, site_lockdown=lockdown, accept_dues_until=accept_dues_until, intro_form=intro_form)
def display_major_project(): log = logger.new(request=request) log.info('Display Major Project Page') # get user data user_name = request.headers.get('x-webauth-user') major_projects = [{ 'username': p.uid, 'name': ldap_get_member(p.uid).cn, 'proj_name': p.name, 'status': p.status, 'description': p.description, 'id': p.id, 'is_owner': bool(user_name == p.uid) } for p in MajorProject.query.filter( MajorProject.date > start_of_year()).order_by(desc(MajorProject.id))] major_projects_len = len(major_projects) # return names in 'first last (username)' format return render_template(request, 'major_project_submission.html', major_projects=major_projects, major_projects_len=major_projects_len, username=user_name)
def display_attendance_ts(): log = logger.new(request=request) log.info('Display Technical Seminar Attendance Page') return render_template(request, 'attendance_ts.html', username=request.headers.get("x-webauth-user"), date=datetime.now().strftime("%Y-%m-%d"))
def display_attendance_cm(): log = logger.new(request=request) log.info('Display Committee Meeting Attendance Page') return render_template(request, 'attendance_cm.html', username=request.headers.get("x-webauth-user"), date=datetime.now().strftime("%Y-%m-%d"))
def introductory_project(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Freshmen Project Management') if not ldap_is_eval_director(user_dict['account']): return "must be eval director", 403 return render_template('introductory_project.html', username=user_dict['username'], intro_members=display_intro_evals(internal=True))
def slideshow_spring_display(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Membership Evaluations Slideshow') if not ldap_is_eval_director(user_dict['account']): return redirect("/dashboard") return render_template('spring_eval_slideshow.html', username=user_dict['username'], date=datetime.now().strftime("%Y-%m-%d"), members=display_spring_evals(internal=True))
def display_attendance_hm(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display House Meeting Attendance Page') if not ldap_is_eval_director(user_dict['account']): return redirect("/dashboard") return render_template('attendance_hm.html', username=user_dict['username'], date=datetime.now().strftime("%Y-%m-%d"), members=get_non_alumni_non_coop(internal=True))
def display_co_op_form(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Co-Op Submission Page') co_op = CurrentCoops.query.filter( CurrentCoops.uid == user_dict['username'], CurrentCoops.date_created > start_of_year()).first() return render_template('co_op.html', username=user_dict['username'], year=start_of_year().year, on_coop=co_op)
def new_year(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display New Year Page') if not ldap_is_eval_director(user_dict['account']): return "must be eval director", 403 current_students = ldap_get_current_students() return render_template('new_year.html', username=user_dict['username'], current_students=current_students)
def display_attendance_ts(): log = logger.new(user_name=request.headers.get("x-webauth-user"), request_id=str(uuid.uuid4())) log.info('frontend', action='display technical seminar attendance page') user_name = request.headers.get('x-webauth-user') if not ldap_is_eboard(user_name): return redirect("/dashboard") return render_template(request, 'attendance_ts.html', username=user_name, date=datetime.utcnow().strftime("%Y-%m-%d"))
def display_member_management(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Member Management') if not ldap_is_eval_director( user_dict['account']) and not ldap_is_financial_director( user_dict['account']): return "must be eval director", 403 member_list = get_members_info() onfloor_list = get_onfloor_members() freshmen = FreshmanAccount.query freshmen_list = [] for freshman_user in freshmen: # pylint: disable=not-an-iterable freshmen_list.append({ "id": freshman_user.id, "name": freshman_user.name, "onfloor": freshman_user.onfloor_status, "room": "" if freshman_user.room_number is None else freshman_user.room_number, "eval_date": freshman_user.eval_date }) settings = EvalSettings.query.first() if settings: lockdown = settings.site_lockdown intro_form = settings.intro_form_active accept_dues_until = settings.accept_dues_until else: lockdown = False intro_form = False accept_dues_until = datetime.now() return render_template("member_management.html", username=user_dict['username'], active=member_list, num_current=len(member_list), num_active=len(ldap_get_active_members()), num_fresh=len(freshmen_list), num_onfloor=len(onfloor_list), freshmen=freshmen_list, site_lockdown=lockdown, accept_dues_until=accept_dues_until, intro_form=intro_form)
def display_member_management(): log = logger.new(user_name=request.headers.get("x-webauth-user"), request_id=str(uuid.uuid4())) log.info('frontend', action='display member management') user_name = request.headers.get('x-webauth-user') if not ldap_is_eval_director(user_name) and not ldap_is_financial_director( user_name): return "must be eval director", 403 members = [m['uid'] for m in ldap_get_current_students()] member_list, onfloor_number = get_members_info(members) freshmen = FreshmanAccount.query freshmen_list = [] for freshman_user in freshmen: freshmen_list.append({ "id": freshman_user.id, "name": freshman_user.name, "onfloor": freshman_user.onfloor_status, "room": "" if freshman_user.room_number is None else freshman_user.room_number, "eval_date": freshman_user.eval_date }) settings = EvalSettings.query.first() if settings: lockdown = settings.site_lockdown intro_form = settings.intro_form_active else: lockdown = False intro_form = False return render_template(request, "member_management.html", username=user_name, active=member_list, num_current=len(member_list), num_active=len(ldap_get_active_members()), num_fresh=len(freshmen_list), num_onfloor=onfloor_number, freshmen=freshmen_list, site_lockdown=lockdown, intro_form=intro_form)
def display_attendance_hm(): log = logger.new(request=request) log.info('Display House Meeting Attendance Page') user_name = request.headers.get('x-webauth-user') account = ldap_get_member(user_name) if not ldap_is_eval_director(account): return redirect("/dashboard") return render_template(request, 'attendance_hm.html', username=user_name, date=datetime.now().strftime("%Y-%m-%d"), members=get_non_alumni_non_coop(internal=True))
def display_logs(): log = logger.new(request=request) log.info('Display Logs') username = request.headers.get('x-webauth-user') account = ldap_get_member(username) log.info(account.displayName) if not ldap_is_eboard(account) and not ldap_is_rtp(account): return "must be rtp or eboard", 403 logs = UserLog.query.all() return render_template(request, "logs.html", logs=logs, username=username)
def slideshow_spring_display(): log = logger.new(user_name=request.headers.get("x-webauth-user"), request_id=str(uuid.uuid4())) log.info('frontend', action='display membership evaluations slideshow') user_name = request.headers.get('x-webauth-user') if not ldap_is_eval_director(user_name): return redirect("/dashboard") return render_template(request, 'spring_eval_slideshow.html', username=user_name, date=datetime.utcnow().strftime("%Y-%m-%d"), members=display_spring_evals(internal=True))
def introductory_project(): log = logger.new(request=request) log.info('Display Freshmen Project Management') username = request.headers.get('x-webauth-user') account = ldap_get_member(username) if not ldap_is_eval_director(account): return "must be eval director", 403 return render_template(request, 'introductory_project.html', username=username, intro_members=display_intro_evals(internal=True))
def introductory_project(): log = logger.new(user_name=request.headers.get("x-webauth-user"), request_id=str(uuid.uuid4())) log.info('api', action='show introductory project management') user_name = request.headers.get('x-webauth-user') if not ldap_is_eval_director(user_name): return "must be eval director", 403 return render_template(request, 'introductory_project.html', username=user_name, intro_members=display_intro_evals(internal=True))
def display_attendance_hm(): log = logger.new(user_name=request.headers.get("x-webauth-user"), request_id=str(uuid.uuid4())) log.info('frontend', action='display house meeting attendance page') user_name = request.headers.get('x-webauth-user') if not ldap_is_eval_director(user_name): return redirect("/dashboard") return render_template(request, 'attendance_hm.html', username=user_name, date=datetime.utcnow().strftime("%Y-%m-%d"), members=get_non_alumni_non_coop(internal=True))
def slideshow_spring_display(): log = logger.new(request=request) log.info('Display Membership Evaluations Slideshow') user_name = request.headers.get('x-webauth-user') account = ldap_get_member(user_name) if not ldap_is_eval_director(account): return redirect("/dashboard") return render_template(request, 'spring_eval_slideshow.html', username=user_name, date=datetime.now().strftime("%Y-%m-%d"), members=display_spring_evals(internal=True))
def display_logs(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Logs') log.info(user_dict['account'].displayName) if not ldap_is_eboard(user_dict['account']) and not ldap_is_rtp( user_dict['account']): return "must be rtp or eboard", 403 logs = UserLog.query.all() return render_template("logs.html", logs=logs, username=user_dict['username'])
def display_co_op_form(): log = logger.new(request=request) log.info('Display Co-Op Submission Page') # get user data user_name = request.headers.get('x-webauth-user') co_op = CurrentCoops.query.filter( CurrentCoops.uid == user_name, CurrentCoops.date_created > start_of_year()).first() return render_template(request, 'co_op.html', username=user_name, year=start_of_year().year, on_coop=co_op)
def display_conditionals(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Conditional Listing Page') conditionals = [{ 'name': ldap_get_member(c.uid).cn, 'date_created': c.date_created, 'date_due': c.date_due, 'description': c.description, 'id': c.id } for c in Conditional.query.filter(Conditional.status == "Pending")] # return names in 'first last (username)' format return render_template('conditional.html', username=user_dict['username'], conditionals=conditionals, conditionals_len=len(conditionals))
def new_year(): log = logger.new(request=request) log.info('Display New Year Page') username = request.headers.get('x-webauth-user') account = ldap_get_member(username) if not ldap_is_eval_director(account): return "must be eval director", 403 current_students = ldap_get_current_students() return render_template(request, 'new_year.html', username=username, current_students=current_students)
def display_intro_evals_form(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Intro Evals Form') if not ldap_is_intromember(user_dict['account']): return redirect("/dashboard") eval_data = FreshmanEvalData.query.filter( FreshmanEvalData.uid == user_dict['username']).first() is_open = EvalSettings.query.first().intro_form_active # return names in 'first last (username)' format return render_template('intro_evals_form.html', username=user_dict['username'], social_events=eval_data.social_events, other_notes=eval_data.other_notes, is_open=is_open)
def display_co_op_management(user_dict=None): log = logger.new(request=request, auth_dict=user_dict) log.info('Display Co-Op Management') if not ldap_is_eval_director(user_dict['account']): return "must be eval director", 403 co_op_list = [(member.semester, member.uid) for member in CurrentCoops.query.filter( CurrentCoops.date_created > start_of_year(), CurrentCoops.semester != "Neither")] return render_template( "co_op_management.html", username=user_dict['username'], co_op=co_op_list, )
def display_housing(): log = logger.new(user_name=request.headers.get("x-webauth-user"), request_id=str(uuid.uuid4())) log.info('frontend', action='display housing') # get user data user_name = request.headers.get('x-webauth-user') housing = {} onfloors = [ uids['uid'][0].decode('utf-8') for uids in ldap_get_onfloor_members() ] onfloor_freshmen = FreshmanAccount.query.filter( FreshmanAccount.room_number is not None) room_list = set() for m in onfloors: room = ldap_get_room_number(m) if room in housing: housing[room].append(ldap_get_name(m)) else: housing[room] = [ldap_get_name(m)] room_list.add(room) for f in onfloor_freshmen: name = f.name room = str(f.room_number) if room in housing and room != "None": housing[room].append(name) room_list.add(room) elif room != "None": housing[room] = [name] room_list.add(room) # return names in 'first last (username)' format return render_template(request, 'housing.html', username=user_name, queue=get_queue_with_points(), housing=housing, room_list=sorted(list(room_list)))
def display_housing(): log = logger.new(request=request) log.info('Display Housing Board') # get user data user_name = request.headers.get('x-webauth-user') account = ldap_get_member(user_name) housing = {} onfloors = [account for account in ldap_get_onfloor_members()] onfloor_freshmen = FreshmanAccount.query.filter( FreshmanAccount.room_number is not None) room_list = set() for member in onfloors: room = ldap_get_roomnumber(member) if room in housing and room is not None: housing[room].append(member.cn) room_list.add(room) elif room is not None: housing[room] = [member.cn] room_list.add(room) for f in onfloor_freshmen: name = f.name room = f.room_number if room in housing and room is not None: housing[room].append(name) room_list.add(room) elif room is not None: housing[room] = [name] room_list.add(room) # return names in 'first last (username)' format return render_template(request, 'housing.html', username=user_name, queue=get_housing_queue( ldap_is_eval_director(account)), housing=housing, room_list=sorted(list(room_list)))