Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
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
edx-platform
Commits
310ecead
Commit
310ecead
authored
Mar 01, 2013
by
Victor Shnayder
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1582 from MITx/feature/kevin/cohorts_take_3
Feature/kevin/cohorts take 3
parents
c236b2c8
e1ef6a83
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
24 additions
and
34 deletions
+24
-34
common/static/coffee/src/discussion/discussion_module_view.coffee
+1
-1
lms/djangoapps/django_comment_client/base/views.py
+9
-8
lms/djangoapps/django_comment_client/forum/views.py
+7
-15
lms/templates/discussion/_new_post.html
+7
-10
No files found.
common/static/coffee/src/discussion/discussion_module_view.coffee
View file @
310ecead
...
...
@@ -79,7 +79,7 @@ if Backbone?
#determined in the coffeescript based on whether or not there's a
#group id
if
response
.
is_cohorted
if
response
.
is_cohorted
and
response
.
is_moderator
source
=
"script#_inline_discussion_cohorted"
else
source
=
"script#_inline_discussion"
...
...
lms/djangoapps/django_comment_client/base/views.py
View file @
310ecead
...
...
@@ -96,24 +96,25 @@ def create_thread(request, course_id, commentable_id):
#kevinchugh because the new requirement is that all groups will be determined
#by the group id in the request this all goes away
#not anymore, only for admins
# Cohort the thread if the commentable is cohorted.
#if is_commentable_cohorted(course_id, commentable_id):
# user_group_id = get_cohort_id(user, course_id)
if
is_commentable_cohorted
(
course_id
,
commentable_id
):
user_group_id
=
get_cohort_id
(
user
,
course_id
)
# TODO (vshnayder): once we have more than just cohorts, we'll want to
# change this to a single get_group_for_user_and_commentable function
# that can do different things depending on the commentable_id
#
if cached_has_permission(request.user, "see_all_cohorts", course_id):
if
cached_has_permission
(
request
.
user
,
"see_all_cohorts"
,
course_id
):
# admins can optionally choose what group to post as
#
group_id = post.get('group_id', user_group_id)
#
else:
group_id
=
post
.
get
(
'group_id'
,
user_group_id
)
else
:
# regular users always post with their own id.
#
group_id = user_group_id
group_id
=
post
.
get
(
'group_id'
)
group_id
=
user_group_id
if
group_id
:
thread
.
update_attributes
(
group_id
=
group_id
)
log
.
debug
(
"Saving thread
%
r"
,
thread
.
attributes
)
thread
.
save
()
if
post
.
get
(
'auto_subscribe'
,
'false'
)
.
lower
()
==
'true'
:
...
...
lms/djangoapps/django_comment_client/forum/views.py
View file @
310ecead
...
...
@@ -133,32 +133,23 @@ def inline_discussion(request, course_id, discussion_id):
#if the commentable is cohorted, otherwise everything is not cohorted
#and no one has the option of choosing a cohort
is_cohorted
=
is_course_cohorted
(
course_id
)
and
is_commentable_cohorted
(
course_id
,
discussion_id
)
is_moderator
=
cached_has_permission
(
request
.
user
,
"see_all_cohorts"
,
course_id
)
cohorts_list
=
list
()
if
is_cohorted
:
cohorts_list
.
append
({
'name'
:
'All Groups'
,
'id'
:
None
})
#if you're a mod, send all cohorts and let you pick
if
cached_has_permission
(
request
.
user
,
"see_all_cohorts"
,
course_id
):
if
is_moderator
:
cohorts
=
get_course_cohorts
(
course_id
)
for
c
in
cohorts
:
cohorts_list
.
append
({
'name'
:
c
.
name
,
'id'
:
c
.
id
})
else
:
#otherwise, just make a dictionary of two
user_cohort
=
get_cohort
(
cc_user
,
course_id
)
if
user_cohort
:
user_cohort_name
=
user_cohort
.
name
user_cohort_id
=
user_cohort
.
id
else
:
user_cohort_name
=
user_cohort_id
=
None
if
user_cohort
:
cohorts_list
.
append
({
'name'
:
user_cohort_name
,
'id'
:
user_cohort_id
})
else
:
cohorts_list
=
None
#students don't get to choose
cohorts_list
=
None
return
utils
.
JsonResponse
({
'discussion_data'
:
map
(
utils
.
safe_content
,
threads
),
...
...
@@ -170,6 +161,7 @@ def inline_discussion(request, course_id, discussion_id):
'allow_anonymous_to_peers'
:
allow_anonymous_to_peers
,
'allow_anonymous'
:
allow_anonymous
,
'cohorts'
:
cohorts_list
,
'is_moderator'
:
is_moderator
,
'is_cohorted'
:
is_cohorted
})
...
...
lms/templates/discussion/_new_post.html
View file @
310ecead
...
...
@@ -46,21 +46,18 @@
%elif course.metadata.get("allow_anonymous_to_peers", False):
<input
type=
"checkbox"
name=
"anonymous_to_peers"
class=
"discussion-anonymous-to-peers"
id=
"new-post-anonymous-to-peers"
><label
for=
"new-post-anonymous-to-peers"
>
post anonymously to classmates
</label>
%endif
%if is_course_cohorted:
%if is_course_cohorted
and is_moderator
:
<div
class=
"form-group-label choose-cohort"
>
Make visible to:
<select
class=
"group-filter-select new-post-group"
name =
"group_id"
>
<option
value=
""
>
All Groups
</option>
%if is_moderator:
%for c in cohorts:
<option
value=
"${c.id}"
>
${c.name}
</option>
%endfor
%else:
%if user_cohort:
<option
value=
"${user_cohort}"
>
My Cohort
</option>
%for c in cohorts:
<option
value=
"${c.id}"
%
if
user_cohort
and
str
(
user_cohort
)
==
str
(
c
.
id
)
:
selected
%
endif
%endif
>
${c.name}
</option>
%endfor
</select>
</div>
%endif
...
...
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