Skip to content

Commit

Permalink
Add Committee Meetings to Intro Evals Page
Browse files Browse the repository at this point in the history
  • Loading branch information
jabbate19 committed Mar 27, 2022
1 parent 9788bee commit 5c141db
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 16 deletions.
38 changes: 30 additions & 8 deletions conditional/blueprints/intro_evals.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,24 @@ def display_intro_evals(internal=False, user_dict=None):
log.info('Display Intro Evals Listing')

# get user data
def get_fid_cm_count(member_id):
return len([a for a in FreshmanCommitteeAttendance.query.filter(
FreshmanCommitteeAttendance.fid == member_id)
if CommitteeMeeting.query.filter(CommitteeMeeting.id == a.meeting_id).first().approved])
def get_fid_cm(member):
c_meetings = [{
"uid": cm[0],
"timestamp": cm[1],
"committee": cm[2]
} for cm in CommitteeMeeting.query.join(
FreshmanCommitteeAttendance,
FreshmanCommitteeAttendance.meeting_id == CommitteeMeeting.id
).with_entities(
FreshmanCommitteeAttendance.fid,
CommitteeMeeting.timestamp,
CommitteeMeeting.committee
).filter(
CommitteeMeeting.timestamp > start_of_year(),
FreshmanCommitteeAttendance.fid == member,
CommitteeMeeting.approved == True # pylint: disable=singleton-comparison
).all()]
return c_meetings

members = ldap_get_intro_members()

Expand Down Expand Up @@ -64,8 +78,12 @@ def get_fid_cm_count(member_id):
'uid': fid.id,
'eval_date': fid.eval_date.strftime("%Y-%m-%d"),
'signatures_missed': signatures_missed,
'committee_meetings': get_fid_cm_count(fid.id),
'committee_meetings_passed': get_fid_cm_count(fid.id) >= 6,
'committee_meetings': [{
"uid": cm['uid'],
"timestamp": cm['timestamp'].strftime("%Y-%m-%d"),
"committee": cm['committee']
} for cm in get_fid_cm(fid.id)],
'committee_meetings_passed': len(get_fid_cm(fid.id)) >= 6,
'house_meetings_missed':
[
{
Expand Down Expand Up @@ -113,7 +131,11 @@ def get_fid_cm_count(member_id):
'uid': uid,
'eval_date': freshman_data.eval_date.strftime("%Y-%m-%d"),
'signatures_missed': freshman_data.signatures_missed,
'committee_meetings': len(get_cm(member)),
'committee_meetings': [{
"uid": cm['uid'],
"timestamp": cm['timestamp'].strftime("%Y-%m-%d"),
"committee": cm['committee']
} for cm in get_cm(member)],
'committee_meetings_passed': len(get_cm(member)) >= 6,
'house_meetings_missed':
[
Expand Down Expand Up @@ -147,7 +169,7 @@ def get_fid_cm_count(member_id):
ie_members.append(member_info)

ie_members.sort(key=lambda x: len(x['house_meetings_missed']))
ie_members.sort(key=lambda x: x['committee_meetings'], reverse=True)
ie_members.sort(key=lambda x: x['committee_meetings_passed'], reverse=True)
ie_members.sort(key=lambda x: x['signatures_missed'])
ie_members.sort(key=lambda x: x['status'] == "Passed")

Expand Down
35 changes: 27 additions & 8 deletions conditional/templates/intro_evals.html
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,15 @@ <h6 class="eval-uid">{{ m['uid'] }}</h6>
{% endif %}
</div>
<div class="text-center">
{% if m['committee_meetings'] < 6 %}
{% if m['committee_meetings']|length < 6 %}
<div class="eval-info-label">
<span class="glyphicon glyphicon-remove-sign red eval-info-status"></span>Directorship Meetings
<span class="eval-info-number">{{m['committee_meetings']}} / 6</span>
<span class="eval-info-number">{{m['committee_meetings']|length}} / 6</span>
</div>
{% else %}
<div class="eval-info-label">
<span class="glyphicon glyphicon-ok-sign green eval-info-status"></span>Directorship Meetings
<span class="eval-info-number">{{m['committee_meetings']}} / 6</span>
<span class="eval-info-number">{{m['committee_meetings']|length}} / 6</span>
</div>
{% endif %}

Expand Down Expand Up @@ -136,8 +136,27 @@ <h4>Missed House Meetings</h4>
</table>
{% endif %}
<!-- ^^ HOUSE MEETINGS TABLE -->
{% if m['technical_seminars']|length > 0 %}
{% if m['committee_meetings']|length > 0 %}
<h4>Directorship Meetings</h4>
<table class="table">
<thead>
<tr>
<th>Date</th>
<th>Directorship</th>
</tr>
</thead>
<tbody>
{% for meeting in m['committee_meetings'] %}
<tr>
<td>{{meeting['timestamp']}}</td>
<td>{{meeting['committee']}}</td>
</tr>
{% endfor %}

</tbody>
</table>
{% endif %}
{% if m['technical_seminars']|length > 0 %}
<h4>Technical Seminars</h4>
<table class="table">
<tbody>
Expand Down Expand Up @@ -203,11 +222,11 @@ <h4>Other Comments</h4>
<span class="glyphicon glyphicon-remove red"></span> Failed
{% endif %}
</td>
<td data-sort="{{ m['committee_meetings'] }}">
{% if m['committee_meetings'] < 6 %}
<span class="glyphicon glyphicon-remove-sign red eval-info-status"></span> {{m['committee_meetings']}}
<td data-sort="{{ m['committee_meetings']|length }}">
{% if m['committee_meetings']|length < 6 %}
<span class="glyphicon glyphicon-remove-sign red eval-info-status"></span> {{m['committee_meetings']|length}}
{% else %}
<span class="glyphicon glyphicon-ok-sign green eval-info-status"></span> {{m['committee_meetings']}}
<span class="glyphicon glyphicon-ok-sign green eval-info-status"></span> {{m['committee_meetings']|length}}
{% endif %}
</td>
<td data-sort="{{ m['signatures_missed'] }}">
Expand Down

0 comments on commit 5c141db

Please sign in to comment.