diff options
author | ankitjavalkar | 2019-09-25 15:46:43 +0530 |
---|---|---|
committer | ankitjavalkar | 2019-09-25 15:46:43 +0530 |
commit | 194ee67048b80655f3da6be1f5018fdc278ffc58 (patch) | |
tree | 4cc8b2f6db31171cb5009da00e9082dc3d7f6229 /workshop_app | |
parent | 432998c8df215cf24512bc2e50e47ee6fdf952d0 (diff) | |
download | workshop_booking-194ee67048b80655f3da6be1f5018fdc278ffc58.tar.gz workshop_booking-194ee67048b80655f3da6be1f5018fdc278ffc58.tar.bz2 workshop_booking-194ee67048b80655f3da6be1f5018fdc278ffc58.zip |
Multiple Changes:
- Add teams
- Fix bug that causes todays booked workshops to disappear from queue
- Add a graph to display viz for accepted workshops in a team
- Remove unnecessary loops
Diffstat (limited to 'workshop_app')
-rw-r--r-- | workshop_app/templates/workshop_app/my_workshops.html | 32 | ||||
-rw-r--r-- | workshop_app/views.py | 33 |
2 files changed, 53 insertions, 12 deletions
diff --git a/workshop_app/templates/workshop_app/my_workshops.html b/workshop_app/templates/workshop_app/my_workshops.html index b4e0985..ba35757 100644 --- a/workshop_app/templates/workshop_app/my_workshops.html +++ b/workshop_app/templates/workshop_app/my_workshops.html @@ -125,6 +125,38 @@ <!-- Pending View --> <div class="container"> + {% if request.user.profile.position == 'instructor'%} + <h3 align="center" style="color: #04a9cf;"><strong><u>Team Member Requests</u></strong></h3> + + <table class="table"> + <thead> + <tr> + <th>Coordinator Name</th> + <th>Team Member</th> + <th>Workshop Name</th> + <th>Workshop Day</th> + </tr> + </thead> + <tbody> + {% for workshop in team_workshops %} + <tr> + <td><a href="{{ URL_ROOT }}/view_comment_profile/{{ workshop.requested_workshop_coordinator.profile.user.id }}"> + {{ workshop.proposed_workshop_coordinator.get_full_name }}</a> + </td> + <td> + {{ workshop.proposed_workshop_instructor.get_full_name }} + </td> + <td> + {{ workshop.proposed_workshop_title }} + </td> + <td> + {{ workshop.proposed_workshop_date | date }} + </td> + </tr> + {% endfor %} + </tbody> + </table> + {% endif %} {% if request.user.profile.position == 'instructor' %} <h3 align="center" style="color: #04a9cf;"><strong><u>Requests for Me</u></strong></h3> {% else %} diff --git a/workshop_app/views.py b/workshop_app/views.py index bdb5580..772615b 100644 --- a/workshop_app/views.py +++ b/workshop_app/views.py @@ -10,6 +10,7 @@ from .models import ( BookedWorkshop, ProposeWorkshopDate, Testimonial, ProfileComments ) +from teams.models import Team from datetime import datetime, date from django.contrib.auth import login, logout, authenticate from django.contrib.auth.decorators import login_required @@ -658,26 +659,36 @@ def my_workshops(request): today = datetime.today().date() workshop_occurence_list = RequestedWorkshop.objects.filter( requested_workshop_instructor=user.id, - requested_workshop_date__gt=today, + requested_workshop_date__gte=today, ).order_by('-requested_workshop_date') - for w in workshop_occurence_list: - workshops.append(w) proposed_workshop = ProposeWorkshopDate.objects.filter( proposed_workshop_instructor=user.id, - proposed_workshop_date__gt=today, + proposed_workshop_date__gte=today, ).order_by('-proposed_workshop_date') - for p in proposed_workshop: - workshops.append(p) proposed_workshop_pending = ProposeWorkshopDate.objects.filter( status='Pending' ).order_by('-proposed_workshop_date') - for p in proposed_workshop_pending: - workshops.append(p) + + workshops = list(workshop_occurence_list) + list(proposed_workshop) + list(proposed_workshop_pending) + + # team_members = list(set(user.profile.team_set.all().values_list('members', flat=True))) + teams = Team.objects.filter(members=user.profile) + team_workshops = [] + + if teams: + team_members = Profile.objects.filter(team__in=teams).exclude(id=user.profile.id).distinct() + team_member_ids = team_members.values_list('user__id') + team_workshops = ProposeWorkshopDate.objects.filter( + proposed_workshop_date__gte=today, + proposed_workshop_instructor_id__in=team_member_ids, + ) + print(team_workshops) return render(request, 'workshop_app/my_workshops.html', { "workshops" :workshops, + "team_workshops": team_workshops, "today": today}) else: @@ -685,14 +696,12 @@ def my_workshops(request): workshop_occurence_list = RequestedWorkshop.objects.filter( requested_workshop_coordinator=user.id ).order_by('-requested_workshop_date') - for w in workshop_occurence_list: - workshops.append(w) proposed_workshop = ProposeWorkshopDate.objects.filter( proposed_workshop_coordinator=user.id ).order_by('-proposed_workshop_date') - for p in proposed_workshop: - workshops.append(p) + + workshops = list(workshop_occurence_list) + list(proposed_workshop) + list(proposed_workshop_pending) return render(request, 'workshop_app/my_workshops.html', {"workshops": workshops}) |