Commit 6ea078e8 by Clinton Blackburn

Merge pull request #64 from edx/clintonb/course-index-update

Updated course search index
parents 2f90204f 4311720d
...@@ -7,13 +7,30 @@ class CourseIndex(indexes.SearchIndex, indexes.Indexable): ...@@ -7,13 +7,30 @@ class CourseIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True) text = indexes.CharField(document=True, use_template=True)
key = indexes.CharField(model_attr='key', stored=True) key = indexes.CharField(model_attr='key', stored=True)
title = indexes.CharField(model_attr='title') title = indexes.CharField(model_attr='title')
organizations = indexes.MultiValueField()
short_description = indexes.CharField(model_attr='short_description', null=True) short_description = indexes.CharField(model_attr='short_description', null=True)
full_description = indexes.CharField(model_attr='full_description', null=True) full_description = indexes.CharField(model_attr='full_description', null=True)
level_type = indexes.CharField(model_attr='level_type__name', null=True) level_type = indexes.CharField(model_attr='level_type__name', null=True)
course_runs = indexes.MultiValueField()
expected_learning_items = indexes.MultiValueField()
organizations = indexes.MultiValueField()
prerequisites = indexes.MultiValueField()
subjects = indexes.MultiValueField()
def prepare_course_runs(self, obj):
return [course_run.key for course_run in obj.course_runs.all()]
def prepare_expected_learning_items(self, obj):
return [item.value for item in obj.expected_learning_items.all()]
def prepare_organizations(self, obj): def prepare_organizations(self, obj):
return [organization.name for organization in obj.organizations.all()] return ['{key}: {name}'.format(key=organization.key, name=organization.name) for organization in
obj.organizations.all()]
def prepare_prerequisites(self, obj):
return [prerequisite.name for prerequisite in obj.prerequisites.all()]
def prepare_subjects(self, obj):
return [subject.name for subject in obj.subjects.all()]
def get_model(self): def get_model(self):
return Course return Course
......
{{ object.key }} {{ object.key }}
{{ object.title }} {{ object.title }}
{{ object.organizations.all|default:'' }}
{{ object.short_description|default:'' }} {{ object.short_description|default:'' }}
{{ object.full_description|default:'' }} {{ object.full_description|default:'' }}
{{ object.level_type|default:'' }} {{ object.level_type|default:'' }}
{{ object.marketing_url|default:'' }}
{% for course_run in object.course_runs.all %}
{{ course_run }}
{% endfor %}
{% for expected_learning_item in object.expected_learning_items.all %}
{{ expected_learning_item.value }}
{% endfor %}
{% for organization in object.organizations.all %}
{{ organization.key }}: {{ organization.name }}
{% endfor %}
{% for prerequisite in object.prerequisites.all %}
{{ prerequisite.name }}
{% endfor %}
{% for subject in object.subjects.all %}
{{ subject.name }}
{% endfor %}
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