Skip to content

Commit 3a755e6

Browse files
committed
Show seminars for members too
1 parent f0e8f93 commit 3a755e6

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

conditional/blueprints/dashboard.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from conditional.models.models import HouseMeeting
77
from conditional.models.models import MajorProject
88
from conditional.models.models import MemberHouseMeetingAttendance
9+
from conditional.models.models import MemberSeminarAttendance
10+
from conditional.models.models import TechnicalSeminar
911
from conditional.models.models import SpringEval
1012
from conditional.util.auth import get_user
1113
from conditional.util.flask import render_template
@@ -20,6 +22,10 @@
2022

2123
dashboard_bp = Blueprint('dashboard_bp', __name__)
2224

25+
def is_seminar_attendance_valid(attendance):
26+
seminar = TechnicalSeminar.query.filter(
27+
TechnicalSeminar.id == attendance.seminar_id).first()
28+
return seminar and seminar.approved and seminar.timestamp > start_of_year()
2329

2430
@dashboard_bp.route('/dashboard/')
2531
@auth.oidc_auth
@@ -85,6 +91,18 @@ def display_dashboard(user_dict=None):
8591

8692
data['major_projects_count'] = len(data['major_projects'])
8793

94+
# technical seminar total
95+
t_seminars = [s.seminar_id for s in
96+
MemberSeminarAttendance.query.filter(
97+
MemberSeminarAttendance.uid == user_dict['account'].uid,
98+
) if is_seminar_attendance_valid(s)]
99+
data['ts_total'] = len(t_seminars)
100+
attendance = [m.name for m in TechnicalSeminar.query.filter(
101+
TechnicalSeminar.id.in_(t_seminars)
102+
)]
103+
104+
data['ts_list'] = attendance
105+
88106
spring['mp_status'] = "Failed"
89107
for mp in data['major_projects']:
90108
if mp['status'] == "Pending":

conditional/templates/dashboard.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,21 @@ <h3 class="panel-title">Membership Evaluations
109109
{% endif %}
110110
</h3>
111111
</div>
112+
<div class="panel-body" style="padding:0px 0px 8px 8px">
113+
<b>Technical Seminars</b> {% if ts_total == 0 %}
114+
<div class="panel-body">
115+
<div class="alert alert-warning" role="alert">You have not attended any technical seminars.</div>
116+
</div>
117+
{% else %}
118+
<div class="panel-body table-fill">
119+
<ul>
120+
{% for ts in ts_list %}
121+
<li>{{ts}}</li>
122+
{% endfor %}
123+
</ul>
124+
</div>
125+
{% endif %}
126+
</div>
112127
<div class="panel-body table-fill">
113128
<table class="table table-striped table-responsive no-bottom-margin">
114129
<tbody>

0 commit comments

Comments
 (0)