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
7230c386
Commit
7230c386
authored
Jan 09, 2017
by
Waheed Ahmed
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Course edit page scope.
ECOM-6057
parent
b75291c0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
5 deletions
+52
-5
course_discovery/apps/publisher/tests/test_views.py
+47
-0
course_discovery/apps/publisher/urls.py
+1
-1
course_discovery/apps/publisher/views.py
+4
-4
No files found.
course_discovery/apps/publisher/tests/test_views.py
View file @
7230c386
...
@@ -1494,3 +1494,50 @@ class CourseDetailViewTests(TestCase):
...
@@ -1494,3 +1494,50 @@ class CourseDetailViewTests(TestCase):
response
=
self
.
client
.
get
(
self
.
detail_page_url
)
response
=
self
.
client
.
get
(
self
.
detail_page_url
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
context
[
'can_edit'
],
can_edit
)
self
.
assertEqual
(
response
.
context
[
'can_edit'
],
can_edit
)
class
CourseEditViewTests
(
TestCase
):
""" Tests for the course edit view. """
def
setUp
(
self
):
super
(
CourseEditViewTests
,
self
)
.
setUp
()
self
.
course
=
factories
.
CourseFactory
()
self
.
user
=
UserFactory
()
self
.
client
.
login
(
username
=
self
.
user
.
username
,
password
=
USER_PASSWORD
)
self
.
organization_extension
=
factories
.
OrganizationExtensionFactory
()
self
.
course
.
organizations
.
add
(
self
.
organization_extension
.
organization
)
self
.
edit_page_url
=
reverse
(
'publisher:publisher_courses_edit'
,
args
=
[
self
.
course
.
id
])
def
test_edit_page_without_permission
(
self
):
"""
Verify that user cannot access course edit page without edit permission.
"""
response
=
self
.
client
.
get
(
self
.
edit_page_url
)
self
.
assertEqual
(
response
.
status_code
,
403
)
def
test_edit_page_with_edit_permission
(
self
):
"""
Verify that user can access course edit page with edit permission.
"""
self
.
user
.
groups
.
add
(
self
.
organization_extension
.
group
)
assign_perm
(
OrganizationExtension
.
EDIT_COURSE
,
self
.
organization_extension
.
group
,
self
.
organization_extension
)
response
=
self
.
client
.
get
(
self
.
edit_page_url
)
self
.
assertEqual
(
response
.
status_code
,
200
)
def
test_edit_page_with_internal_user
(
self
):
"""
Verify that internal user can access course edit page.
"""
self
.
user
.
groups
.
add
(
Group
.
objects
.
get
(
name
=
INTERNAL_USER_GROUP_NAME
))
response
=
self
.
client
.
get
(
self
.
edit_page_url
)
self
.
assertEqual
(
response
.
status_code
,
200
)
def
test_edit_page_with_admin
(
self
):
"""
Verify that publisher admin can access course edit page.
"""
self
.
user
.
groups
.
add
(
Group
.
objects
.
get
(
name
=
ADMIN_GROUP_NAME
))
response
=
self
.
client
.
get
(
self
.
edit_page_url
)
self
.
assertEqual
(
response
.
status_code
,
200
)
course_discovery/apps/publisher/urls.py
View file @
7230c386
...
@@ -11,7 +11,7 @@ urlpatterns = [
...
@@ -11,7 +11,7 @@ urlpatterns = [
url
(
r'^courses/$'
,
views
.
CourseListView
.
as_view
(),
name
=
'publisher_courses'
),
url
(
r'^courses/$'
,
views
.
CourseListView
.
as_view
(),
name
=
'publisher_courses'
),
url
(
r'^courses/new/$'
,
views
.
CreateCourseView
.
as_view
(),
name
=
'publisher_courses_new'
),
url
(
r'^courses/new/$'
,
views
.
CreateCourseView
.
as_view
(),
name
=
'publisher_courses_new'
),
url
(
r'^courses/(?P<pk>\d+)/$'
,
views
.
CourseDetailView
.
as_view
(),
name
=
'publisher_course_detail'
),
url
(
r'^courses/(?P<pk>\d+)/$'
,
views
.
CourseDetailView
.
as_view
(),
name
=
'publisher_course_detail'
),
url
(
r'^courses/(?P<pk>\d+)/edit/$'
,
views
.
UpdateCourse
View
.
as_view
(),
name
=
'publisher_courses_edit'
),
url
(
r'^courses/(?P<pk>\d+)/edit/$'
,
views
.
CourseEdit
View
.
as_view
(),
name
=
'publisher_courses_edit'
),
url
(
url
(
r'^courses/(?P<parent_course_id>\d+)/course_runs/new/$'
,
r'^courses/(?P<parent_course_id>\d+)/course_runs/new/$'
,
views
.
CreateCourseRunView
.
as_view
(),
views
.
CreateCourseRunView
.
as_view
(),
...
...
course_discovery/apps/publisher/views.py
View file @
7230c386
...
@@ -239,11 +239,11 @@ class CreateCourseView(mixins.LoginRequiredMixin, mixins.PublisherUserRequiredMi
...
@@ -239,11 +239,11 @@ class CreateCourseView(mixins.LoginRequiredMixin, mixins.PublisherUserRequiredMi
return
render
(
request
,
self
.
template_name
,
ctx
,
status
=
400
)
return
render
(
request
,
self
.
template_name
,
ctx
,
status
=
400
)
class
UpdateCourse
View
(
mixins
.
PublisherPermissionMixin
,
mixins
.
FormValidMixin
,
UpdateView
):
class
CourseEdit
View
(
mixins
.
PublisherPermissionMixin
,
mixins
.
FormValidMixin
,
UpdateView
):
"""
Update Course
View."""
"""
Course Edit
View."""
model
=
Course
model
=
Course
form_class
=
CourseForm
form_class
=
CourseForm
permission
=
OrganizationExtension
.
VIEW
_COURSE
permission
=
OrganizationExtension
.
EDIT
_COURSE
template_name
=
'publisher/course_form.html'
template_name
=
'publisher/course_form.html'
success_url
=
'publisher:publisher_course_detail'
success_url
=
'publisher:publisher_course_detail'
...
@@ -251,7 +251,7 @@ class UpdateCourseView(mixins.PublisherPermissionMixin, mixins.FormValidMixin, U
...
@@ -251,7 +251,7 @@ class UpdateCourseView(mixins.PublisherPermissionMixin, mixins.FormValidMixin, U
return
reverse
(
self
.
success_url
,
kwargs
=
{
'pk'
:
self
.
object
.
id
})
return
reverse
(
self
.
success_url
,
kwargs
=
{
'pk'
:
self
.
object
.
id
})
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
context
=
super
(
UpdateCourse
View
,
self
)
.
get_context_data
(
**
kwargs
)
context
=
super
(
CourseEdit
View
,
self
)
.
get_context_data
(
**
kwargs
)
context
[
'comment_object'
]
=
self
.
object
context
[
'comment_object'
]
=
self
.
object
return
context
return
context
...
...
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