Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
course-discovery
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
course-discovery
Commits
5b180b47
Commit
5b180b47
authored
Oct 25, 2016
by
Matthew Piatetsky
Committed by
GitHub
Oct 25, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #394 from edx/ECOM-5040
ECOM-5040 Search in Mobile
parents
61460f7a
58ebe7f3
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
34 additions
and
3 deletions
+34
-3
course_discovery/apps/api/serializers.py
+3
-2
course_discovery/apps/api/tests/test_serializers.py
+2
-0
course_discovery/apps/course_metadata/data_loaders/api.py
+1
-0
course_discovery/apps/course_metadata/data_loaders/marketing_site.py
+1
-0
course_discovery/apps/course_metadata/data_loaders/tests/mock_data.py
+4
-1
course_discovery/apps/course_metadata/data_loaders/tests/test_api.py
+1
-0
course_discovery/apps/course_metadata/data_loaders/tests/test_marketing_site.py
+1
-0
course_discovery/apps/course_metadata/migrations/0033_courserun_mobile_available.py
+19
-0
course_discovery/apps/course_metadata/models.py
+1
-0
course_discovery/apps/course_metadata/search_indexes.py
+1
-0
No files found.
course_discovery/apps/api/serializers.py
View file @
5b180b47
...
...
@@ -39,6 +39,7 @@ COURSE_RUN_FACET_FIELD_OPTIONS = {
'content_type'
:
{},
'type'
:
{},
'seat_types'
:
{},
'mobile_available'
:
{},
}
COURSE_RUN_FACET_FIELD_QUERIES
=
{
...
...
@@ -51,7 +52,7 @@ COURSE_RUN_SEARCH_FIELDS = (
'text'
,
'key'
,
'title'
,
'short_description'
,
'full_description'
,
'start'
,
'end'
,
'enrollment_start'
,
'enrollment_end'
,
'pacing_type'
,
'language'
,
'transcript_languages'
,
'marketing_url'
,
'content_type'
,
'org'
,
'number'
,
'seat_types'
,
'image_url'
,
'type'
,
'level_type'
,
'availability'
,
'published'
,
'partner'
,
'program_types'
,
'authoring_organization_uuids'
,
'subject_uuids'
,
'staff_uuids'
,
'authoring_organization_uuids'
,
'subject_uuids'
,
'staff_uuids'
,
'mobile_available'
,
)
PROGRAM_FACET_FIELD_OPTIONS
=
{
...
...
@@ -371,7 +372,7 @@ class CourseRunSerializer(MinimalCourseRunSerializer):
fields
=
MinimalCourseRunSerializer
.
Meta
.
fields
+
(
'course'
,
'full_description'
,
'start'
,
'end'
,
'enrollment_start'
,
'enrollment_end'
,
'announcement'
,
'video'
,
'seats'
,
'content_language'
,
'transcript_languages'
,
'instructors'
,
'staff'
,
'pacing_type'
,
'min_effort'
,
'max_effort'
,
'modified'
,
'level_type'
,
'availability'
,
'min_effort'
,
'max_effort'
,
'modified'
,
'level_type'
,
'availability'
,
'mobile_available'
,
)
def
get_instructors
(
self
,
obj
):
# pylint: disable=unused-argument
...
...
course_discovery/apps/api/tests/test_serializers.py
View file @
5b180b47
...
...
@@ -243,6 +243,7 @@ class CourseRunSerializerTests(MinimalCourseRunSerializerTests):
'announcement'
:
json_date_format
(
course_run
.
announcement
),
'video'
:
VideoSerializer
(
course_run
.
video
)
.
data
,
'pacing_type'
:
course_run
.
pacing_type
,
'mobile_available'
:
course_run
.
mobile_available
,
'content_language'
:
course_run
.
language
.
code
,
'transcript_languages'
:
[],
'min_effort'
:
course_run
.
min_effort
,
...
...
@@ -1019,6 +1020,7 @@ class CourseRunSearchSerializerTests(TestCase):
'key'
:
course_run
.
key
,
'marketing_url'
:
course_run
.
marketing_url
,
'pacing_type'
:
course_run
.
pacing_type
,
'mobile_available'
:
course_run
.
mobile_available
,
'language'
:
serialize_language
(
course_run
.
language
),
'full_description'
:
course_run
.
full_description
,
'title'
:
course_run
.
title
,
...
...
course_discovery/apps/course_metadata/data_loaders/api.py
View file @
5b180b47
...
...
@@ -157,6 +157,7 @@ class CoursesApiDataLoader(AbstractDataLoader):
'video'
:
self
.
get_courserun_video
(
body
),
'status'
:
CourseRunStatus
.
Published
,
'pacing_type'
:
self
.
get_pacing_type
(
body
),
'mobile_available'
:
body
.
get
(
'mobile_available'
),
})
course_run
,
__
=
course
.
course_runs
.
update_or_create
(
key__iexact
=
key
,
defaults
=
defaults
)
...
...
course_discovery/apps/course_metadata/data_loaders/marketing_site.py
View file @
5b180b47
...
...
@@ -467,6 +467,7 @@ class CourseMarketingSiteDataLoader(AbstractMarketingSiteDataLoader):
'pacing_type'
:
self
.
get_pacing_type
(
data
),
'hidden'
:
self
.
get_hidden
(
data
),
'weeks_to_complete'
:
None
,
'mobile_available'
:
data
.
get
(
'field_course_enrollment_mobile'
)
or
False
,
}
if
weeks_to_complete
:
...
...
course_discovery/apps/course_metadata/data_loaders/tests/mock_data.py
View file @
5b180b47
...
...
@@ -38,6 +38,7 @@ COURSES_API_BODIES = [
'short_description'
:
''
,
'start'
:
'2015-06-15T13:00:00Z'
,
'pacing'
:
'self'
,
'mobile_available'
:
False
,
},
{
'effort'
:
None
,
...
...
@@ -58,7 +59,8 @@ COURSES_API_BODIES = [
'org'
:
'KyotoUx'
,
'short_description'
:
''
,
'start'
:
'2015-10-29T09:00:00Z'
,
'pacing'
:
'instructor,'
'pacing'
:
'instructor,'
,
'mobile_available'
:
False
,
},
{
# Add a second run of KyotoUx+000x (3T2016) to test merging data across
...
...
@@ -81,6 +83,7 @@ COURSES_API_BODIES = [
'org'
:
'KyotoUx'
,
'short_description'
:
''
,
'start'
:
None
,
'mobile_available'
:
False
,
},
]
...
...
course_discovery/apps/course_metadata/data_loaders/tests/test_api.py
View file @
5b180b47
...
...
@@ -178,6 +178,7 @@ class CoursesApiDataLoaderTests(ApiClientTestMixin, DataLoaderTestMixin, TestCas
'video'
:
self
.
loader
.
get_courserun_video
(
body
),
'status'
:
CourseRunStatus
.
Published
,
'pacing_type'
:
self
.
loader
.
get_pacing_type
(
body
),
'mobile_available'
:
body
[
'mobile_available'
],
})
for
field
,
value
in
expected_values
.
items
():
...
...
course_discovery/apps/course_metadata/data_loaders/tests/test_marketing_site.py
View file @
5b180b47
...
...
@@ -485,6 +485,7 @@ class CourseMarketingSiteDataLoaderTests(AbstractMarketingSiteDataLoaderTestMixi
'start'
:
start
,
'pacing_type'
:
self
.
loader
.
get_pacing_type
(
data
),
'hidden'
:
self
.
loader
.
get_hidden
(
data
),
'mobile_available'
:
data
[
'field_course_enrollment_mobile'
]
or
False
,
}
if
weeks_to_complete
:
...
...
course_discovery/apps/course_metadata/migrations/0033_courserun_mobile_available.py
0 → 100644
View file @
5b180b47
# -*- coding: utf-8 -*-
from
__future__
import
unicode_literals
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'course_metadata'
,
'0032_auto_20161021_1636'
),
]
operations
=
[
migrations
.
AddField
(
model_name
=
'courserun'
,
name
=
'mobile_available'
,
field
=
models
.
BooleanField
(
default
=
False
),
),
]
course_discovery/apps/course_metadata/models.py
View file @
5b180b47
...
...
@@ -365,6 +365,7 @@ class CourseRun(TimeStampedModel):
video
=
models
.
ForeignKey
(
Video
,
default
=
None
,
null
=
True
,
blank
=
True
)
slug
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
,
db_index
=
True
)
hidden
=
models
.
BooleanField
(
default
=
False
)
mobile_available
=
models
.
BooleanField
(
default
=
False
)
objects
=
CourseRunQuerySet
.
as_manager
()
...
...
course_discovery/apps/course_metadata/search_indexes.py
View file @
5b180b47
...
...
@@ -128,6 +128,7 @@ class CourseRunIndex(BaseCourseIndex, indexes.Indexable):
program_types
=
indexes
.
MultiValueField
()
published
=
indexes
.
BooleanField
(
null
=
False
,
faceted
=
True
)
hidden
=
indexes
.
BooleanField
(
model_attr
=
'hidden'
,
faceted
=
True
)
mobile_available
=
indexes
.
BooleanField
(
model_attr
=
'mobile_available'
,
faceted
=
True
)
authoring_organization_uuids
=
indexes
.
MultiValueField
()
staff_uuids
=
indexes
.
MultiValueField
()
subject_uuids
=
indexes
.
MultiValueField
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment