def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) if not permissions.is_manager_only(self.request.user): raise PermissionDenied courses = Course.objects.filter( coursepermissions__user=self.request.user, coursepermissions__role=CoursePermissions.MANAGER) start_date = timezone.now() - datetime.timedelta( days=constants.ACTIVITY_GRAPH_DEFAULT_NO_DAYS) end_date = timezone.now() # get activity activity_tracker_date = get_trackers(start_date, end_date, courses, date_data="tracker_date") activity_submitted_date = get_trackers(start_date, end_date, courses, date_data="submitted_date") context['courses'] = courses context['activity_graph_data'] = activity_tracker_date context['activity_submitted_graph_data'] = activity_submitted_date return context
def process(self, request): if not permissions.is_manager_only(request.user): raise PermissionDenied courses = Course.objects.filter( coursepermissions__user=request.user, coursepermissions__role=CoursePermissions.MANAGER) start_date = timezone.now() - datetime.timedelta( days=constants.ACTIVITY_GRAPH_DEFAULT_NO_DAYS) end_date = timezone.now() # get activity activity = get_trackers(start_date, end_date, courses) return render(request, 'oppia/home-manager.html', { 'courses': courses, 'activity_graph_data': activity, })
def process(self, request): if request.user.is_authenticated: # create profile if none exists (for first admin user login and # historical for very old users) try: request.user.userprofile except UserProfile.DoesNotExist: up = UserProfile() up.user = request.user up.save() up = request.user.userprofile # if user is student redirect to their scorecard if up.is_student_only(): return HttpResponseRedirect( reverse('profile:user_activity', args=[request.user.id])) # is user is teacher redirect to teacher home if up.is_teacher_only(): return HttpResponseRedirect(reverse('oppia:teacher_index')) if permissions.is_manager_only(request.user): return HttpResponseRedirect(reverse('oppia:manager_index')) # admin/staff view form, activity = self.admin_authenticated(request) leaderboard = Points.get_leaderboard( constants.LEADERBOARD_HOMEPAGE_RESULTS_PER_PAGE) else: activity = [] leaderboard = None form = None return render( request, 'oppia/home.html', { 'form': form, 'activity_graph_data': activity, 'leaderboard': leaderboard })
def dispatch(self, request, *args, **kwargs): if request.user.is_authenticated: # create profile if none exists (for first admin user login and # historical for very old users) try: request.user.userprofile except UserProfile.DoesNotExist: up = UserProfile() up.user = request.user up.save() up = request.user.userprofile # if user is student redirect to their scorecard if up.is_student_only(): return HttpResponseRedirect(reverse('profile:user_activity', args=[request.user.id])) # is user is teacher redirect to teacher home if up.is_teacher_only(): return HttpResponseRedirect(reverse('oppia:teacher_index')) if permissions.is_manager_only(request.user): return HttpResponseRedirect(reverse('oppia:manager_index')) return super().get(request, *args, **kwargs)
def test_is_manager_manager(self): self.assertTrue(is_manager_only(self.manager_user))
def test_is_manager_viewer(self): self.assertFalse(is_manager_only(self.viewer_user))
def test_is_manager_user(self): self.assertFalse(is_manager_only(self.normal_user))
def test_is_manager_teacher(self): self.assertFalse(is_manager_only(self.teacher_user))
def test_is_manager_staff(self): self.assertFalse(is_manager_only(self.staff_user))
def test_is_manager_admin(self): self.assertFalse(is_manager_only(self.admin_user))