def test_is_partner_coordinator_user(self): """ Verify the function returns a boolean indicating if the user is a member of the partner coordinator group. """ self.assertFalse(is_partner_coordinator_user(self.user)) partner_coordinator_group = Group.objects.get(name=PARTNER_COORDINATOR_GROUP_NAME) self.user.groups.add(partner_coordinator_group) self.assertTrue(is_partner_coordinator_user(self.user))
def get_context_data(self, **kwargs): context = super(Dashboard, self).get_context_data(**kwargs) course_runs = context.get('object_list') published_course_runs = course_runs.filter( state__name=State.PUBLISHED, state__modified__gt=datetime.today() - timedelta(days=self.default_published_days) ).select_related('state').order_by('-state__modified') unpublished_course_runs = course_runs.exclude(state__name=State.PUBLISHED) # Studio requests needs to check depending upon the user role with course # Also user should be part of partner coordinator group. if is_publisher_admin(self.request.user): studio_request_courses = unpublished_course_runs.filter(lms_course_id__isnull=True) elif is_partner_coordinator_user(self.request.user): studio_request_courses = unpublished_course_runs.filter(lms_course_id__isnull=True).filter( course__course_user_roles__role=PublisherUserRole.PartnerCoordinator ) else: studio_request_courses = [] context['studio_request_courses'] = [CourseRunWrapper(course_run) for course_run in studio_request_courses] context['unpublished_course_runs'] = [CourseRunWrapper(course_run) for course_run in unpublished_course_runs] context['published_course_runs'] = [CourseRunWrapper(course_run) for course_run in published_course_runs] context['default_published_days'] = self.default_published_days in_progress_course_runs = course_runs.filter( state__name=State.NEEDS_FINAL_APPROVAL ).select_related('state').order_by('-state__modified') preview_course_runs = in_progress_course_runs.filter( preview_url__isnull=False ).order_by('-state__modified') context['in_progress_course_runs'] = [CourseRunWrapper(course_run) for course_run in in_progress_course_runs] context['preview_course_runs'] = [CourseRunWrapper(course_run) for course_run in preview_course_runs] return context