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
71d2de53
Commit
71d2de53
authored
May 31, 2017
by
Waheed Ahmed
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Display card_image_url on detail pages if course image not available.
LEARNER-1263
parent
8dc7e656
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
46 additions
and
14 deletions
+46
-14
course_discovery/apps/publisher/models.py
+15
-0
course_discovery/apps/publisher/tests/test_model.py
+20
-0
course_discovery/apps/publisher/tests/test_wrapper.py
+4
-4
course_discovery/apps/publisher/wrappers.py
+2
-5
course_discovery/templates/publisher/course_detail.html
+2
-2
course_discovery/templates/publisher/course_run_detail/_drupal.html
+3
-3
No files found.
course_discovery/apps/publisher/models.py
View file @
71d2de53
...
...
@@ -189,6 +189,21 @@ class Course(TimeStampedModel, ChangedByMixin):
except
CourseUserRole
.
DoesNotExist
:
return
None
@property
def
course_image_url
(
self
):
"""
Return course image url.
"""
if
self
.
image
:
return
self
.
image
.
url
course_run
=
self
.
course_runs
.
filter
(
course_run_state__name
=
CourseRunStateChoices
.
Published
)
.
first
()
if
course_run
and
course_run
.
card_image_url
:
return
course_run
.
card_image_url
return
None
class
CourseRun
(
TimeStampedModel
,
ChangedByMixin
):
""" Publisher CourseRun model. It contains fields related to the course run intake form."""
...
...
course_discovery/apps/publisher/tests/test_model.py
View file @
71d2de53
...
...
@@ -312,6 +312,26 @@ class CourseTests(TestCase):
self
.
assertEqual
(
self
.
user1
,
self
.
course2
.
publisher
)
def
test_course_image_url
(
self
):
""" Verify that the property returns the course image url. """
self
.
assertIsNone
(
self
.
course
.
course_image_url
)
# Create a published course-run with card_image_url.
course_run
=
factories
.
CourseRunFactory
(
course
=
self
.
course
)
factories
.
CourseRunStateFactory
(
course_run
=
course_run
,
name
=
CourseRunStateChoices
.
Published
)
course_run
.
card_image_url
=
'http://example.com/test.jpg'
course_run
.
save
()
# Verify that property returns card_image_url of course-run.
self
.
assertEqual
(
self
.
course
.
course_image_url
,
course_run
.
card_image_url
)
# Create a course image.
self
.
course
.
image
=
make_image_file
(
'test_banner1.jpg'
)
self
.
course
.
save
()
# Verify that property returns course image field url.
self
.
assertEqual
(
self
.
course
.
course_image_url
,
self
.
course
.
image
.
url
)
class
SeatTests
(
TestCase
):
""" Tests for the publisher `Seat` model. """
...
...
course_discovery/apps/publisher/tests/test_wrapper.py
View file @
71d2de53
...
...
@@ -174,14 +174,14 @@ class CourseRunWrapperTests(TestCase):
""" Verify that the wrapper return the course team admin. """
self
.
assertEqual
(
self
.
wrapped_course_run
.
course_team_admin
,
self
.
course
.
course_team_admin
)
def
test_course_image
(
self
):
""" Verify that the wrapper return the course image. """
self
.
assertIsNone
(
self
.
wrapped_course_run
.
course_image
)
def
test_course_image
_url
(
self
):
""" Verify that the wrapper return the course image
url
. """
self
.
assertIsNone
(
self
.
wrapped_course_run
.
course_image
_url
)
self
.
course
.
image
=
make_image_file
(
'test_banner1.jpg'
)
self
.
course
.
save
()
self
.
assertEqual
(
self
.
wrapped_course_run
.
course_image
,
self
.
course
.
image
)
self
.
assertEqual
(
self
.
wrapped_course_run
.
course_image
_url
,
self
.
course
.
image
.
url
)
def
test_course_staff
(
self
):
"""Verify that the wrapper return staff list."""
...
...
course_discovery/apps/publisher/wrappers.py
View file @
71d2de53
...
...
@@ -189,11 +189,8 @@ class CourseRunWrapper(BaseWrapper):
return
self
.
wrapped_obj
.
course
.
course_team_admin
@property
def
course_image
(
self
):
if
self
.
wrapped_obj
.
course
.
image
:
return
self
.
wrapped_obj
.
course
.
image
return
None
def
course_image_url
(
self
):
return
self
.
wrapped_obj
.
course
.
course_image_url
@property
def
course_staff
(
self
):
...
...
course_discovery/templates/publisher/course_detail.html
View file @
71d2de53
...
...
@@ -144,8 +144,8 @@
<div
class=
"heading course-image-heading"
>
{% trans "Course Image" %}
</div>
{% if object.
image
%}
<img
class=
"course-image"
src=
"{{ object.
image.
url }}"
alt=
"{% trans 'Course Image' %}"
>
{% if object.
course_image_url
%}
<img
class=
"course-image"
src=
"{{ object.
course_image_
url }}"
alt=
"{% trans 'Course Image' %}"
>
{% else %}
{% trans "(Required) Not yet added" %}
{% endif %}
...
...
course_discovery/templates/publisher/course_run_detail/_drupal.html
View file @
71d2de53
...
...
@@ -181,12 +181,12 @@
{% trans "Course Image" %}
</div>
<div>
{% if not object.course_image %}
{% if not object.course_image
_url
%}
{% trans "(Required) Not yet added" %}
{% else %}
<img
class=
"course-image"
src=
"{{ object.course_image
.
url }}"
alt=
"{% trans 'Course Image' %}"
>
<img
class=
"course-image"
src=
"{{ object.course_image
_
url }}"
alt=
"{% trans 'Course Image' %}"
>
<div
class=
"download-image"
>
<a
download
href=
"{{ object.course_image
.
url }}"
>
<a
download
href=
"{{ object.course_image
_
url }}"
>
{% trans "Download" %}
</a>
</div>
...
...
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