def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) course = context.get('object') qs = ExternalCollection.objects.filter(course=course) collections = qs.filter(uploader=False).order_by('title') uploader = qs.filter(uploader=True).first() owners = [] if (course.is_member(self.request.user) and (self.request.user.is_staff or self.request.user.has_perm('assetmgr.can_upload_for'))): owners = UserResource().render_list(self.request, course.members) context.update({ 'course': course, 'classwork_owner': self.request.user, 'information_title': course_information_title(course), 'faculty_feed': Project.objects.faculty_compositions( course, self.request.user), 'is_faculty': cached_course_is_faculty(course, self.request.user), 'discussions': get_course_discussions(course), 'collections': collections, 'uploader': uploader, 'can_upload': False, 'owners': owners, }) return context
def deprecated_course_detail_view(request, course_pk): try: course = get_object_or_404(Course, pk=course_pk) request.course = course request.session[SESSION_KEY] = course except Course.DoesNotExist: return HttpResponseRedirect('/accounts/login/') logged_in_user = request.user classwork_owner = request.user # Viewing your own work by default if 'username' in request.GET: user_name = request.GET['username'] in_course_or_404(user_name, request.course) classwork_owner = get_object_or_404(User, username=user_name) qs = ExternalCollection.objects.filter(course=request.course) collections = qs.filter(uploader=False).order_by('title') uploader = qs.filter(uploader=True).first() owners = [] if (request.course.is_member(logged_in_user) and (logged_in_user.is_staff or logged_in_user.has_perm('assetmgr.can_upload_for'))): owners = UserResource().render_list(request, request.course.members) context = { 'classwork_owner': classwork_owner, 'information_title': course_information_title(course), 'faculty_feed': Project.objects.faculty_compositions(course, logged_in_user), 'is_faculty': cached_course_is_faculty(course, logged_in_user), 'discussions': get_course_discussions(course), 'msg': request.GET.get('msg', ''), 'view': request.GET.get('view', ''), 'collections': collections, 'uploader': uploader, 'can_upload': course_details.can_upload(request.user, request.course), 'owners': owners } return context
def __init__(self, *args, **kwargs): r = super(DashboardSettingsForm, self).__init__(*args, **kwargs) self.fields['publish_to_world'].initial = \ allow_public_compositions(self.instance) self.fields['homepage_title'].initial = \ course_information_title(self.instance) self.fields['see_eachothers_items'].initial = \ all_items_are_visible(self.instance) self.fields['see_eachothers_selections'].initial = \ all_selections_are_visible(self.instance) self.fields['allow_item_download'].initial = \ allow_item_download(self.instance) self.fields['allow_roster_changes'].initial = \ allow_roster_changes(self.instance) return r
def __init__(self, *args, **kwargs): r = super(DashboardSettingsForm, self).__init__(*args, **kwargs) self.fields['publish_to_world'].initial = \ allow_public_compositions(self.instance) self.fields['homepage_title'].initial = \ course_information_title(self.instance) self.fields['see_eachothers_items'].initial = \ all_items_are_visible(self.instance) self.fields['see_eachothers_selections'].initial = \ all_selections_are_visible(self.instance) self.fields['allow_item_download'].initial = \ allow_item_download(self.instance) self.fields['allow_roster_changes'].initial = \ allow_roster_changes(self.instance) return r
def test_post_disabled_selection_visibility(self): self.client.login(username=self.instructor_one.username, password='******') data = {course_details.ITEM_VISIBILITY_KEY: 0} response = self.client.post('/dashboard/settings/', data) self.assertEquals(response.status_code, 302) # unchanged from defaults self.assertEquals(course_information_title(self.sample_course), 'From Your Instructor') self.assertFalse(allow_public_compositions(self.sample_course)) # updated self.assertFalse(all_items_are_visible(self.sample_course)) self.assertFalse(all_selections_are_visible(self.sample_course))
def triple_homepage(request): if not request.course: return HttpResponseRedirect('/accounts/login/') logged_in_user = request.user classwork_owner = request.user # Viewing your own work by default if 'username' in request.GET: user_name = request.GET['username'] in_course_or_404(user_name, request.course) classwork_owner = get_object_or_404(User, username=user_name) course = request.course collections = ExternalCollection.objects.filter( course=request.course, uploader=False).order_by('title') uploader = ExternalCollection.objects.filter(course=request.course, uploader=True).first() owners = [] if (in_course(logged_in_user.username, request.course) and (logged_in_user.is_staff or logged_in_user.has_perm('assetmgr.can_upload_for'))): owners = UserResource().render_list(request, request.course.members) context = { 'classwork_owner': classwork_owner, "information_title": course_information_title(course), 'faculty_feed': Project.objects.faculty_compositions(course, logged_in_user), 'is_faculty': course.is_faculty(logged_in_user), 'discussions': get_course_discussions(course), 'msg': request.GET.get('msg', ''), 'view': request.GET.get('view', ''), 'collections': collections, 'uploader': uploader, 'can_upload': course_details.can_upload(request.user, request.course), 'owners': owners } if getattr(settings, 'DJANGOSHERD_FLICKR_APIKEY', None): # MUST only contain string values for now!! # (see templates/assetmgr/bookmarklet.js to see why or fix) context['bookmarklet_vars'] = { 'flickr_apikey': settings.DJANGOSHERD_FLICKR_APIKEY } return context
def test_post(self): self.assertTrue( self.client.login(username=self.instructor_one.username, password='******')) data = { course_details.COURSE_INFORMATION_TITLE_KEY: "Foo", course_details.SELECTION_VISIBILITY_KEY: 0, course_details.ITEM_VISIBILITY_KEY: 0, course_details.ALLOW_PUBLIC_COMPOSITIONS_KEY: 1 } response = self.client.post('/dashboard/settings/', data) self.assertEquals(response.status_code, 302) self.assertEquals(course_information_title(self.sample_course), "Foo") self.assertTrue(allow_public_compositions(self.sample_course)) self.assertFalse(all_items_are_visible(self.sample_course)) self.assertFalse(all_selections_are_visible(self.sample_course))
def __init__(self, *args, **kwargs): r = super(DashboardSettingsForm, self).__init__(*args, **kwargs) self.fields['publish_to_world'].initial = \ allow_public_compositions(self.instance) self.fields['homepage_title'].initial = \ course_information_title(self.instance) self.fields['see_eachothers_items'].initial = \ all_items_are_visible(self.instance) self.fields['see_eachothers_selections'].initial = \ all_selections_are_visible(self.instance) self.fields['allow_item_download'].initial = \ allow_item_download(self.instance) lti_context = LTICourseContext.objects.filter( group=self.instance.group.id, faculty_group=self.instance.faculty_group.id).first() self.fields['lti_integration'].initial = \ (lti_context and lti_context.enable) return r
def course_detail_view(request): if not request.course: return HttpResponseRedirect('/accounts/login/') logged_in_user = request.user classwork_owner = request.user # Viewing your own work by default if 'username' in request.GET: user_name = request.GET['username'] in_course_or_404(user_name, request.course) classwork_owner = get_object_or_404(User, username=user_name) course = request.course qs = ExternalCollection.objects.filter(course=request.course) collections = qs.filter(uploader=False).order_by('title') uploader = qs.filter(uploader=True).first() owners = [] if (request.course.is_member(logged_in_user) and (logged_in_user.is_staff or logged_in_user.has_perm('assetmgr.can_upload_for'))): owners = UserResource().render_list(request, request.course.members) context = { 'classwork_owner': classwork_owner, 'information_title': course_information_title(course), 'faculty_feed': Project.objects.faculty_compositions(course, logged_in_user), 'is_faculty': cached_course_is_faculty(course, logged_in_user), 'discussions': get_course_discussions(course), 'msg': request.GET.get('msg', ''), 'view': request.GET.get('view', ''), 'collections': collections, 'uploader': uploader, 'can_upload': course_details.can_upload(request.user, request.course), 'owners': owners } return context
def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) course = context.get('object') qs = ExternalCollection.objects.filter(course=self.request.course) collections = qs.filter(uploader=False).order_by('title') uploader = qs.filter(uploader=True).first() owners = [] if (self.request.course.is_member(self.request.user) and (self.request.user.is_staff or self.request.user.has_perm('assetmgr.can_upload_for'))): owners = UserResource().render_list(self.request, course.members) context.update({ 'course': course, 'classwork_owner': self.request.user, 'information_title': course_information_title(course), 'faculty_feed': Project.objects.faculty_compositions(course, self.request.user), 'is_faculty': cached_course_is_faculty(course, self.request.user), 'owners': owners, 'collections': collections, 'uploader': uploader, 'msg': self.request.GET.get('msg', ''), 'can_upload': course_details.can_upload(self.request.user, self.request.course), }) return context
def test_course_information_title(self): # default self.assertEquals(course_information_title(self.sample_course), COURSE_INFORMATION_TITLE_DEFAULT)
def test_course_information_title(self): # default self.assertEquals(course_information_title(self.sample_course), COURSE_INFORMATION_TITLE_DEFAULT)