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
e4819a1b
Commit
e4819a1b
authored
Feb 06, 2013
by
Victor Shnayder
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1452 from MITx/silly/victor/revert-forums-merge
Silly/victor/revert forums merge
parents
b6ec41ca
2af06ef1
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
38 additions
and
229 deletions
+38
-229
common/djangoapps/course_groups/cohorts.py
+0
-16
common/static/coffee/src/discussion/discussion_module_view.coffee
+0
-6
common/static/coffee/src/discussion/views/discussion_thread_view_inline.coffee
+1
-4
common/static/coffee/src/discussion/views/new_post_inline_vew.coffee
+0
-2
common/static/coffee/src/discussion/views/new_post_view.coffee
+1
-9
lms/djangoapps/django_comment_client/base/views.py
+9
-17
lms/djangoapps/django_comment_client/forum/views.py
+16
-84
lms/djangoapps/django_comment_client/utils.py
+1
-1
lms/lib/comment_client/thread.py
+2
-2
lms/static/sass/_discussion.scss
+1
-32
lms/templates/discussion/_filter_dropdown.html
+1
-1
lms/templates/discussion/_new_post.html
+2
-21
lms/templates/discussion/_single_thread.html
+0
-5
lms/templates/discussion/_thread_list_template.html
+1
-1
lms/templates/discussion/_underscore_templates.html
+0
-4
lms/templates/discussion/mustache/_content.mustache
+0
-1
lms/templates/discussion/mustache/_inline_discussion.mustache
+2
-0
lms/templates/discussion/mustache/_inline_thread.mustache
+1
-0
lms/templates/discussion/mustache/_inline_thread_cohorted.mustache
+0
-23
No files found.
common/djangoapps/course_groups/cohorts.py
View file @
e4819a1b
...
...
@@ -64,23 +64,7 @@ def is_commentable_cohorted(course_id, commentable_id):
ans
))
return
ans
def
get_cohorted_commentables
(
course_id
):
"""
Given a course_id return a list of strings representing cohorted commentables
"""
course
=
courses
.
get_course_by_id
(
course_id
)
if
not
course
.
is_cohorted
:
# this is the easy case :)
ans
=
[]
else
:
ans
=
course
.
cohorted_discussions
return
ans
def
get_cohort
(
user
,
course_id
):
"""
Given a django User and a course_id, return the user's cohort in that
...
...
common/static/coffee/src/discussion/discussion_module_view.coffee
View file @
e4819a1b
...
...
@@ -73,13 +73,7 @@ if Backbone?
# $elem.html("Hide Discussion")
@
discussion
=
new
Discussion
()
@
discussion
.
reset
(
response
.
discussion_data
,
{
silent
:
false
})
#use same discussion template but different thread templated
#determined in the coffeescript based on whether or not there's a
#group id
$discussion
=
$
(
Mustache
.
render
$
(
"script#_inline_discussion"
).
html
(),
{
'threads'
:
response
.
discussion_data
,
'discussionId'
:
discussionId
,
'allow_anonymous_to_peers'
:
allow_anonymous_to_peers
,
'allow_anonymous'
:
allow_anonymous
})
if
@
$
(
'section.discussion'
).
length
@
$
(
'section.discussion'
).
replaceWith
(
$discussion
)
else
...
...
common/static/coffee/src/discussion/views/discussion_thread_view_inline.coffee
View file @
e4819a1b
...
...
@@ -16,10 +16,7 @@ if Backbone?
@
$delegateElement
=
@
$local
render
:
->
if
@
model
.
has
(
'group_id'
)
@
template
=
DiscussionUtil
.
getTemplate
(
"_inline_thread_cohorted"
)
else
@
template
=
DiscussionUtil
.
getTemplate
(
"_inline_thread"
)
@
template
=
DiscussionUtil
.
getTemplate
(
"_inline_thread"
)
if
not
@
model
.
has
(
'abbreviatedBody'
)
@
abbreviateBody
()
...
...
common/static/coffee/src/discussion/views/new_post_inline_vew.coffee
View file @
e4819a1b
...
...
@@ -25,7 +25,6 @@ if Backbone?
event
.
preventDefault
()
title
=
@
$
(
".new-post-title"
).
val
()
body
=
@
$
(
".new-post-body"
).
find
(
".wmd-input"
).
val
()
group
=
@
$
(
".new-post-group option:selected"
).
attr
(
"value"
)
# TODO tags: commenting out til we know what to do with them
#tags = @$(".new-post-tags").val()
...
...
@@ -46,7 +45,6 @@ if Backbone?
data
:
title
:
title
body
:
body
group_id
:
group
# TODO tags: commenting out til we know what to do with them
#tags: tags
...
...
common/static/coffee/src/discussion/views/new_post_view.coffee
View file @
e4819a1b
...
...
@@ -14,9 +14,8 @@ if Backbone?
@
setSelectedTopic
()
DiscussionUtil
.
makeWmdEditor
@
$el
,
$
.
proxy
(
@
$
,
@
),
"new-post-body"
@
$
(
".new-post-tags"
).
tagsInput
DiscussionUtil
.
tagsInputOptions
()
events
:
"submit .new-post-form"
:
"createPost"
"click .topic_dropdown_button"
:
"toggleTopicDropdown"
...
...
@@ -66,11 +65,6 @@ if Backbone?
@
topicText
=
@
getFullTopicName
(
$target
)
@
topicId
=
$target
.
data
(
'discussion_id'
)
@
setSelectedTopic
()
if
$target
.
attr
(
'cohorted'
)
==
"True"
$
(
'.choose-cohort'
).
show
();
else
$
(
'.choose-cohort'
).
hide
();
setSelectedTopic
:
->
@
dropdownButton
.
html
(
@
fitName
(
@
topicText
)
+
' <span class="drop-arrow">▾</span>'
)
...
...
@@ -122,7 +116,6 @@ if Backbone?
title
=
@
$
(
".new-post-title"
).
val
()
body
=
@
$
(
".new-post-body"
).
find
(
".wmd-input"
).
val
()
tags
=
@
$
(
".new-post-tags"
).
val
()
group
=
@
$
(
".new-post-group option:selected"
).
attr
(
"value"
)
anonymous
=
false
||
@
$
(
"input.discussion-anonymous"
).
is
(
":checked"
)
anonymous_to_peers
=
false
||
@
$
(
"input.discussion-anonymous-to-peers"
).
is
(
":checked"
)
...
...
@@ -144,7 +137,6 @@ if Backbone?
anonymous
:
anonymous
anonymous_to_peers
:
anonymous_to_peers
auto_subscribe
:
follow
group_id
:
group
error
:
DiscussionUtil
.
formErrorHandler
(
@
$
(
".new-post-form-errors"
))
success
:
(
response
,
textStatus
)
=>
# TODO: Move this out of the callback, this makes it feel sluggish
...
...
lms/djangoapps/django_comment_client/base/views.py
View file @
e4819a1b
...
...
@@ -91,31 +91,23 @@ def create_thread(request, course_id, commentable_id):
'user_id'
:
request
.
user
.
id
,
})
user
=
cc
.
User
.
from_django_user
(
request
.
user
)
#kevinchugh because the new requirement is that all groups will be determined
#by the group id in the request this all goes away
# 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
(
request
.
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'
)
if
group_id
:
thread
.
update_attributes
(
group_id
=
group_id
)
log
.
debug
(
"Saving thread
%
r"
,
thread
.
attributes
)
thread
.
save
()
group_id
=
user_group_id
thread
.
update_attributes
(
group_id
=
group_id
)
thread
.
save
()
if
post
.
get
(
'auto_subscribe'
,
'false'
)
.
lower
()
==
'true'
:
user
=
cc
.
User
.
from_django_user
(
request
.
user
)
user
.
follow
(
thread
)
...
...
lms/djangoapps/django_comment_client/forum/views.py
View file @
e4819a1b
...
...
@@ -11,12 +11,12 @@ from django.contrib.auth.models import User
from
mitxmako.shortcuts
import
render_to_response
,
render_to_string
from
courseware.courses
import
get_course_with_access
from
course_groups.cohorts
import
is_course_cohorted
,
get_cohort_id
,
is_commentable_cohorted
,
get_cohorted_commentables
,
get_cohort
,
get_course_cohorts
,
get_cohort_by_id
from
course_groups.cohorts
import
get_cohort_id
from
courseware.access
import
has_access
from
urllib
import
urlencode
from
operator
import
methodcaller
from
django_comment_client.permissions
import
check_permissions_by_view
,
cached_has_permission
from
django_comment_client.permissions
import
check_permissions_by_view
from
django_comment_client.utils
import
(
merge_dict
,
extract
,
strip_none
,
strip_blank
,
get_courseware_context
)
...
...
@@ -50,22 +50,20 @@ def get_threads(request, course_id, discussion_id=None, per_page=THREADS_PER_PAG
if
not
request
.
GET
.
get
(
'sort_key'
):
# If the user did not select a sort key, use their last used sort key
cc_
user
=
cc
.
User
.
from_django_user
(
request
.
user
)
cc_
user
.
retrieve
()
user
=
cc
.
User
.
from_django_user
(
request
.
user
)
user
.
retrieve
()
# TODO: After the comment service is updated this can just be user.default_sort_key because the service returns the default value
default_query_params
[
'sort_key'
]
=
cc_
user
.
get
(
'default_sort_key'
)
or
default_query_params
[
'sort_key'
]
default_query_params
[
'sort_key'
]
=
user
.
get
(
'default_sort_key'
)
or
default_query_params
[
'sort_key'
]
else
:
# If the user clicked a sort key, update their default sort key
cc_
user
=
cc
.
User
.
from_django_user
(
request
.
user
)
cc_
user
.
default_sort_key
=
request
.
GET
.
get
(
'sort_key'
)
cc_
user
.
save
()
user
=
cc
.
User
.
from_django_user
(
request
.
user
)
user
.
default_sort_key
=
request
.
GET
.
get
(
'sort_key'
)
user
.
save
()
#if the course-user is cohorted, then add the group id
group_id
=
get_cohort_id
(
request
.
user
,
course_id
)
#if you're an instructor, show everything
if
group_id
and
not
cached_has_permission
(
request
.
user
,
"see_all_cohorts"
,
course_id
):
group_id
=
get_cohort_id
(
user
,
course_id
)
if
group_id
:
default_query_params
[
"group_id"
]
=
group_id
query_params
=
merge_dict
(
default_query_params
,
...
...
@@ -75,16 +73,6 @@ def get_threads(request, course_id, discussion_id=None, per_page=THREADS_PER_PAG
'tags'
,
'commentable_ids'
])))
threads
,
page
,
num_pages
=
cc
.
Thread
.
search
(
query_params
)
#now add the group name if the thread has a group id
for
thread
in
threads
:
if
thread
.
get
(
'group_id'
):
thread
[
'group_name'
]
=
get_cohort_by_id
(
course_id
,
thread
.
get
(
'group_id'
))
.
name
thread
[
'group_string'
]
=
"This post visible only to Group
%
s."
%
(
thread
[
'group_name'
])
else
:
thread
[
'group_name'
]
=
""
thread
[
'group_string'
]
=
"This post visible to everyone."
query_params
[
'page'
]
=
page
query_params
[
'num_pages'
]
=
num_pages
...
...
@@ -93,7 +81,6 @@ def get_threads(request, course_id, discussion_id=None, per_page=THREADS_PER_PAG
def
inline_discussion
(
request
,
course_id
,
discussion_id
):
"""
Renders JSON for DiscussionModules
"""
...
...
@@ -102,8 +89,7 @@ def inline_discussion(request, course_id, discussion_id):
try
:
threads
,
query_params
=
get_threads
(
request
,
course_id
,
discussion_id
,
per_page
=
INLINE_THREADS_PER_PAGE
)
cc_user
=
cc
.
User
.
from_django_user
(
request
.
user
)
user_info
=
cc_user
.
to_dict
()
user_info
=
cc
.
User
.
from_django_user
(
request
.
user
)
.
to_dict
()
except
(
cc
.
utils
.
CommentClientError
,
cc
.
utils
.
CommentClientUnknownError
)
as
err
:
# TODO (vshnayder): since none of this code seems to be aware of the fact that
# sometimes things go wrong, I suspect that the js client is also not
...
...
@@ -115,39 +101,7 @@ def inline_discussion(request, course_id, discussion_id):
allow_anonymous
=
course
.
metadata
.
get
(
"allow_anonymous"
,
True
)
allow_anonymous_to_peers
=
course
.
metadata
.
get
(
"allow_anonymous_to_peers"
,
False
)
#since inline is all one commentable, only show or allow the choice of cohorts
#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
)
cohorts_list
=
list
()
if
is_cohorted
:
#if you're a mod, send all cohorts and let you pick
if
cached_has_permission
(
request
.
user
,
"see_all_cohorts"
,
course_id
):
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
cohorts_list
.
append
({
'name'
:
'All Groups'
,
'id'
:
None
})
if
user_cohort
:
cohorts_list
.
append
({
'name'
:
user_cohort_name
,
'id'
:
user_cohort_id
})
else
:
cohorts_list
=
None
return
utils
.
JsonResponse
({
'discussion_data'
:
map
(
utils
.
safe_content
,
threads
),
'user_info'
:
user_info
,
...
...
@@ -157,14 +111,11 @@ def inline_discussion(request, course_id, discussion_id):
'roles'
:
utils
.
get_role_ids
(
course_id
),
'allow_anonymous_to_peers'
:
allow_anonymous_to_peers
,
'allow_anonymous'
:
allow_anonymous
,
'cohorts'
:
cohorts_list
,
'is_cohorted'
:
is_cohorted
})
@login_required
def
forum_form_discussion
(
request
,
course_id
):
"""
Renders the main Discussion page, potentially filtered by a search query
"""
...
...
@@ -178,8 +129,7 @@ def forum_form_discussion(request, course_id):
log
.
error
(
"Error loading forum discussion threads:
%
s"
%
str
(
err
))
raise
Http404
user
=
cc
.
User
.
from_django_user
(
request
.
user
)
user_info
=
user
.
to_dict
()
user_info
=
cc
.
User
.
from_django_user
(
request
.
user
)
.
to_dict
()
annotated_content_info
=
utils
.
get_metadata_for_threads
(
course_id
,
threads
,
request
.
user
,
user_info
)
...
...
@@ -204,10 +154,6 @@ def forum_form_discussion(request, course_id):
#trending_tags = cc.search_trending_tags(
# course_id,
#)
cohorts
=
get_course_cohorts
(
course_id
)
cohorted_commentables
=
get_cohorted_commentables
(
course_id
)
user_cohort_id
=
get_cohort_id
(
request
.
user
,
course_id
)
context
=
{
'csrf'
:
csrf
(
request
)[
'csrf_token'
],
...
...
@@ -222,11 +168,6 @@ def forum_form_discussion(request, course_id):
'course_id'
:
course
.
id
,
'category_map'
:
category_map
,
'roles'
:
saxutils
.
escape
(
json
.
dumps
(
utils
.
get_role_ids
(
course_id
)),
escapedict
),
'is_moderator'
:
cached_has_permission
(
request
.
user
,
"see_all_cohorts"
,
course_id
),
'cohorts'
:
cohorts
,
'user_cohort'
:
user_cohort_id
,
'cohorted_commentables'
:
cohorted_commentables
,
'is_course_cohorted'
:
is_course_cohorted
(
course_id
)
}
# print "start rendering.."
return
render_to_response
(
'discussion/index.html'
,
context
)
...
...
@@ -234,6 +175,7 @@ def forum_form_discussion(request, course_id):
@login_required
def
single_thread
(
request
,
course_id
,
discussion_id
,
thread_id
):
course
=
get_course_with_access
(
request
.
user
,
course_id
,
'load'
)
cc_user
=
cc
.
User
.
from_django_user
(
request
.
user
)
user_info
=
cc_user
.
to_dict
()
...
...
@@ -247,7 +189,7 @@ def single_thread(request, course_id, discussion_id, thread_id):
if
request
.
is_ajax
():
courseware_context
=
get_courseware_context
(
thread
,
course
)
annotated_content_info
=
utils
.
get_annotated_content_infos
(
course_id
,
thread
,
request
.
user
,
user_info
=
user_info
)
context
=
{
'thread'
:
thread
.
to_dict
(),
'course_id'
:
course_id
}
# TODO: Remove completely or switch back to server side rendering
...
...
@@ -277,8 +219,6 @@ def single_thread(request, course_id, discussion_id, thread_id):
courseware_context
=
get_courseware_context
(
thread
,
course
)
if
courseware_context
:
thread
.
update
(
courseware_context
)
if
thread
.
get
(
'group_id'
)
and
not
thread
.
get
(
'group_name'
):
thread
[
'group_name'
]
=
get_cohort_by_id
(
course_id
,
thread
.
get
(
'group_id'
))
.
name
threads
=
[
utils
.
safe_content
(
thread
)
for
thread
in
threads
]
...
...
@@ -292,11 +232,8 @@ def single_thread(request, course_id, discussion_id, thread_id):
# course_id,
#)
annotated_content_info
=
utils
.
get_metadata_for_threads
(
course_id
,
threads
,
request
.
user
,
user_info
)
cohorts
=
get_course_cohorts
(
course_id
)
cohorted_commentables
=
get_cohorted_commentables
(
course_id
)
user_cohort
=
get_cohort_id
(
request
.
user
,
course_id
)
context
=
{
'discussion_id'
:
discussion_id
,
...
...
@@ -313,11 +250,6 @@ def single_thread(request, course_id, discussion_id, thread_id):
'category_map'
:
category_map
,
'roles'
:
saxutils
.
escape
(
json
.
dumps
(
utils
.
get_role_ids
(
course_id
)),
escapedict
),
'thread_pages'
:
query_params
[
'num_pages'
],
'is_course_cohorted'
:
is_course_cohorted
(
course_id
),
'is_moderator'
:
cached_has_permission
(
request
.
user
,
"see_all_cohorts"
,
course_id
),
'cohorts'
:
cohorts
,
'user_cohort'
:
get_cohort_id
(
request
.
user
,
course_id
),
'cohorted_commentables'
:
cohorted_commentables
}
return
render_to_response
(
'discussion/single_thread.html'
,
context
)
...
...
lms/djangoapps/django_comment_client/utils.py
View file @
e4819a1b
...
...
@@ -406,7 +406,7 @@ def safe_content(content):
'updated_at'
,
'depth'
,
'type'
,
'commentable_id'
,
'comments_count'
,
'at_position_list'
,
'children'
,
'highlighted_title'
,
'highlighted_body'
,
'courseware_title'
,
'courseware_url'
,
'tags'
,
'unread_comments_count'
,
'read'
,
'group_id'
,
'group_name'
,
'group_string'
'read'
,
]
if
(
content
.
get
(
'anonymous'
)
is
False
)
and
(
content
.
get
(
'anonymous_to_peers'
)
is
False
):
...
...
lms/lib/comment_client/thread.py
View file @
e4819a1b
...
...
@@ -11,12 +11,12 @@ class Thread(models.Model):
'closed'
,
'tags'
,
'votes'
,
'commentable_id'
,
'username'
,
'user_id'
,
'created_at'
,
'updated_at'
,
'comments_count'
,
'unread_comments_count'
,
'at_position_list'
,
'children'
,
'type'
,
'highlighted_title'
,
'highlighted_body'
,
'endorsed'
,
'read'
,
'group_id'
,
'group_name'
'highlighted_body'
,
'endorsed'
,
'read'
,
'group_id'
]
updatable_fields
=
[
'title'
,
'body'
,
'anonymous'
,
'anonymous_to_peers'
,
'course_id'
,
'closed'
,
'tags'
,
'user_id'
,
'commentable_id'
,
'group_id'
,
'group_name'
'closed'
,
'tags'
,
'user_id'
,
'commentable_id'
,
'group_id'
]
initializable_fields
=
updatable_fields
...
...
lms/static/sass/_discussion.scss
View file @
e4819a1b
...
...
@@ -169,12 +169,6 @@ body.discussion {
}
}
.form-group-label
{
display
:
block
;
padding-top
:
5px
;
color
:
#fff
;
}
.topic_dropdown_button
{
position
:
relative
;
z-index
:
1000
;
...
...
@@ -187,7 +181,7 @@ body.discussion {
.drop-arrow
{
float
:
right
;
color
:
#999
;
line-height
:
3
7
px
;
line-height
:
3
6
px
;
}
}
...
...
@@ -1026,18 +1020,6 @@ body.discussion {
}
}
.group-filter-label
{
width
:
40px
;
margin-left
:
10px
;
}
.group-filter-select
{
margin
:
5px
0px
5px
5px
;
width
:
80px
;
font-size
:
10px
;
background
:
transparent
;
border-color
:
#ccc
;
}
}
.post-list-wrapper
{
...
...
@@ -1345,8 +1327,6 @@ body.discussion {
margin-left
:
40px
;
}
.post-tools
{
@include
clearfix
;
margin-top
:
15px
;
...
...
@@ -1377,8 +1357,6 @@ body.discussion {
margin-bottom
:
20px
;
}
.responses
{
list-style
:
none
;
margin-top
:
40px
;
...
...
@@ -2434,11 +2412,3 @@ body.discussion {
.discussion-user-threads
{
@extend
.discussion-module
}
.group-visibility-label
{
font-size
:
12px
;
color
:
#000
;
font-style
:
italic
;
background-color
:
#fff
;
}
\ No newline at end of file
lms/templates/discussion/_filter_dropdown.html
View file @
e4819a1b
...
...
@@ -30,7 +30,7 @@
<ul
class=
"browse-topic-drop-menu"
>
<li>
<a
href=
"#"
>
<span
class=
"board-name"
data-discussion_id=
'#all'
>
Show All Discussions
</span>
<span
class=
"board-name"
data-discussion_id=
'#all'
>
All
</span>
</a>
</li>
<li>
...
...
lms/templates/discussion/_new_post.html
View file @
e4819a1b
...
...
@@ -9,7 +9,7 @@
</
%
def>
<
%
def
name=
"render_entry(entries, entry)"
>
<li><a
href=
"#"
class=
"topic"
data-discussion_id=
"${entries[entry]['id']}"
cohorted =
"${entries[entry]['id'] in cohorted_commentables}"
>
${entry}
</a></li>
<li><a
href=
"#"
class=
"topic"
data-discussion_id=
"${entries[entry]['id']}"
>
${entry}
</a></li>
</
%
def>
<
%
def
name=
"render_category(categories, category)"
>
...
...
@@ -21,14 +21,13 @@
</li>
</
%
def>
<article
class=
"new-post-article"
>
<div
class=
"inner-wrapper"
>
<form
class=
"new-post-form"
>
<div
class=
"left-column"
>
<label>
Create new post about:
</label>
<div
class=
"form-topic-drop"
>
<a
href=
"#"
class=
"topic_dropdown_button"
>
Show All Discussions
<span
class=
"drop-arrow"
>
▾
</span></a>
<a
href=
"#"
class=
"topic_dropdown_button"
>
All
<span
class=
"drop-arrow"
>
▾
</span></a>
<div
class=
"topic_menu_wrapper"
>
<div
class=
"topic_menu_search"
>
<input
type=
"text"
class=
"form-topic-drop-search-input"
placeholder=
"filter topics"
>
...
...
@@ -46,24 +45,6 @@
%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:
<div
class=
"form-group-label choose-cohort"
style =
"display:none"
>
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>
%endif
%endif
</select>
</div>
%endif
</div>
</div>
<div
class=
"right-column"
>
...
...
lms/templates/discussion/_single_thread.html
View file @
e4819a1b
...
...
@@ -4,12 +4,7 @@
<article
class=
"discussion-article"
data-id=
"${discussion_id| h}"
>
<a
href=
"#"
class=
"dogear"
></a>
<div
class=
"discussion-post"
>
<header>
%if thread['group_id']
<div
class=
"group-visibility-label"
>
This post visible only to group ${cohort_dictionary[thread['group_id']]}.
</div>
%endif
<a
href=
"#"
class=
"vote-btn discussion-vote discussion-vote-up"
><span
class=
"plus-icon"
>
+
</span>
<span
class=
'votes-count-number'
>
${thread['votes']['up_count']}
</span></a>
<h1>
${thread['title']}
</h1>
<p
class=
"posted-details"
>
...
...
lms/templates/discussion/_thread_list_template.html
View file @
e4819a1b
...
...
@@ -2,7 +2,7 @@
<
div
class
=
"browse-search"
>
<
div
class
=
"browse is-open"
>
<
a
href
=
"#"
class
=
"browse-topic-drop-icon"
><
/a
>
<
a
href
=
"#"
class
=
"browse-topic-drop-btn"
><
span
class
=
"current-board"
>
Show
All
Discussions
<
/span> <span class="drop-arrow">▾</
span
><
/a
>
<
a
href
=
"#"
class
=
"browse-topic-drop-btn"
><
span
class
=
"current-board"
>
All
<
/span> <span class="drop-arrow">▾</
span
><
/a
>
<
/div
>
<%
include
file
=
"_filter_dropdown.html"
/>
<
div
class
=
"search"
>
...
...
lms/templates/discussion/_underscore_templates.html
View file @
e4819a1b
...
...
@@ -26,10 +26,6 @@
<
div
class
=
"discussion-post"
>
<
div
><
a
href
=
"javascript:void(0)"
class
=
"dogear action-follow"
data
-
tooltip
=
"follow"
><
/a></
div
>
<
header
>
$
{
"<% if (obj.group_id) { %>"
}
<
div
class
=
"group-visibility-label"
>
$
{
"<%- obj.group_string%>"
}
<
/div
>
$
{
"<% } %>"
}
<
a
href
=
"#"
class
=
"vote-btn discussion-vote discussion-vote-up"
data
-
role
=
"discussion-vote"
data
-
tooltip
=
"vote"
><
span
class
=
"plus-icon"
>+<
/span> <span class='votes-count-number'>${'<%- votes
[
"up_count"
]
%>'}</
span
><
/a
>
<
h1
>
$
{
'<%- title %>'
}
<
/h1
>
<
p
class
=
"posted-details"
>
...
...
lms/templates/discussion/mustache/_content.mustache
View file @
e4819a1b
<div
class=
"discussion-content local
{{#
content
.
roles
}}
role-
{{
name
}}{{/
content
.
roles
}}
"
>
CONTENT MUSTACHE
<div
class=
"discussion-content-wrapper"
>
<div
class=
"discussion-votes"
>
<a
class=
"discussion-vote discussion-vote-up"
href=
"javascript:void(0)"
value=
"up"
>
▲
</a>
...
...
lms/templates/discussion/mustache/_inline_discussion.mustache
View file @
e4819a1b
<section
class=
"discussion"
data-discussion-id=
"
{{
discussionId
}}
"
>
<article
class=
"new-post-article"
>
<span
class=
"topic"
data-discussion-id=
"
{{
discussionId
}}
"
/>
<div
class=
"inner-wrapper"
>
...
...
lms/templates/discussion/mustache/_inline_thread.mustache
View file @
e4819a1b
<article
class=
"discussion-article"
data-id=
"
{{
id
}}
"
>
<div
class=
"thread-content-wrapper"
></div>
<ol
class=
"responses post-extended-content"
>
...
...
lms/templates/discussion/mustache/_inline_thread_cohorted.mustache
deleted
100644 → 0
View file @
b6ec41ca
<article
class=
"discussion-article"
data-id=
"
{{
id
}}
"
>
<div
class=
"group-visibility-label"
>
{{
group_string
}}
</div>
<div
class=
"thread-content-wrapper"
></div>
<ol
class=
"responses post-extended-content"
>
<li
class=
"loading"
><div
class=
"loading-animation"
></div></li>
</ol>
<form
class=
"local discussion-reply-new post-extended-content"
data-id=
"
{{
id
}}
"
>
<h4>
Post a response:
</h4>
<ul
class=
"discussion-errors"
></ul>
<div
class=
"reply-body"
data-id=
"
{{
id
}}
"
></div>
<div
class=
"reply-post-control"
>
<a
class=
"discussion-submit-post control-button"
href=
"#"
>
Submit
</a>
</div>
</form>
<div
class=
"local post-tools"
>
<a
href=
"javascript:void(0)"
class=
"expand-post"
>
View discussion
</a>
<a
href=
"javascript:void(0)"
class=
"collapse-post"
>
Hide discussion
</a>
</div>
</article>
\ No newline at end of file
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