예제 #1
0
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)
예제 #2
0
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"))
예제 #3
0
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"))
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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"))
예제 #7
0
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"))
예제 #8
0
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))
예제 #9
0
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))
예제 #10
0
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))
예제 #11
0
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)
예제 #12
0
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)
예제 #13
0
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"))
예제 #14
0
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)
예제 #15
0
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)
예제 #16
0
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))
예제 #17
0
파일: logs.py 프로젝트: zthart/conditional
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)
예제 #18
0
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))
예제 #19
0
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))
예제 #20
0
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))
예제 #21
0
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))
예제 #22
0
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))
예제 #23
0
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'])
예제 #24
0
파일: co_op.py 프로젝트: zthart/conditional
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)
예제 #25
0
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))
예제 #26
0
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)
예제 #27
0
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)
예제 #28
0
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,
    )
예제 #29
0
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)))
예제 #30
0
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)))