Commit df0bb8d6 by ichuang

make university profile pages also use get_courses_by_university

parent bbfc208d
...@@ -41,6 +41,7 @@ class XmlDescriptor(XModuleDescriptor): ...@@ -41,6 +41,7 @@ class XmlDescriptor(XModuleDescriptor):
# to definition_from_xml, and from the xml returned by definition_to_xml # to definition_from_xml, and from the xml returned by definition_to_xml
metadata_attributes = ('format', 'graceperiod', 'showanswer', 'rerandomize', metadata_attributes = ('format', 'graceperiod', 'showanswer', 'rerandomize',
'start', 'due', 'graded', 'display_name', 'url_name', 'hide_from_toc', 'start', 'due', 'graded', 'display_name', 'url_name', 'hide_from_toc',
'ispublic', # if True, then course is listed for all users; see
# VS[compat] Remove once unused. # VS[compat] Remove once unused.
'name', 'slug') 'name', 'slug')
......
...@@ -135,6 +135,11 @@ def has_staff_access_to_course(user,course): ...@@ -135,6 +135,11 @@ def has_staff_access_to_course(user,course):
return True return True
return False return False
def has_access_to_course(user,course):
if course.metadata.get('ispublic'):
return True
return has_staff_access_to_course(user,course)
def get_courses_by_university(user): def get_courses_by_university(user):
''' '''
Returns dict of lists of courses available, keyed by course.org (ie university). Returns dict of lists of courses available, keyed by course.org (ie university).
...@@ -150,7 +155,7 @@ def get_courses_by_university(user): ...@@ -150,7 +155,7 @@ def get_courses_by_university(user):
universities = defaultdict(list) universities = defaultdict(list)
for course in courses: for course in courses:
if settings.MITX_FEATURES.get('ENABLE_LMS_MIGRATION'): if settings.MITX_FEATURES.get('ENABLE_LMS_MIGRATION'):
if not has_staff_access_to_course(user,course): if not has_access_to_course(user,course):
continue continue
universities[course.org].append(course) universities[course.org].append(course)
return universities return universities
......
...@@ -289,7 +289,7 @@ def university_profile(request, org_id): ...@@ -289,7 +289,7 @@ def university_profile(request, org_id):
raise Http404("University Profile not found for {0}".format(org_id)) raise Http404("University Profile not found for {0}".format(org_id))
# Only grab courses for this org... # Only grab courses for this org...
courses = [c for c in all_courses if c.org == org_id] courses = get_courses_by_university(request.user)[org_id]
context = dict(courses=courses, org_id=org_id) context = dict(courses=courses, org_id=org_id)
template_file = "university_profile/{0}.html".format(org_id).lower() template_file = "university_profile/{0}.html".format(org_id).lower()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment