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
fe9e1736
Commit
fe9e1736
authored
Jul 20, 2016
by
Clinton Blackburn
Committed by
GitHub
Jul 20, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Renamed the Program name field to title (#169)
This is more inline with how we handle courses and course runs.
parent
a9a97c5e
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
40 additions
and
15 deletions
+40
-15
course_discovery/apps/api/serializers.py
+2
-2
course_discovery/apps/api/tests/test_serializers.py
+2
-2
course_discovery/apps/course_metadata/admin.py
+3
-3
course_discovery/apps/course_metadata/data_loaders.py
+1
-1
course_discovery/apps/course_metadata/migrations/0006_auto_20160719_2052.py
+24
-0
course_discovery/apps/course_metadata/models.py
+3
-3
course_discovery/apps/course_metadata/search_indexes.py
+1
-1
course_discovery/apps/course_metadata/tests/factories.py
+1
-1
course_discovery/apps/course_metadata/tests/test_data_loaders.py
+2
-1
course_discovery/apps/course_metadata/tests/test_models.py
+1
-1
No files found.
course_discovery/apps/api/serializers.py
View file @
fe9e1736
...
...
@@ -45,7 +45,7 @@ COURSE_RUN_SEARCH_FIELDS = (
)
PROGRAM_SEARCH_FIELDS
=
(
'uuid'
,
'
nam
e'
,
'subtitle'
,
'category'
,
'marketing_url'
,
'organizations'
,
'content_type'
,
'text'
,
'uuid'
,
'
titl
e'
,
'subtitle'
,
'category'
,
'marketing_url'
,
'organizations'
,
'content_type'
,
'text'
,
)
...
...
@@ -257,7 +257,7 @@ class ContainedCoursesSerializer(serializers.Serializer):
class
ProgramSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
Program
fields
=
(
'uuid'
,
'
nam
e'
,
'subtitle'
,
'category'
,
'marketing_slug'
,
'marketing_url'
,)
fields
=
(
'uuid'
,
'
titl
e'
,
'subtitle'
,
'category'
,
'marketing_slug'
,
'marketing_url'
,)
read_only_fields
=
(
'uuid'
,
'marketing_url'
,)
...
...
course_discovery/apps/api/tests/test_serializers.py
View file @
fe9e1736
...
...
@@ -174,7 +174,7 @@ class ProgramSerializerTests(TestCase):
expected
=
{
'uuid'
:
str
(
program
.
uuid
),
'
name'
:
program
.
nam
e
,
'
title'
:
program
.
titl
e
,
'subtitle'
:
program
.
subtitle
,
'category'
:
program
.
category
,
'marketing_slug'
:
program
.
marketing_slug
,
...
...
@@ -392,7 +392,7 @@ class ProgramSearchSerializerTests(TestCase):
expected
=
{
'uuid'
:
str
(
program
.
uuid
),
'
name'
:
program
.
nam
e
,
'
title'
:
program
.
titl
e
,
'subtitle'
:
program
.
subtitle
,
'category'
:
program
.
category
,
'marketing_url'
:
program
.
marketing_url
,
...
...
course_discovery/apps/course_metadata/admin.py
View file @
fe9e1736
...
...
@@ -34,9 +34,9 @@ class CourseRunAdmin(admin.ModelAdmin):
@admin.register
(
Program
)
class
ProgramAdmin
(
admin
.
ModelAdmin
):
list_display
=
(
'uuid'
,
'
nam
e'
,)
ordering
=
(
'uuid'
,
'
nam
e'
,)
search_fields
=
(
'uuid'
,
'
nam
e'
,
'marketing_slug'
)
list_display
=
(
'uuid'
,
'
titl
e'
,)
ordering
=
(
'uuid'
,
'
titl
e'
,)
search_fields
=
(
'uuid'
,
'
titl
e'
,
'marketing_slug'
)
class
KeyNameAdmin
(
admin
.
ModelAdmin
):
...
...
course_discovery/apps/course_metadata/data_loaders.py
View file @
fe9e1736
...
...
@@ -518,7 +518,7 @@ class ProgramsApiDataLoader(AbstractDataLoader):
def
update_program
(
self
,
body
):
defaults
=
{
'
nam
e'
:
body
[
'name'
],
'
titl
e'
:
body
[
'name'
],
'subtitle'
:
body
[
'subtitle'
],
'category'
:
body
[
'category'
],
'status'
:
body
[
'status'
],
...
...
course_discovery/apps/course_metadata/migrations/0006_auto_20160719_2052.py
0 → 100644
View file @
fe9e1736
# -*- coding: utf-8 -*-
from
__future__
import
unicode_literals
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'course_metadata'
,
'0005_auto_20160713_0113'
),
]
operations
=
[
migrations
.
RenameField
(
model_name
=
'program'
,
old_name
=
'name'
,
new_name
=
'title'
),
migrations
.
AlterField
(
model_name
=
'program'
,
name
=
'title'
,
field
=
models
.
CharField
(
unique
=
True
,
help_text
=
'The user-facing display title for this Program.'
,
max_length
=
255
),
),
]
course_discovery/apps/course_metadata/models.py
View file @
fe9e1736
...
...
@@ -397,8 +397,8 @@ class Program(TimeStampedModel):
verbose_name
=
_
(
'UUID'
)
)
nam
e
=
models
.
CharField
(
help_text
=
_
(
'The user-facing display
nam
e for this Program.'
),
titl
e
=
models
.
CharField
(
help_text
=
_
(
'The user-facing display
titl
e for this Program.'
),
max_length
=
255
,
unique
=
True
,
)
...
...
@@ -436,4 +436,4 @@ class Program(TimeStampedModel):
return
None
def
__str__
(
self
):
return
self
.
nam
e
return
self
.
titl
e
course_discovery/apps/course_metadata/search_indexes.py
View file @
fe9e1736
...
...
@@ -108,7 +108,7 @@ class ProgramIndex(OrganizationsMixin, BaseIndex, indexes.Indexable):
model
=
Program
uuid
=
indexes
.
CharField
(
model_attr
=
'uuid'
)
name
=
indexes
.
CharField
(
model_attr
=
'nam
e'
)
title
=
indexes
.
CharField
(
model_attr
=
'titl
e'
)
subtitle
=
indexes
.
CharField
(
model_attr
=
'subtitle'
)
category
=
indexes
.
CharField
(
model_attr
=
'category'
,
faceted
=
True
)
marketing_url
=
indexes
.
CharField
(
model_attr
=
'marketing_url'
,
null
=
True
)
...
...
course_discovery/apps/course_metadata/tests/factories.py
View file @
fe9e1736
...
...
@@ -142,7 +142,7 @@ class ProgramFactory(factory.django.DjangoModelFactory):
class
Meta
(
object
):
model
=
Program
nam
e
=
factory
.
Sequence
(
lambda
n
:
'test-program-{}'
.
format
(
n
))
# pylint: disable=unnecessary-lambda
titl
e
=
factory
.
Sequence
(
lambda
n
:
'test-program-{}'
.
format
(
n
))
# pylint: disable=unnecessary-lambda
uuid
=
factory
.
LazyFunction
(
uuid4
)
subtitle
=
'test-subtitle'
category
=
'xseries'
...
...
course_discovery/apps/course_metadata/tests/test_data_loaders.py
View file @
fe9e1736
...
...
@@ -1158,7 +1158,8 @@ class ProgramsApiDataLoaderTests(DataLoaderTestMixin, TestCase):
""" Assert a Program corresponding to the specified data body was properly loaded into the database. """
program
=
Program
.
objects
.
get
(
uuid
=
AbstractDataLoader
.
clean_string
(
body
[
'uuid'
]))
for
attr
in
(
'name'
,
'subtitle'
,
'category'
,
'status'
,
'marketing_slug'
,):
self
.
assertEqual
(
program
.
title
,
body
[
'name'
])
for
attr
in
(
'subtitle'
,
'category'
,
'status'
,
'marketing_slug'
,):
self
.
assertEqual
(
getattr
(
program
,
attr
),
AbstractDataLoader
.
clean_string
(
body
[
attr
]))
keys
=
[
org
[
'key'
]
for
org
in
body
[
'organizations'
]]
...
...
course_discovery/apps/course_metadata/tests/test_models.py
View file @
fe9e1736
...
...
@@ -244,7 +244,7 @@ class ProgramTests(TestCase):
def
test_str
(
self
):
"""Verify that a program is properly converted to a str."""
program
=
factories
.
ProgramFactory
()
self
.
assertEqual
(
str
(
program
),
program
.
nam
e
)
self
.
assertEqual
(
str
(
program
),
program
.
titl
e
)
def
test_marketing_url
(
self
):
""" Verify the property creates a complete marketing URL. """
...
...
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